UTM parameters are tags you add to URLs so your analytics tool knows where traffic came from. Without them, a click from your newsletter and a click from your social post both show up as the same thing – "direct" or "unknown". With them, you can see exactly which link, in which campaign, on which platform, drove each visit.
The five parameters
| Parameter | Purpose | Example |
|---|---|---|
utm_source | Where the traffic comes from | newsletter, linkedin, google |
utm_medium | How it reaches you | email, social, cpc |
utm_campaign | Which specific effort | spring-sale, product-launch |
utm_term | Paid search keyword (optional) | analytics+tool |
utm_content | Differentiates variants (optional) | hero-cta, sidebar-link |
A naming convention that scales
The biggest problem with UTM parameters isn't setting them up – it's keeping them consistent. Here's a convention that works:
- Always lowercase.
LinkedInandlinkedinwill show as separate sources. - Use hyphens, not spaces or underscores. Spaces become
%20in URLs, which is messy. Hyphens are readable. - Be specific but brief.
emailnotemail-marketing-channel.spring-sale-2026notspring_sale_campaign_march_2026_v2_final. - Document your conventions. Keep a shared spreadsheet. Future you (and your team) will thank you.
Ready-to-use template
Here's a pattern that works for most teams:
?utm_source={platform}&utm_medium={channel-type}&utm_campaign={campaign-name}&utm_content={link-location}
Example for a newsletter link to a blog post:
?utm_source=newsletter&utm_medium=email&utm_campaign=weekly-digest-2026-03&utm_content=featured-article
Build your UTM link
Grandma auto-lowercases and trims spaces for you – because tidy URLs make tidy reports.
Enter a URL above to get started
Common mistakes
- Forgetting
utm_medium. Source without medium is like saying "the traffic came from Google" without saying whether it was organic search, paid ads, or a social post. - Inconsistent casing.
Facebook,facebook, andfbcreate three separate entries in your reports. Pick one and stick with it. - Tagging internal links. UTM parameters are for external traffic. Using them on links within your own site overwrites the original source – the visitor who came from Google now looks like they came from "homepage-banner".
- Over-tagging. You don't need every parameter on every link. Source and medium are essential. Campaign is almost always useful. Term and content are situational.
Reading the data
Once your links are tagged, your analytics dashboard breaks down traffic by source and medium. Look for:
- Which sources drive the most visits – and whether those visits lead to anything (page depth, goal completions, scroll depth).
- Which campaigns perform best – compare campaign names to see what's actually working.
- Which content variants win – if you used
utm_contentto differentiate CTA placements, you can see which position drove more clicks.
Grandma's take: UTM parameters are just labels. The hard part isn't the tagging – it's being consistent. Write down your naming convention, share it with your team, and stick to it. Grandma keeps a tidy kitchen, and you should keep tidy URLs.