Skip to content
Nosey Parkers
Knowledge Centre
How To Guides1 min read

How to set a UTM naming convention your team will actually follow

A practical UTM governance guide: the parameter rules, the channel mapping table and the enforcement tricks that keep campaign data clean.

Every messy attribution report traces back to the same crime scene: utm_source=Facebook, utm_source=facebook, utm_source=fb and utm_source=meta, all in the same quarter. Four spellings, four rows, one channel. Here's the convention we install at clients — and more importantly, how to make it stick.

The five rules

  1. Lowercase everything, always. GA4 is case-sensitive; humans aren't.
  2. utm_source = the platform (google, meta, linkedin, mailchimp) — never the campaign type.
  3. utm_medium = the mechanism, from a closed list: cpc, paid_social, email, organic_social, affiliate, referral, qr.
  4. utm_campaign = structured slug: {market}_{objective}_{name}_{yyyymm}uk_leadgen_spring-audit_202604.
  5. Underscores within values, hyphens within words. Pick separators once, write them down, never revisit.

Why the closed list matters

GA4's default channel grouping assigns sessions to channels based on source/medium pairs. Invent a creative new medium and your traffic lands in "Unassigned" — the naughty step of analytics. The closed list isn't bureaucracy; it's what keeps your channel report meaning anything.

Enforcement beats documentation

Conventions documented in a PDF die in a fortnight. What survives:

  • A shared link builder (spreadsheet or internal tool) with dropdowns instead of free text — people can't misspell a dropdown.
  • Validation in the warehouse: a scheduled query flags any new source/medium pair not on the approved list and posts it to Slack, with the offending URL.
  • Quarterly amnesty: review the flagged strays, map or kill them, update the list.

Migrating the mess you already have

Don't rewrite history in GA4 — you can't. Instead, build a mapping table in your warehouse (raw_source, raw_mediumclean_channel) and apply it in your transformation layer. Your dashboards read the clean layer; the archaeological record stays intact underneath for auditing.

Thirty minutes of setup, one dropdown sheet, one watchdog query. That's the entire difference between "our channel data is a joke" and "our channel data settles arguments."

Related guides

Ready to see what your data has been trying to tell you?

Book a free discovery call. We'll look at your current setup, tell you what's broken, and show you exactly what better looks like — no obligation, no fluff.