UTM Parameters: A No-BS Guide for Marketers
Meta Description: How to name, use and analyse utm_source, utm_medium, utm_campaign without making a mess. Includes a naming convention cheat sheet.
UTM parameters are the simplest, most underrated tool in a marketer's toolkit. Yet almost everyone does them wrong.
You add a few parameters to your URLs, send them out to the world, and suddenly your analytics dashboard can tell you exactly which campaigns drive traffic, which channels convert best, and which partnerships are worth your time.
But get sloppy with naming—mixing "facebook" and "Facebook," using vague campaign names, forgetting parameters entirely—and your dashboard becomes a mess of unusable data. You'll spend hours manually reconciling data instead of acting on insights.
This guide shows you the right way. By the end, you'll have a naming convention you can use forever, know how to build UTM URLs in seconds, and understand how to analyze the results.
What Are UTM Parameters?
UTM parameters are tags you add to the end of a URL to track campaign details in your analytics tool.
They look like this:
https://mysite.com?utm_source=facebook&utm_medium=social&utm_campaign=summer-sale
When someone clicks that link, the UTM parameters travel with them. Your analytics tool captures them and groups visits by source, medium, campaign, and more.
Without UTM parameters: You see traffic came from "facebook.com" (referrer). That's it.
With UTM parameters: You see traffic came from Facebook, via a social post, for your summer sale campaign. Now you know which campaign drove that traffic and can measure its ROI.
The 5 UTM Fields
There are five UTM parameters. Three are mandatory; two are optional.
Mandatory Parameters
utm_source Where the traffic comes from. Examples:
google(Google Search)facebook(Facebook)newsletter(Your email newsletter)affiliate(Partner site)twitterreddit
utm_medium
The method of traffic delivery. Examples:
cpc(Cost-Per-Click ads)social(Social media posts)email(Email marketing)affiliate(Affiliate partner)organic(Organic search, though Google tracks this automatically)referral(Other websites linking to you)display(Display ads)
utm_campaign
The specific campaign or promotion. Examples:
summer-saleproduct-launch-q2black-friday-2024case-study-webinarbrand-awareness
Optional Parameters
utm_content Which variant or ad creative was used. Useful for A/B testing:
button-bluevsbutton-redheadline-v1vsheadline-v2image-productvsimage-lifestyle
Use this when you're testing different versions of the same campaign.
utm_term The keyword (mainly for Google Ads). Example:
analytics toolSaaS trackingevent tracking software
Most Google Ads accounts auto-populate this; manually add it only if you're using other search platforms.
How to Build a UTM URL
Manual Method
Start with your base URL: https://mysite.com/pricing
Append a question mark: https://mysite.com/pricing?
Add your parameters separated by ampersands (&):
https://mysite.com/pricing?utm_source=google&utm_medium=cpc&utm_campaign=pricing-q2
Rules:
- All lowercase (for consistency)
- No spaces (use hyphens:
summer-sale, notsummer sale) - Start with
?for the first parameter, then&for each additional one
Using the Google Campaign URL Builder
Google has a free tool that builds URLs for you:
- Go to Google Campaign URL Builder
- Paste your website URL
- Fill in source, medium, campaign, content, and term
- Click Copy and paste the generated URL into your marketing materials
This saves time and prevents typos.
Naming Convention Cheat Sheet
The key to usable analytics is consistent naming. Use this cheat sheet as your reference:
Source Names (Where)
| Channel | utm_source |
|---|---|
| Google Search | google |
| Google Ads | google |
facebook |
|
instagram |
|
| Twitter / X | twitter |
linkedin |
|
| TikTok | tiktok |
reddit |
|
| Newsletter (yours) | newsletter or email-newsletter |
| Affiliate Partner A | affiliate-a or partner name |
| Your Blog | your-blog (if linking from owned media) |
| Podcast | podcast-name |
| YouTube | youtube |
| Quora | quora |
Medium Names (Method)
| Method | utm_medium |
|---|---|
| Paid Search | cpc |
| Display Ads | display |
| Social Media Post | social |
| Email Campaign | email |
| Affiliate Link | affiliate |
| Referral (other site) | referral |
| Direct Mail / QR Code | qr-code or direct-mail |
| Influencer Post | influencer or social |
| Event (in-person) | event |
Campaign Names (Specific)
Use a consistent format: [initiative]-[timeframe] or [initiative]-[variant]
Examples:
summer-sale(single campaign)product-launch-june(with timeframe)black-friday-2024case-study-webinar-q2brand-awareness-marchpricing-page-relaunchfree-trial-promo
Avoid:
- Vague names like
campaign1ortest - Inconsistent capitalization (
Summer-Salevssummer-sale) - Campaign names that duplicate medium info (
email-newsletterfor medium when source is alreadynewsletter)
Common Mistakes
Mistake 1: Inconsistent Naming
You use facebook one day and Facebook another. Your dashboard now shows both, and you can't compare campaigns easily.
Fix: Create a naming document (or screenshot the cheat sheet above) and share it with your team.
Mistake 2: Overcomplicating Parameters
You cram too much info into one field. Example:
utm_campaign=facebook-summer-sale-2024-version-b
This is too long and mixes source, campaign, timing, and variant. Instead:
utm_source=facebook&utm_medium=social&utm_campaign=summer-sale-2024&utm_content=version-b
Each field has a clear purpose.
Mistake 3: Forgetting UTM Parameters on Key Links
You do UTM tagging on paid ads but skip organic social posts or email links. Now you can't track organic traffic properly.
Fix: Tag every outbound link where you want to track source and campaign.
Mistake 4: Never Checking the Data
You set up UTMs perfectly, send out campaigns, and never look at the results. Analytics becomes background noise.
Fix: Make it a habit. Every Monday morning (or weekly), check: "Which campaigns drove the most traffic? Which converted best?"
How to Analyse UTM Data
Once your URLs are tagged, your analytics dashboard shows UTM data across multiple reports:
Campaigns Report
Shows metrics by utm_campaign:
- Which campaigns drive the most traffic?
- Which have the best conversion rate?
- Which generate the most revenue?
Use this to identify winning campaigns and double down on them.
Sources Report
Shows metrics by utm_source:
- Which channels (Facebook, Google, etc.) drive the most traffic?
- Which are most cost-effective?
Use this to allocate budget across channels.
Campaign + Source Report
Cross-tab source and campaign:
- Google campaigns are converting at 5%, Facebook at 3%
- Organic posts drive traffic but barely convert
- Paid ads convert well but cost more per visitor
Now you can make ROI decisions.
Analyzing Conversion Rates
In Statalog (or your analytics tool), find:
- Conversions by campaign: Which campaigns led to signups, purchases, or downloads?
- Revenue by campaign: Which campaigns generated the most revenue?
- Cost per conversion: (Ad spend ÷ conversions) = How expensive is each conversion by campaign?
Example:
- Summer sale campaign: 500 conversions, $5,000 revenue, $100 in ad spend = $0.20 per conversion (great)
- Newsletter campaign: 50 conversions, $1,000 revenue, $0 in ad spend (you wrote the email) = free conversions (best)
UTM Examples by Channel
Google Ads (Search)
Google auto-populates utm_term (keyword). You set source, medium, campaign:
utm_source=google&utm_medium=cpc&utm_campaign=pricing-page-ads
Check your Google Ads dashboard; it auto-adds these.
Facebook Ads
Facebook auto-tracks some data, but add UTMs for clarity:
utm_source=facebook&utm_medium=social&utm_campaign=summer-sale
Optional: Add utm_content if A/B testing creatives:
utm_source=facebook&utm_medium=social&utm_campaign=summer-sale&utm_content=carousel-creative
Email Marketing
Every link in your email should have UTMs:
utm_source=newsletter&utm_medium=email&utm_campaign=may-newsletter
Or more specifically:
utm_source=email-newsletter&utm_medium=email&utm_campaign=product-launch-announcement
Affiliate Marketing
Partner posts your affiliate link:
utm_source=partner-a&utm_medium=affiliate&utm_campaign=q2-promotion
Helps you track which affiliate partners send quality traffic.
Organic Social
You post on Twitter, LinkedIn, etc.:
utm_source=twitter&utm_medium=social&utm_campaign=case-study-announcement
No ad spend, but valuable for tracking organic reach.
Podcast / Audio
Mention your website in a podcast or ad read:
utm_source=podcast-name&utm_medium=audio&utm_campaign=sponsorship-q2
Helps you measure podcast sponsorship ROI.
Tools & URL Builders
Google Campaign URL Builder
Free tool from Google. Build one URL at a time visually.
Statalog Campaign Tracker
Statalog automatically captures and reports on UTM parameters. No extra setup needed—just add them to your URLs and view them in the dashboard.
Marketing Automation Platforms
HubSpot, Marketo, and similar platforms have built-in UTM builders. Use them if you're already paying for the platform.
Spreadsheet Approach
Use a Google Sheet to track campaigns:
| Campaign | Source | Medium | Campaign Name | Full URL |
|---|---|---|---|---|
| Summer Sale | social | summer-sale | https://mysite.com?utm_source=facebook&utm_medium=social&utm_campaign=summer-sale | |
| Product Launch | cpc | product-launch-q2 | https://mysite.com/pricing?utm_source=google&utm_medium=cpc&utm_campaign=product-launch-q2 |
Keeps the whole team in sync.
Frequently Asked Questions
Are UTM parameters case-sensitive? Yes and no. Technically, URLs are case-sensitive, but analytics tools usually normalize them to lowercase. Still, use lowercase consistently to avoid confusion.
Is there a character limit for UTM parameters?
URLs have a limit (~2,000 characters), but UTMs rarely hit it. Just keep campaign names reasonable: summer-sale not summer-mega-sale-v3-with-free-shipping-and-bonus-offer.
Can I track offline campaigns with UTMs? You can create a QR code with a UTM URL and display it in print ads, at events, on billboards, etc. When someone scans it, you track the source.
utm_source=print-ad&utm_medium=qr-code&utm_campaign=billboard-march
What if I forget to add UTMs to a link? That traffic will show up as referrer traffic (from whatever domain linked to you) but won't have campaign details. Lesson: Create a team checklist or use a tool that auto-applies UTMs.
Can I use UTMs for internal links? Technically yes, but it's messy. Internal links create unnecessary session breaks and clutter your data. Use them only if you specifically want to track which internal pages drive conversions (rare).
Should I track everything with UTMs? No. Track campaigns and channels you want to measure. Organic search traffic is typically excluded (Google tracks it separately via Search Console). Direct traffic doesn't need UTMs. Focus on paid campaigns, social, email, and partnerships.
Start today: Pick one campaign you're running this week. Build a UTM URL using the cheat sheet. Send it out. Then check your analytics in a few days to see what happens.
Ready to track your campaigns properly? Use the naming convention above and build your first UTM URL right now. Your future analytics self will thank you.
Previous article
How to Track Custom Events Without Google Tag ManagerNext article
What Is a "Pageview," Really? A Technical Breakdown