UTM parameters explained: the five tags and how to use them consistently
Ask an analytics report where a visitor came from and it will say "direct" for most of them โ meaning it doesn't know. UTM parameters are how you tell it: five optional tags on the end of a link that say which campaign, channel and creative the click came from. They are twenty years old (Urchin Tracking Module, from the company Google bought to make Google Analytics), universal, and mostly misused. This guide covers what they mean and the discipline that makes them useful; the UTM builder writes them.
What UTM parameters are
A UTM-tagged URL looks like https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. The page loads exactly as before โ the parameters are ignored by the server โ but the analytics script reads them and records the session's source, medium and campaign instead of guessing from the referrer. They matter most where the referrer is lost or useless: email (no referrer at all), apps, QR codes and printed links, paid ads, and social apps that strip or generalise the referrer.
The five parameters
- utm_source โ where the link lives: newsletter, google, facebook, partner-site. Required.
- utm_medium โ the type of channel: email, cpc, social, referral, qr, print. Required, and the one to keep to a fixed short list, because analytics groups channels by it.
- utm_campaign โ the campaign or promotion: spring_sale, launch_2026, webinar-may. Required.
- utm_content โ which variant or placement: hero_button, footer_link, ad_a, ad_b. Optional; this is where A/B creative is told apart.
- utm_term โ the paid keyword, or any secondary detail. Optional, and mostly auto-tagged by ad platforms now.
Naming rules that keep reports clean
Analytics treats Email, email and e-mail as three mediums, and a year of reports fragments accordingly. The rules: all lowercase, always; one separator (underscores or hyphens, never spaces); a fixed vocabulary for medium (email, social, cpc, display, referral, affiliate, qr, print, sms); sources named after the platform, not the person; campaigns named so they sort โ a date prefix (2026-05_webinar) helps. Write the vocabulary down in a shared sheet and log every tagged link there with the URL it produced; the sheet is the real tool, and the builder just enforces the format.
The mistakes that break attribution
- Tagging internal links. A UTM on a link from your homepage to your pricing page starts a new session attributed to "homepage", erasing the real source. Never tag links within your own site.
- Inconsistent casing and spelling โ the fragmentation above.
- Tagging links people share. A newsletter link copied into a forum still says utm_medium=email. Accept it, or use short links that redirect to tagged URLs so you can change tags later.
- Losing tags in redirects. Some link shorteners and redirects drop query strings; test the final URL.
- Personal data in tags. Never put names or emails in a UTM โ it's logged everywhere and is a privacy violation.
Beyond UTMs: what they can't tell you
UTMs record the click that started a session, last-touch. They don't see the three ads someone ignored before the click, the offline conversation, or the app that stripped the parameters. Multi-touch attribution models and platform pixels claim more โ usually too much, as ROAS explained: the number every ad platform shows, and the one it doesn't explains โ and the honest position is that UTMs give clean channel-level truth about what people clicked, which is more than most businesses have. Combine them with a proper test when you want to know what caused what, and use the URL parser to read a tagged link someone sends you.
Sources and further reading
The claims in this guide rest on these references, which were checked when the guide was last updated. Spotted an error? The contact page says how to report it.