UTM Tracking, Done Properly

Jake Hodges · August 28, 2026

Ask five people on the same marketing team how they tag links and you will get five different answers. That is the whole problem.

UTM parameters are small text tags added to the end of a URL. They tell your analytics tool where a visitor came from. When they are consistent, channel reporting is clean and budget decisions get easier. When they are not, your data turns to soup and nobody trusts the dashboard.

The fix is not complicated. It is a short standard, one owner, and a habit. Here is the full picture.

The five parameters

Every UTM link is built from up to five pieces. Three are essential. Two are useful.

utm_source (required)

Where the click came from. The specific platform, site, or sender. Examples: google, meta, tiktok, newsletter, partner-name.

utm_medium (required)

What kind of traffic it is. The category, not the platform. Examples: cpc for paid clicks, email, paid-social, referral, display.

Source and medium work as a pair. google / cpc is a paid search click. google / organic is a free one. Same source, very different meaning.

utm_campaign (required)

Why the link exists. The initiative or push behind it. Examples: spring-sale, q3-launch, evergreen-prospecting.

utm_term (optional)

Originally built for paid search keywords. Still useful there, and also handy for audience names or keyword themes when the platform does not pass them automatically.

utm_content (optional)

Which version of the thing was clicked. Use it to separate two ads in the same campaign, or the header button from the footer link in one email. Examples: header-cta, footer-cta, video-ad-a.

Put together, a properly tagged URL looks like this:

https://example.com/offer?utm_source=meta&utm_medium=paid-social&utm_campaign=spring-sale&utm_content=video-ad-a

Anyone on the team should be able to read that link and know exactly what it is.

Casing and consistency rules

Analytics tools treat utm_source=Google and utm_source=google as two different sources. One report row becomes two. Two becomes six. Within a quarter your "top channels" view is a pile of near-duplicates that all undercount.

So the rules are strict on purpose:

  • Lowercase everything. Every parameter, every value, every time. No exceptions for brand names.
  • No spaces. A space becomes %20 in the URL and looks broken in reports. Use hyphens or underscores instead, and pick one of the two for the whole company.
  • One value per concept. facebook, meta, and fb are the same source. Pick one spelling and retire the rest.
  • Use standard medium values. Analytics platforms group traffic into channels based on the medium field, and they expect specific values like cpc, email, and referral. Invent a creative medium name and your traffic lands in an "unassigned" bucket.
  • Never tag internal links. A UTM on a link from your homepage to your pricing page overwrites the visitor's real source. The person who arrived from a Google ad now looks like they came from "homepage-banner". Internal tagging quietly rewrites your attribution, which is the reporting that says which channel deserves credit for a sale.

Write the allowed values down. A one-page sheet with your approved sources, mediums, and naming pattern beats a thousand well-intentioned guesses.

Who owns the standard

A standard nobody owns is a suggestion. Suggestions decay.

Assign one person as the owner of the UTM convention. Not a committee. One name. Their job is small but real:

  • Keep the reference sheet current.
  • Approve new values before they enter circulation. A new partner, a new platform, a new campaign naming pattern all go through them.
  • Onboard new hires and outside vendors to the convention on day one. Vendors are the most common source of drift, because every outside team arrives with its own habits.
  • Spot-check reports monthly for values that broke the pattern.

This is a piece of the operational layer we write about across this site. Naming conventions, tracking standards, and reporting hygiene are not glamorous, but they are the difference between a dashboard people argue with and one people act on. If that layer is shaky everywhere, not just in your links, that is what our marketing operations audit exists to untangle.

Where UTMs break

Even a clean standard leaks over time. These are the breakages we find most often:

  • Redirects that strip parameters. A link goes to an old URL, the site redirects it to a new one, and the redirect drops everything after the question mark. The click arrives untagged and shows up as direct traffic.
  • Link shorteners stacked on redirects. Each hop is one more chance to lose the tags. Test the full chain, not just the short link.
  • Email platforms that auto-tag. Many email tools append their own UTMs. If your team also tags manually, the two sets collide and the platform usually wins. Decide which system tags email links and turn the other off.
  • Copy-paste drift. Someone copies a URL from their browser, tags and all, and pastes it into a new campaign. That old spring-sale tag now rides along forever.
  • Paid platform auto-tagging conflicts. Google Ads appends its own click identifier. Run manual UTMs alongside it with mismatched settings and you can end up double-counting or misrouting paid traffic. This is exactly the kind of wiring we check in a paid media audit.
  • Untagged offline URLs. The vanity URL on the trade show banner redirects to your site, but nobody tagged the redirect. Every scan looks like direct traffic.

Auditing the UTMs you already have

You do not need special software to find the damage. You need an afternoon.

  1. Export a source, medium, and campaign report from your analytics for the last twelve months.
  2. Sort it and look for near-duplicates. Values that differ only by case, spelling, or delimiter are the same channel wearing different costumes.
  3. Write the canonical value next to each duplicate. That mapping becomes your cleanup key and the seed of your standard.
  4. Check your landing page report for internal pages carrying UTM parameters. That is internal tagging, and it needs to stop.
  5. Click your own live ads, emails, and social posts. Watch the URL bar the whole way. You are testing the real redirect chain, not the link on paper.
  6. Fix forward. Correct the templates, the saved links, and the vendor instructions. Do not try to rewrite history in your analytics. Note the cleanup date so everyone knows reports before it are messy and reports after it are trustworthy.

If the audit reveals that reporting itself is the bottleneck, that is a build problem, not a discipline problem. Our analytics and reporting builds wire the data so clean numbers show up without anyone assembling them by hand.

Build the links right the first time

We keep a free UTM builder at /tools/utm-builder. It forces lowercase, blocks spaces, and keeps your values consistent, so the standard holds even on a busy Friday.

And if messy links are one symptom of a bigger question, whether your paid media and measurement are set up to be trusted at all, that is what our Performance Audit is for. We trace how data moves from click to report, show you where it breaks, and hand you a prioritized plan you keep either way.

Start with a Diagnostic Call

The operational letter

One useful idea, when we have one.

No schedule, no filler. When we write something worth your inbox, you get it. Unsubscribe any time.

Want this handled instead of read about?