Attribution & Measurement

UTM parameters: the complete guide to tags that don’t break your reporting

UTMs are simple until three people tag links three different ways and your channel report turns to soup. Here’s the full spec — the five parameters, a naming convention, and the audit that keeps it clean.

Jamie IsabelJune 25, 20267 min read

Nine times out of ten, “our attribution is broken” isn’t an attribution problem. It’s a UTM problem. Someone tagged a campaign Facebook, someone else tagged it fb, a third person fat-fingered a trailing space — and now your channel report shows three different sources that are all, in fact, the same source. No tool fixes that. A convention does.

The five parameters

A UTM is just five labels you bolt onto a link so analytics knows where the click came from:

  • utm_source — the specific platform: google, facebook, newsletter.
  • utm_medium — the channel type: cpc, paid_social, email.
  • utm_campaign — the campaign name, ideally dated so it sorts.
  • utm_content — the specific ad or link variant, for clean A/B reads.
  • utm_term — the keyword, mostly for manual paid-search tagging.

The rule that prevents most bugs

A convention you can paste into a doc

Write it down, share it, and link it from wherever people build URLs. A compact version that scales:

utm naming convention
-- lowercase, no spaces, values from a fixed list
?utm_source=facebook        // the platform
&utm_medium=paid_social      // the channel type
&utm_campaign=2026-q3_retargeting   // dated, so it sorts
&utm_content=carousel_v2     // the variant

Good tags vs broken tags

BrokenWhat it costs youFixed
utm_source=FacebookCasing splits one source into twoutm_source=facebook
utm_medium=socialCan’t separate paid from organicutm_medium=paid_social
utm_campaign=Summer SaleThe space breaks the URLutm_campaign=2026-summer_sale
(paid link, no tag)Lands in “direct” — credit vanishestag every paid placement
Every broken row is a real one we’ve watched turn a clean channel report to soup.

The 20-minute audit

Run this on any account you inherit before you trust a single channel number:

  1. List every distinct source / medium and hunt for near-duplicates.
  2. Enforce one casing convention everywhere — fix the offenders on the spot.
  3. Confirm every paid placement is tagged (auto-tagging counts for Google Ads).
  4. Kill rogue spaces, stray capitals, and free-text campaign names.
  5. Document the convention where the next person will actually look.

Keep it clean

Conventions rot without an owner. Put the spec in a shared doc, route everyone through one link builder, and review the source/medium list monthly. Clean tags are the foundation everything sits on — every attribution model and every GA4 report is only as trustworthy as the UTMs feeding it. Maven flags the duplicates and gaps for you, so the audit takes minutes, not an afternoon.

Jamie Isabel

Founder at Maven

Ready to take data ops off your plate? Let's talk.

One platform for every marketing source.

We'll spin up a sample marketing workspace live

You'll see a working dashboard before the call ends

No pitch deck. No pressure. 20 minutes.

Book a Demo