UTM parameters are key-value pairs you append to URLs (?utm_source=meta&utm_medium=paid&utm_campaign=fall-launch) that let your analytics tool — Google Analytics, Klaviyo, your own pixel — categorise where each click came from. They're called UTM after Urchin Tracking Module, an analytics product Google bought in 2005 that became Google Analytics.
The five standard UTMs
- utm_source — the platform (meta, google, tiktok, newsletter)
- utm_medium — the channel type (cpc, paid_social, email, organic_social, referral)
- utm_campaign — the campaign name (fall-launch, black-friday-2026)
- utm_content — variant identifier (banner-a, banner-b)
- utm_term — keyword (used mostly for paid search)
Conventions that don't break
- Lowercase everything — utm values are case-sensitive and 'Meta' vs 'meta' are different sources to GA
- Hyphens or underscores, never spaces (which become %20 and look ugly)
- Don't UTM internal links on your own site — it overrides the original session source
- Don't ship URLs with UTMs to organic / SEO destinations — the canonical URL takes the credit and the UTM gets indexed
What they don't solve
UTMs only tell you the immediate referring source — they're a single touchpoint, not a full attribution model. A user who saw a Meta ad, then searched Google for your brand, then clicked an email, then converted, will show in your UTM data as 'email'. Pair UTMs with multi-touch attribution to get the full picture.