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 IsabelPublished June 25, 2026Updated July 6, 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.

Sources and references

Jamie Isabel

Founder at Maven

Ready to make client reporting easier to run, and easier to defend?

Bring one recurring report, disputed metric, or client workflow. We'll show where the time goes, what can be trusted now, and how Maven would improve it.

We'll review the workflow behind one client report

You'll see what Maven can own across data, QA, and delivery

No pitch deck. No pressure. 20 minutes.

Book a Reporting Review