UTM parameters are the little tags at the end of a link (?utm_source=newsletter&utm_medium=email) that tell your analytics where a visit came from. They cost nothing, work in every analytics tool, and are the only reliable way to attribute traffic from emails, social posts, ads, partners and QR codes.
They also break in one very predictable way: people tag links inconsistently, and one campaign shows up as five different rows. Here’s what each parameter is for, the mistakes that split your data, and a naming convention you can copy.
The five parameters
| Parameter | Answers | Examples |
|---|---|---|
utm_source | Who sent the visit? | newsletter, linkedin, google, partner-acme |
utm_medium | What kind of channel? | email, social, cpc, referral, qr |
utm_campaign | Which campaign or initiative? | 2026-10-launch, black-friday, onboarding-drip |
utm_content | Which link or creative? (optional) | header-button, video-ad-a |
utm_term | Which keyword? (optional, mostly paid search) | privacy-analytics |
In practice, source, medium and campaign are the ones you’ll use on every link. Content is handy for A/B testing creatives or telling two links in the same email apart. Term is mostly filled in automatically by ad platforms.
The five mistakes that split your data
1. Mixed capitalisation
Many tools treat Newsletter, newsletter and NEWSLETTER as three different sources. Always use lowercase. It’s the single most effective rule.
2. Synonyms
fb, facebook and facebook.com. email, e-mail and newsletter as a medium. Every synonym is a new row. Agree on one word for each source and medium and keep a list.
3. Spaces and special characters
Spaces become %20 or +, which look ugly and sometimes get mangled by email tools. Use hyphens: spring-sale, not Spring Sale.
4. Putting the source in the medium (or the other way round)
utm_medium=linkedin is a common mistake. LinkedIn is the source; the medium is social (or paid-social for ads). Getting this right is what lets you group all social traffic together, whatever the network.
5. Tagging internal links
Never add UTM parameters to links within your own site (like a banner on your homepage linking to pricing). Many tools will treat the click as a new visit from a new source and overwrite the real one: the visitor who came from Google suddenly looks like they came from “homepage-banner”. Use custom events for internal clicks instead.
A convention you can copy
Adapt the lists to your channels, but keep the rules:
- All lowercase, hyphens instead of spaces, no special characters.
- Source = the specific site, platform or partner:
newsletter,linkedin,x,youtube,google,producthunt,partner-<name>. - Medium = from a fixed short list only:
email,social,paid-social,cpc,display,referral,affiliate,qr,print,podcast. - Campaign =
yyyy-mm-short-namefor time-bound campaigns (2026-10-launch), or a stable name for evergreen ones (onboarding-drip). - Content = where the link sits or which variant it is:
header,footer,variant-a.
Examples:
Newsletter, main button:
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=2026-10-launch&utm_content=main-button
LinkedIn post (organic):
https://example.com/blog/post?utm_source=linkedin&utm_medium=social&utm_campaign=2026-10-launch
Flyer QR code:
https://example.com/?utm_source=flyer-berlin&utm_medium=qr&utm_campaign=2026-q4-eventsKeep a shared log
The convention only works if people follow it. A shared spreadsheet with one row per tagged link (date, owner, destination, source, medium, campaign, content, the final URL) does wonders. It also means you can look up “what was that weird campaign from March?” a year later.
Or skip the spreadsheet formulas and use our free UTM builder. It lowercases values, swaps spaces for hyphens and warns about common mistakes like putting a source in the medium field.
Common questions
Do UTM parameters hurt SEO?
Not if you only use them on links from other places (emails, social posts, ads). Search engines generally treat them as the same page, especially if your pages have a canonical URL, which most modern sites set. Just don’t use UTMs on internal links, for the analytics reasons above.
Can visitors see them?
Yes, they’re in the address bar. Keep them free of anything you wouldn’t want someone to read, and never put personal data (like an email address) in a UTM value.
What about short tags like ?ref=…
Many sites and directories add ?ref=producthunt or similar. Some analytics tools read these as a source. Cool Analytics, for example, treats ref and source like utm_source when no UTM source is present, so those visits are still attributed.
How long does attribution last?
That depends on the tool. Typically the source is attached to the whole visit (session), and later actions in that visit, like a signup, are credited to it. Check how your tool handles visitors who come back days later through a different source.
Should I tag links in AI tools?
You can’t tag links that an AI writes itself, but you can tag ones you publish, like links inside a custom GPT. See how to track ChatGPT and Perplexity traffic.
Checklist
- Lowercase everything.
- Use a fixed list of mediums.
- Source is the who, medium is the what kind.
- Hyphens, not spaces.
- Never tag internal links.
- Log every tagged link.
Six rules, and your channel report will finally show one row per campaign.