>

UTM Parameters and Campaign Tracking

UTM parameters are how you tell analytics where a visitor came from. They are simple to implement and easy to implement inconsistently, which is how most campaign reporting becomes unusable.

The Five Parameters

utm_source — where the traffic came from: google, linkedin, newsletter. Required.

utm_medium — the channel type: cpc, email, social, affiliate. Required, and the one most often misused.

utm_campaign — the specific campaign: spring-sale-2026. Required for campaign reporting.

utm_content — distinguishes variants within a campaign: which creative, which link in an email.

utm_term — originally the paid keyword; largely superseded by auto-tagging in ad platforms.

Naming Conventions Prevent Chaos

Analytics treats Email, email and e-mail as three separate mediums. Without a convention, six months of campaigns fragment into dozens of near-identical rows.

Agree and document: all lowercase, hyphens not spaces or underscores, a fixed vocabulary for medium, a date or quarter convention for campaign names. Keep the document somewhere everyone building links can reach it.

Use a shared URL builder spreadsheet rather than letting each person construct links by hand.

Common Mistakes

Tagging internal links. Adding UTMs to links between pages on your own site starts a new session and destroys original attribution. Never do this.

Double-tagging paid ads. Google Ads auto-tagging with GCLID is more accurate than manual UTMs. Adding both can cause conflicts. Use auto-tagging where available.

Inconsistent medium values. Using ppc on some links and cpc on others splits paid traffic across two channel groupings.

Leaving UTMs on shared links. A tagged link shared onward attributes organic word-of-mouth traffic to the original campaign.

Tracking Offline and Hard-to-Attribute Channels

UTMs work anywhere a URL can be placed — QR codes on print, links in podcast show notes, vanity URLs that redirect to a tagged destination.

For channels where links cannot be tagged at all, a vanity URL with a redirect carrying the parameters is the standard workaround. It also gives you a clean, memorable URL for the offline medium.

Governing Tags Across a Team

UTM tagging fails at the organisational level rather than the technical one. The parameters are trivial; getting four people in two agencies to write them identically is not.

A spreadsheet is not governance. What works is a single builder — a form that constructs the URL from controlled dropdowns rather than free text — so the values cannot drift. Free text guarantees facebook, Facebook, fb and FB in the same report.

Three rules worth enforcing in the builder itself. Lowercase everything, because the parameters are case-sensitive and analytics will treat variants as separate sources. No spaces, which become %20 and look like different values. Never tag internal links — a UTM on a link between two pages of your own site starts a new session and re-attributes an existing visitor to the campaign, inflating it and destroying the original source.

That last one is the most damaging and the most common. If your own navigation carries UTMs, every report downstream of it is wrong in a way that looks like success.

What the Tags Cannot Tell You

UTMs record what the link said, not what happened. Several gaps follow from that and each one misleads in a predictable direction.

They are trivially editable. A user can change the parameters, and bots do. Traffic arriving with malformed or nonsensical campaign values is usually spam rather than a tagging error.

They are lost on redirect chains if any hop drops the query string, which turns a tagged visit into direct traffic.

They cannot see dark social. A link shared in a private message or a group chat arrives untagged regardless of what you built, which is a large share of what gets recorded as direct.

They describe the click, not the journey. UTMs feed last-click attribution by default, so a campaign that introduced a customer and a campaign that closed them look identical, and only one gets credit.

The practical consequence: use UTMs to answer "which link did they arrive on", not "what caused the sale". The second question needs a holdout or a model, and treating tag data as though it answers it is how channels get defunded for work they actually did.

Sources

What each claim on this page rests on. Entries are typed so you can see which are primary.

  1. officialGoogle Analytics 4 documentation — the UTM parameter handling, session definition and engaged-session criteria described here support.google.com

Ask an AI about this page

Opens your assistant with this page as the source, and a question rather than a summary. It will ask what you are building before it answers.

ChatGPTClaudeGeminiPerplexityGrok

Nothing is sent from here. The link carries only this page’s title and address.