UTM parameters(UTM)
UTM parameters are five query-string tags (utm_source, utm_medium, utm_campaign, utm_term, utm_content) that GA4 reads to assign acquisition source, medium, and campaign. They are the source-of-truth for non-organic channels — without them, paid and email traffic frequently lands in Direct.
Long definition
UTM parameters originated with Urchin Tracking Module, the analytics product Google bought in 2005 and rebuilt as Universal Analytics. They survived into GA4 unchanged: append ?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch to any link, and GA4 reads those values into its source/medium/campaign dimensions on the resulting session.
The five parameters:
- utm_source (required) — the platform:
newsletter,twitter,linkedin,partner-site-x. Lowercase, no spaces. - utm_medium (required) — the channel category:
email,cpc,social,affiliate,referral. The medium drives GA4's default channel grouping more than source does. - utm_campaign (required) — the campaign name:
q2-launch,black-friday-2026. Lowercase-with-hyphens by convention. - utm_term — paid keyword (legacy from AdWords), occasionally used for content variant.
- utm_content — variant identifier inside a campaign:
cta-blue-v2,header-link,footer-link. Useful for A/B and creative testing.
GA4's channel grouping uses the source + medium pair to decide which channel a session belongs to. Get either wrong and the session lands in the wrong channel. The most common mistake is utm_medium=facebook (should be social, with utm_source=facebook). The second most common is mixed casing: Email and email create two channels in reports.
Three rules from Google's UTM guidance:
- Never UTM-tag internal links. A user clicking an internal banner with UTMs starts a new session and overwrites the original acquisition source. Use internal promotion tracking via GA4 events instead.
- Don't UTM-tag organic search. Search engines append their own referrer; UTMs added to the destination URL get stripped or cause duplicate tracking.
- Use a UTM template (Campaign URL Builder or your own spreadsheet). Free-typed UTMs fragment your data:
linkedin,LinkedIn,linkedin.com,linked-inwill all appear as separate sources.
UTMs persist in the user's browser history and can leak. Internal team members clicking a campaign URL once will retain that campaign attribution for follow-up sessions until cookies expire.
Common misconceptions
- "UTM parameters affect SEO." They don't help and can hurt. UTMs on internal links create duplicate URLs that compete in indexing. UTMs on canonical URLs in shared content can fragment link equity. Block parameter variants from indexing via canonical tags or URL parameter handling.
- "More UTMs is better." Each campaign URL with UTMs creates a tracked variant. Untagged sharing of that URL passes UTMs further (someone copies the email link, posts it on Twitter, and now you have email-medium clicks from Twitter). Use shorter campaign URLs and rely on GA4's natural source/medium detection where possible.
- "UTMs survive every redirect." Most servers preserve query strings through redirects, but URL rewriting in CDNs or some affiliate trackers strips them. Verify your redirect chains preserve the query string before assuming attribution flows through.
- "GA4 ignores casing." It doesn't.
utm_source=Facebookandutm_source=facebookare two distinct sources in GA4 reports. Standardize at the campaign-build step, not at the report-cleanup step.
Continue exploring