LinkForge

Aug 9, 2026

UTM Naming Conventions That Survive a Team

Knowing what UTM parameters do is the easy half. The hard half is that six months and three people later your report has rows for facebook, Facebook, FB, and fb-ads — four lines that are one channel, and no way to merge them retroactively.

Analytics tools treat those as four distinct sources because UTM values are case-sensitive and matched literally. There is no cleanup pass. The only fix is a convention applied before the link is created.

The rules that matter

1. Lowercase. Always. No exceptions. This single rule prevents most fragmentation. Not Email, not EMAILemail. Make it mechanical so nobody has to think about it.

2. Hyphens, never spaces or underscores. A space becomes %20 and turns your report into unreadable noise. Underscores vanish under link underlining when someone reads a URL aloud or copies it from a slide. Hyphens survive both.

3. Medium is a closed list. This is the rule most teams skip and most regret. utm_medium should be one of a small fixed set that you write down once and never extend casually:

email, social, cpc, affiliate, referral, qr, print, sms

If someone needs a new medium, that's a conversation, not a free-text field. Medium is what your channel reporting groups by, so an unplanned value silently creates an orphan channel.

4. Source is the specific platform. Where the click physically came from: instagram, newsletter, partner-name. One level more specific than medium, and also drawn from a list you maintain.

5. Campaign is the thing you're promoting, plus when. spring-sale-2026, webinar-march. Include a date component whenever the campaign could recur, because next year's version will otherwise merge into this year's numbers.

6. Content is the variant. This is the field that makes testing possible — hero-button against footer-link, subject-a against subject-b. Same campaign, same source, different placement. If you never fill this in, you can never answer which creative worked.

7. Term is for paid keywords, and usually stays empty. It exists for paid search. Leave it out rather than repurposing it for something else — repurposed fields are how conventions rot.

A worked example

One campaign, four placements, tagged consistently. Campaign stays spring-sale-2026 across all four; only source, medium and content move:

  • Newsletter header — source newsletter, medium email, content header
  • Newsletter footer — source newsletter, medium email, content footer
  • Instagram story — source instagram, medium social, content story-1
  • Printed flyer QR — source flyer, medium print, content qr-a5

Every one of those rolls up cleanly by medium, by source, or by campaign — and the content value tells you which specific placement earned it. The two newsletter rows are the point: same email, same campaign, and you can still tell the header from the footer.

The mistake that corrupts everything

Never put UTM parameters on internal links — links from one page of your site to another page of your site. It's the most damaging UTM error and it looks harmless.

A UTM-tagged link tells your analytics a new visit from a new source has started. Tagging an internal link therefore ends the visitor's real session and starts a fresh one attributed to whatever you typed. The original source — the ad, the newsletter, the search — is overwritten and gone. You lose the attribution you built the tagging system to capture, and the damage is invisible until you try to trace a conversion back.

UTMs are for traffic arriving from outside. Internal navigation needs no tags at all.

Write it down

A convention that lives in one person's head is not a convention. Keep a shared sheet with two tabs: the permitted values for source and medium, and a log of every campaign name used. It takes minutes to maintain and it is the difference between reports that aggregate and reports that fragment.

Then make the tagging itself mechanical, so the convention is applied rather than remembered. Build tagged links with the UTM builder — it's free, needs no account, and runs entirely in your browser.

Track every click, free

Unlimited short links with real-time analytics.

Create free account