Your UTMs Are Probably a Mess (Here's a Naming Convention That Holds)

Open any analytics dashboard that’s been running campaigns for more than a few months and you’ll usually find the same thing: “google” and “Google” as two separate traffic sources, “email” and “Email” and “e-mail” splitting the same newsletter’s numbers three ways, and a campaign called “promo” that nobody can trace back to which promo. None of that is a tooling problem. It’s a naming problem, and it’s almost always avoidable.

Why UTMs Exist (and What They Actually Do)

A UTM is just a handful of query parameters appended to a URL: utm_source, utm_medium, utm_campaign, and the optional utm_term and utm_content. When someone clicks a tagged link, your analytics tool reads those parameters and files the visit under whatever values you typed in. That’s it. There’s no validation, no dropdown, no autocomplete unless you build one yourself. The system trusts you completely, which is exactly why it breaks: every person who hand types a UTM is one typo away from creating a traffic source that looks distinct to your analytics tool but represents the exact same channel as three other slightly different tags.

utm_source answers where the click came from. utm_medium answers how it got there: cpc, email, social, referral. utm_campaign groups everything under one initiative so you can see its total performance in one place. Get those three right, consistently, and most of what people complain about in “broken” analytics disappears.

The Naming Convention That Actually Holds

The rules that hold up over time are boring on purpose:

  1. Lowercase, always. Analytics platforms treat Google and google as different values. Pick lowercase and never deviate, so nobody has to remember which capitalization is “correct” this month.
  2. Underscores or hyphens, pick one, never both. fall_promo_2026 and fall-promo-2026 will report as two separate campaigns even though they’re the same thing to a human reading them.
  3. A fixed, short list of medium values. Not “newsletter” one month and “email” the next. Decide on cpc, email, social, referral, and a handful of others, write them down somewhere the whole team can see, and don’t add a new one without updating that list.
  4. Campaign names that encode the date and the initiative. Something like 2026q3_fall_promo sorts chronologically and tells you what it was at a glance, months later, without opening the campaign to remember.

The Mistakes That Quietly Break Your Reports

Most broken attribution isn’t caused by one dramatic error. It’s a slow accumulation of small inconsistencies:

  • Case drift. One team member types Newsletter, another types newsletter. Now your “email” channel is split in two and both halves look smaller than they are.
  • Medium values that don’t match your analytics tool’s channel grouping. GA4 has specific expectations for what counts as “paid search” versus “organic social.” A medium value that doesn’t match its rules can land traffic in “unassigned” instead of the channel you meant.
  • Tagging external links but forgetting internal ones. A UTM-tagged link from your own homepage to your own blog post can overwrite the visitor’s original source with a self-referral, erasing the campaign that actually brought them to the site in the first place.
  • No shared record of what’s already been used. Without a log, someone eventually creates fall_promo when fall_promo_2026 already exists, and now the same initiative is split across two campaign names.

Building the Habit

None of this requires new tooling, just a habit and a single source of truth everyone actually uses before creating a link, not after noticing the report looks wrong. We built a UTM builder that enforces lowercase, keeps a history of what you’ve already tagged, and copies a properly encoded link in one step, specifically so the naming convention isn’t something people have to remember correctly by hand every time.

If your reporting already has this problem, it’s usually not worth reworking history. Fix the convention going forward, document it once, and the fragmentation stops compounding. This is the same discipline that shows up in why AI search readiness is the new baseline: the unglamorous, structural work is almost always what the flashier tactics are quietly depending on. If you’d rather have a second pair of eyes on your current setup, get in touch.