Attribution
Sign up free
Tracking

UTM Tracking 101: How to Set Up UTM Parameters That Don't Break Your Reports

Blog Tracking UTM Tracking 101: How to Set Up UTM Parameters That Don't Break Your Reports
Abdul Kayium
Abdul Kayium
Tracking & attribution consultant
8 min read

UTM parameters are the plumbing underneath every attribution report you'll ever look at. Get them right and they're invisible — everything downstream just works. Get them wrong, or let five people tag campaigns five different ways, and every funnel, journey, and revenue-by-channel report breaks quietly, usually without anyone noticing until months of data is already unusable.

What UTM parameters actually are

UTM (Urchin Tracking Module) parameters are tags added to the end of a URL that tell an analytics platform where a visit came from. Google's own guidance recommends always using three: utm_source, utm_medium, and utm_campaign. A tagged link looks like this:

ParameterWhat it answersExample value
utm_sourceWhere did the traffic come from?facebook, google, newsletter
utm_mediumWhat kind of channel was it?cpc, email, social, organic
utm_campaignWhich specific campaign?summer_sale_2026
utm_contentOptional — which specific ad/link variant?carousel_ad_v2
utm_termOptional — which paid search keyword?running_shoes

Put together: https://yourstore.com/?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale_2026. When someone clicks that link, your analytics platform reads those values and files the visit under Facebook / CPC / summer_sale_2026 instead of a vague "referral" or, worse, nothing at all.

Where you actually need them

Google Ads and most major ad platforms auto-tag clicks with their own click identifiers (gclid, fbclid, and similar) — useful for platform-side conversion tracking, but they don't replace UTMs for cross-channel reporting, since every platform's click ID is formatted differently and most downstream analytics tools are built to read UTM parameters specifically.

Where UTM tracking actually breaks

The parameters themselves are simple. What breaks them, almost every time, is inconsistency — usually one of these:

Casing and spelling drift

utm_source=Facebook, utm_source=facebook, and utm_source=FB all get treated as three different sources by most analytics tools. Six months later, your "Facebook" traffic is actually split across three rows, and nobody remembers why.

No naming convention for utm_campaign

Without an agreed structure, campaign names end up as a mix of dates, initials, and whatever made sense to whoever set up that one campaign — unreadable and impossible to group in a report six months later.

Forgetting utm_medium consistency

cpc vs paid vs ppc for the same kind of traffic will quietly split what should be one channel into three in every downstream report.

A naming convention that scales
A pattern that holds up across teams: utm_source = the platform (always lowercase, always the same spelling), utm_medium = the channel type from a short fixed list (cpc, email, social, organic, affiliate), utm_campaign = [year]_[initiative]_[detail], e.g. 2026_summer_sale_mens. Write the rule down somewhere everyone tagging links can see it — the rule matters less than everyone using the same one.

For one-off links, Google's Campaign URL Builder removes typos from manual tagging. For a whole team tagging campaigns regularly, a shared naming convention document plus a simple internal template (or a spreadsheet formula that assembles the URL from dropdown values) removes far more errors than trusting everyone to type it correctly every time.

Why this matters more than it looks like it should

UTM data is the raw material every attribution report is built from. If a campaign is tagged inconsistently, it doesn't just look messy — it becomes invisible to journey analytics and multi-touch attribution as a single connected channel, fragmenting into several smaller, harder-to-read ones instead. This is especially costly for ecommerce brands running several channels at once, where a broken UTM on even one campaign can throw off revenue-by-channel numbers for months before anyone spots it.

Frequently asked questions

What are the three UTM parameters I should always use?
utm_source (where the traffic came from), utm_medium (what kind of channel it was), and utm_campaign (which specific campaign). utm_content and utm_term are optional, useful for more granular ad- or keyword-level detail.
Do I need UTM parameters on Google Ads and Meta Ads links?
Both platforms auto-tag clicks with their own click identifiers for platform-side conversion tracking, but adding UTMs still helps if you want consistent, comparable campaign data across every channel in one downstream analytics or attribution tool.
Why do my UTM reports show the same channel split into several rows?
This almost always means inconsistent tagging — different capitalization, spelling, or medium values for what should be the same source. Standardizing a naming convention and using a shared link-builder or template fixes it going forward (past data usually needs manual cleanup).
Should UTM parameters be case-sensitive?
Most analytics platforms treat UTM values as case-sensitive, meaning 'Facebook' and 'facebook' are read as different sources. The safest practice is to always use lowercase for every UTM value across your whole team.
Written by Abdul Kayium

Conversion tracking and attribution consultant. Spends most days inside Google Tag Manager, GA4, and server-side tracking setups, helping ecommerce and B2B teams figure out where their customers actually came from. More about Abdul →

Related reading

← Back to all articles