What Are UTM Parameters? How to Track Every Campaign Link Properly
Short answer
UTM parameters are short tags you add to the end of a link so your analytics tool knows exactly where a visitor came from. The five standard tags record the source, medium, campaign, keyword and content. Used consistently, they turn vague traffic reports into a clear record of which campaigns actually worked.
In this guide
Picture Monday morning after a big festive sale. You sent an email to your whole list, posted across Instagram and Facebook, paid three creators for stories, and ran ads on two platforms. Sales were excellent. Then someone asks the obvious question: which of those actually worked? You open your analytics and find a large lump of traffic marked “direct”, some vague “referral” visits, and social traffic you can’t tell apart by post or creator.
That report can’t tell you what to do again next time, and it’s almost always because the links weren’t tagged. UTM parameters are the fix. They’re a few words added to the end of a link that tell your analytics exactly where each visitor came from. They’re also one of the most neglected basics in marketing, and one of the cheapest to get right.
What UTM parameters actually are
In plain terms, UTM parameters are labels you attach to a link so your analytics can tell which campaign, channel and post a visitor clicked.
Formally, they’re query string parameters added to a URL that analytics platforms like Google Analytics 4 read when someone lands on your site. The name comes from Urchin, the analytics company Google acquired, whose tracking module the tags were designed for. There are five standard parameters:
- utm_source: where the traffic comes from, such as newsletter, instagram or a partner’s site name.
- utm_medium: the type of channel, such as email, social, cpc or referral.
- utm_campaign: the specific campaign, such as diwali-sale or spring-launch.
- utm_term: mostly used for the paid search keyword.
- utm_content: what tells apart links within one campaign, such as the header button versus the footer link, or one creator’s story versus another’s.
Source, medium and campaign are the ones you should always include. Term and content are optional but valuable once you want finer detail.
How UTM parameters work
A UTM-tagged link is just your normal URL with the tags added after a question mark, joined by ampersands. For example:
https://example.com/sale/?utm_source=newsletter&utm_medium=email&utm_campaign=diwali-sale&utm_content=hero-button
When someone clicks that link, they land on your normal page. Nothing looks different to them. But your analytics reads the tags and records the visit, and anything the visitor does afterwards, against that source, medium, campaign and content.
In GA4, those values flow into the traffic acquisition reports, so you can compare campaigns side by side. GA4 also uses the medium and source values to sort traffic into default channel groups, like Email, Organic Social or Paid Social. That’s why consistent, standard medium values matter so much. If you invent your own, traffic can end up in “Unassigned” instead of the channel it belongs to.
A worked example: tagging a festive campaign
Say you run a D2C home fragrance brand and you’re launching a festive collection. This is a hypothetical campaign, but it’s the kind of plan I’d set up with any client.
You agree on one campaign name, festive-collection, used on every link. Then you tag each channel so it lands in the right place:
- The email to your list uses source newsletter and medium email, with content values for the hero button and the product grid.
- Instagram posts use source instagram and medium social, with a content value for each post.
- Each creator’s story link uses source instagram, medium social and a content value with the creator’s handle, so you can compare creators directly.
- Meta Ads links use source facebook and medium paid-social.
- A QR code on your packaging uses source packaging and medium offline.
After the campaign, one report answers the Monday question. You can see which channel drove sales, which creator’s audience actually bought, and whether the email’s hero button or product grid did the work. Without the tags, all of that would have blurred into “direct” and “social”.
Where to find UTM data in GA4
Tagging links is only half the job. The other half is knowing where the results show up, so you actually use them.
In GA4, open the traffic acquisition report under Reports, then Acquisition. By default it groups visits by channel. Change the primary dimension to “Session source / medium” to see your utm_source and utm_medium values side by side, or to “Session campaign” to compare campaigns. Add a secondary dimension such as “Session manual ad content” when you want to split a campaign by its utm_content values, like one creator against another.
For purchases and leads, the same dimensions work in reports that include conversions or key events, so you can see which tagged link drove revenue, not only visits. If you want a report you’ll reuse after every launch, build it once in Explore with campaign, source, medium and content as rows, and your key events and revenue as values.
One detail catches people out. GA4 reports on sessions and users with slightly different attribution rules, so a campaign’s numbers can differ between a session-scoped report and a user-scoped one. Pick one view for campaign comparisons and stick with it.
UTM parameters vs auto-tagging
| UTM parameters | Auto-tagging (for example, Google Ads’ gclid) | |
|---|---|---|
| Who adds it | You, manually or with a builder | The ad platform, automatically |
| What it covers | Any link you control: email, social, partners, QR codes | Only that platform’s own ads |
| Detail captured | Only what you put in the tags | Rich campaign, ad group and keyword data |
| Effort | Needs a naming system and discipline | Set once, then automatic |
| Risk | Typos and inconsistent names split reports | Few, as long as the accounts are linked |
For Google Ads linked to GA4, auto-tagging is usually the better choice, because it passes more detail with no manual work. UTM parameters fill every gap auto-tagging leaves, which in most businesses is the majority of links: email, organic and paid social on other platforms, influencers, partnerships and offline codes. Use both, and don’t add manual UTMs on top of auto-tagged Google Ads links unless you know how the two interact in your setup.
How to set up a UTM system that stays clean
- Write a naming convention. Decide once how each value is written: lowercase only, hyphens between words, and a fixed list of allowed medium values.
- Keep a shared sheet. Log every tagged link with its source, medium, campaign, content and date. It becomes your record of what ran and prevents duplicate names.
- Use a builder, not memory. Generate links with a UTM builder so the format is always right and nobody types a stray capital letter.
- Match GA4’s channel definitions. Use medium values GA4 recognises, such as email, social, paid-social, cpc and referral, so traffic lands in the right default channel.
- Tag every external link you control. Emails, social posts, bios, creator links, partner placements and QR codes all need tags.
- Never tag internal links. Links between pages on your own site should stay clean, or they’ll overwrite the visitor’s original source.
- Check reports after each launch. Look for unassigned traffic or odd values in the first days of a campaign, while it’s still cheap to fix.
Common UTM mistakes
Inconsistent capitalisation and spelling. It happens when different people build links by hand. Email, email and e-mail become three separate rows, and no single report shows the true total. A lowercase rule and a builder solve it.
Tagging internal links. Adding UTMs to banners or buttons within your own site overwrites how the visitor originally arrived. It makes internal clicks look like new campaigns and destroys the real source data. Keep internal links untagged.
Inventing medium values. Creative mediums like “insta-story” or “whatsapp-blast” often end up in GA4’s Unassigned channel. Use standard medium values and put the detail in source or content instead.
Forgetting to tag at all. The most common problem isn’t bad tags, it’s missing ones. Untagged email and social traffic often shows up as direct, which hides what’s working.
Putting personal data in UTMs. Email addresses or names in a URL end up stored in analytics and shared wherever the link travels. Never include personally identifiable information in tags.
How to tell if your tracking is healthy
There’s no benchmark for UTM hygiene, but these signs tell you your tagging is doing its job:
- Unassigned and unexpected direct traffic stay small and don’t spike after campaigns.
- Each campaign appears under one consistent name in your reports, not split across variations.
- You can compare creators, posts or email placements within a campaign using content values.
- Your team builds links from a shared sheet or builder, not from memory.
- After any launch, you can answer “which channel worked?” from one report in minutes.
If you can do all that, your campaign data is trustworthy enough to base budget decisions on.
Key takeaways
- UTM parameters are tags on a link that tell analytics where a visitor came from.
- Always use source, medium and campaign. Add content to compare links within a campaign.
- Use standard medium values so GA4 sorts traffic into the right channel.
- Tag every external link you control, and never tag internal links.
- A shared naming sheet and a builder prevent the typos that quietly wreck reports.
Frequently Asked Questions
What are the five UTM parameters?
The five standard UTM parameters are utm_source, which names where the traffic came from, utm_medium, which names the type of channel, utm_campaign, which names the specific campaign, utm_term, which is mostly used for paid keywords, and utm_content, which tells apart different links or ads within the same campaign. Source, medium and campaign are the ones you should always use.
Do I need UTM parameters for Google Ads?
Usually not, if Google Ads is linked to GA4 with auto-tagging turned on. Auto-tagging adds its own identifier to your ad links and passes detailed campaign data to Google Analytics automatically. UTM parameters are essential for everything auto-tagging doesn't cover: email, social posts, influencer links, QR codes, partner sites and ads on other platforms.
Should I use UTM parameters on internal links?
No. Adding UTM tags to links between pages on your own website overwrites the visitor's original source. Someone who arrived from a Google search and then clicked a tagged banner on your homepage would suddenly appear to have come from that banner. Use UTMs only on links that bring people to your site from somewhere else.
Are UTM parameters case sensitive?
Yes. Analytics tools treat Email, email and EMAIL as three different values, which splits one channel's traffic across several rows in your reports. The simplest fix is a rule that every UTM value is lowercase, with words separated by hyphens or underscores, and a shared naming sheet the whole team uses.
Do UTM parameters affect SEO?
Not when used correctly. Search engines generally treat tagged URLs as variations of the same page, especially if your pages use canonical tags. Problems arise only if tagged links get published widely as if they were your main URLs. Keep UTM links for campaigns, and use clean URLs everywhere you want search engines to see your page.
Want help with this for your brand? See my services.
Need help putting this concept into practice on your campaigns? Share your current targets and I will suggest the right approach.