You’re spending thousands on marketing campaigns, but you have no idea which ones are actually working.
Your Facebook ads, email newsletters, and influencer partnerships all send traffic to your website—but when you check Google Analytics, half of it shows up as “direct” or gets lumped into vague categories like “social.” You can’t tell which specific post drove those conversions, which email subject line resonated, or which ad creative flopped.
This isn’t just frustrating. It’s expensive. Without accurate tracking, you’re essentially throwing money at campaigns and hoping something sticks. You can’t optimize what you can’t measure, and you can’t prove ROI without data.
The solution is simpler than you think: UTM parameters. These tiny tracking codes transform your analytics from guesswork into actionable insights. And with our free UTM builder above, you can create properly formatted tracking links in seconds.
This guide will show you exactly how to use UTM parameters to track every marketing campaign, avoid the mistakes that ruin your data, and finally know which efforts are worth your budget.
TL;DR
UTM parameters are tracking codes you add to URLs to measure marketing campaign performance in Google Analytics. Our free UTM builder above helps you create properly formatted tracking links in seconds. Use utm_source to identify where traffic comes from, utm_medium for the channel type, and utm_campaign for the specific promotion. Always use lowercase, never tag internal links, and maintain consistent naming conventions across your team for accurate reporting.
Marketing campaigns are expensive. Whether you’re running Facebook ads, sending email newsletters, or partnering with influencers, you need to know what’s working and what’s wasting your budget.
That’s where UTM parameters come in.
What Are UTM Parameters?
UTM stands for “Urchin Tracking Module,” named after Urchin Software Corporation, which Google acquired in 2005 to form the foundation of Google Analytics.
A UTM parameter is a snippet of text you append to the end of a URL. When someone clicks that link, the parameters are sent to your analytics tool, giving you detailed information about that click.
Here’s what a URL with UTM parameters looks like:
https://www.example.com/?utm_source=facebook&utm_medium=social&utm_campaign=spring_sale
Everything after the ? is tracking data. Each parameter follows the format utm_parameter=value, and multiple parameters are separated by &.
Why UTM Parameters Matter
Without UTM tracking, much of your traffic gets lumped into vague categories like “Direct” or “Social.” You might see that 500 people visited from Facebook, but you won’t know:
- Which specific post drove those visits
- Whether they came from an ad or organic post
- Which campaign they were part of
- What creative or message they responded to
UTM parameters solve this problem by capturing granular data about every click. This allows you to:
- Compare campaign performance across platforms and channels
- Prove ROI by connecting marketing activities to conversions
- Make data-driven decisions about where to invest your budget
- Optimize your creative by testing different messages and formats
- Track partner and influencer campaigns with precision
The Five UTM Parameters (Quick Reference)
There are five standard UTM parameters—three required and two optional. The table below the tool above shows detailed examples, but here’s a quick overview:
| Parameter | Required? | What It Tracks | Example |
|---|---|---|---|
| utm_source | Yes | Where traffic comes from | facebook, google, newsletter |
| utm_medium | Yes | Type of marketing channel | social, email, cpc, display |
| utm_campaign | Yes | Specific campaign name | spring_sale_2025, product_launch |
| utm_term | No | Paid search keywords | running_shoes, best_laptop |
| utm_content | No | Creative variation or link | header_cta, image_ad, video_banner |
See the detailed parameter table in the tool above for complete descriptions and more examples.
Where to Use UTM Parameters
You can add UTM parameters to any link you share online. They’re especially valuable for:
- Social media posts (organic and paid)
- Email marketing campaigns and newsletters
- Digital advertising (Google Ads, display, retargeting)
- Influencer and partner campaigns
- QR codes on print materials
- Affiliate programs and referral links
Without UTM tracking, traffic from these sources often appears as “direct” or gets misattributed, making it impossible to measure campaign performance accurately.
Why Most Marketers Get UTM Tracking Wrong
Before we dive into best practices, let’s address the elephant in the room: most companies have messy UTM data. You’ve probably seen it in your own Google Analytics—campaigns with slightly different names appearing as separate entries, traffic from the same source showing up under multiple labels, or worse, valuable traffic showing up as “direct” because nobody bothered to tag the links.
This isn’t because UTM parameters are complicated. It’s because without clear guidelines, every team member creates tags differently. One person uses Facebook, another uses facebook, and someone else uses fb. By the end of the quarter, your campaign reports are unusable.
The solution? Follow these proven best practices from the start.
Best Practices for Creating UTM Parameters
Following these best practices ensures clean, consistent data in your analytics reports.
1. Always Use Lowercase
UTM parameters are case-sensitive. That means utm_source=Facebook and utm_source=facebook will appear as separate sources in your reports, fragmenting your data.
Rule: Always use lowercase for all parameter values.
Good: utm_source=facebook&utm_medium=social
Bad: utm_source=Facebook&utm_medium=Social
2. Use Hyphens or Underscores, Never Spaces
Spaces in URLs get encoded as %20, making your links ugly and hard to read in reports.
Rule: Replace spaces with hyphens (-) or underscores (_). Use + for spaces if you want them to display as spaces in Google Analytics.
Good: utm_campaign=spring-sale-2025
Also good: utm_campaign=spring_sale_2025
Bad: utm_campaign=spring sale 2025 (displays as spring%20sale%202025)
3. Keep a Master Spreadsheet
As your campaigns grow, it’s easy to create inconsistent tags. Maintain a spreadsheet of all your UTM links including:
- Full URL with parameters
- Short link (if using a URL shortener)
- Campaign name
- Source and medium
- Creation date
- Creator name
- Campaign notes
This prevents duplicate tags and maintains consistency across your team.
4. Never Tag Internal Links
This is critical: Never add UTM parameters to links between pages on your own website.
Here’s why: When someone clicks from Facebook to your blog post, Google Analytics starts a session and attributes it to Facebook. If that blog post has a button to your homepage with utm_source=blog, Google Analytics starts a new session and attributes it to your blog—losing the original Facebook attribution.
Rule: UTM parameters are for external traffic only.
5. Establish Naming Conventions
Before your team creates hundreds of tracking links, agree on naming standards:
- Format: How will you structure campaign names? (e.g.,
{goal}-{product}-{date}) - Separators: Hyphens or underscores?
- Date format: YYYY-MM-DD or MMDDYYYY?
- Capitalization: All lowercase (recommended)
- Abbreviations: What shortcuts are acceptable?
Document these rules and share them with everyone who creates tracking links.
6. Be Consistent Across Channels
If you’re running the same campaign on Facebook, Twitter, and LinkedIn, use the same utm_campaign value for all three. Only the utm_source should change.
This allows you to see total campaign performance across all channels in a single view.
Channel-Specific UTM Strategies
Different marketing channels require different approaches to UTM tracking.
Email Marketing
Recommended structure:
utm_source: How the person joined the list (newsletter,download,webinar)utm_medium:emailutm_campaign: Campaign identifier (weekly-2025-01-10,product-launch)utm_content: Link location or CTA (header-cta,footer-link)
Example:
utm_source=newsletter
&utm_medium=email
&utm_campaign=weekly-2025-01-10
&utm_content=hero-cta
Why this works: It tells you not just that traffic came from email, but which list it came from and which specific campaign. You can compare the performance of different email lists and identify your most valuable subscribers.
Social Media (Organic)
Recommended structure:
utm_source: Platform name (facebook,linkedin,twitter)utm_medium:socialutm_campaign: What you’re promotingutm_content: Post type or variation (video,carousel,story)
Example:
utm_source=linkedin
&utm_medium=social
&utm_campaign=case-study-launch
&utm_content=carousel-post
Pro tip: For platforms like Instagram where you can’t add clickable links to posts, use UTM parameters in your bio link and Stories.
Social Media Ads
Recommended structure:
utm_source: Platform name (facebook,linkedin,twitter)utm_medium:paid-socialorsocial-cpcutm_campaign: Campaign nameutm_content: Ad variation or creative (image-a,video-b)utm_term: Audience segment (optional)
Example:
utm_source=facebook
&utm_medium=paid-social
&utm_campaign=spring-sale
&utm_content=video-ad-v2
&utm_term=interest-runners
Important: Don’t use utm_medium=cpc for social ads. Google Analytics defaults to categorizing cpc as paid search, which will make your social ads appear under “Paid Search” instead of “Paid Social.”
Google Ads
Recommended approach: Use auto-tagging, not manual UTM parameters.
Google Ads has a built-in auto-tagging feature that appends a gclid parameter to your URLs. This provides more detailed tracking than manual UTM parameters and automatically integrates with Google Analytics.
When to use manual UTMs: Only if your website doesn’t support gclid parameters or you need to track Google Ads data in non-Google analytics platforms.
If you must use manual UTM tags with Google Ads:
utm_source:googleutm_medium:cpcutm_campaign: Campaign nameutm_term:{keyword}(use Google’s dynamic parameter)utm_content: Ad variation
Display Advertising
Recommended structure:
utm_source: Ad platform or publisher (gdn,publisher-name)utm_medium:displayutm_campaign: Campaign nameutm_content: Ad size or placement (300x250,sidebar)
Example:
utm_source=gdn
&utm_medium=display
&utm_campaign=retargeting-q1
&utm_content=728x90-banner
Partner and Affiliate Campaigns
Recommended structure:
utm_source: Partner name or domainutm_medium:referraloraffiliateutm_campaign: Partnership name or offerutm_content: Link placement (optional)
Example:
utm_source=partner-blog
&utm_medium=affiliate
&utm_campaign=review-post
Pro tip: Give each partner a unique source value so you can track performance individually.
Common UTM Mistakes to Avoid
Even experienced marketers make these mistakes. Here’s how to avoid them.
Mistake #1: Inconsistent Naming
Problem: Your team creates utm_campaign=sale, utm_campaign=Sale, and utm_campaign=SALE for the same campaign.
Result: Three separate campaigns in your reports, splitting your data.
Solution: Enforce lowercase conventions and maintain a master spreadsheet of approved values.
Mistake #2: Using the Same UTM Parameters Repeatedly
Problem: You use utm_campaign=newsletter for every email you send.
Result: All your emails blend together, making it impossible to compare performance.
Solution: Make campaigns unique by adding dates or version numbers: newsletter-2025-01-10
Mistake #3: Forgetting UTM Parameters in Redirects
Problem: You tag a link that redirects to another URL, and the redirect strips your UTM parameters.
Result: Traffic appears as “direct” instead of from your campaign.
Solution: Always use the final destination URL, not a URL that will redirect. If you must use redirects, configure your server to preserve query parameters.
Mistake #4: Tagging Internal Links
Problem: You add utm_source=blog to links from your blog to your homepage.
Result: Blog traffic gets attributed as a separate source, overwriting the original referrer and inflating your session count.
Solution: Never use UTM parameters on internal links. Use Google Analytics events or destination tracking instead.
Mistake #5: Using Spaces or Special Characters
Problem: You create utm_campaign=My Campaign! with spaces and special characters.
Result: URLs break, or parameters display as My%20Campaign%21 in reports.
Solution: Use only lowercase letters, numbers, hyphens, underscores, and plus signs.
Mistake #6: Ignoring Mobile Apps
Problem: You share UTM links via mobile apps (WhatsApp, Telegram, Instagram DMs) that don’t preserve referrer information.
Result: Traffic appears as “direct” even though it came from your campaign.
Solution: Always use UTM parameters when sharing links on mobile apps or in contexts where referrer information might be lost.
Mistake #7: Not Testing Before Launch
Problem: You create 1,000 tagged links for a major campaign and discover after launch that the parameters don’t work.
Result: Lost data, wasted budget, no way to measure results.
Solution: Always test a tagged URL by clicking it yourself and verifying the parameters appear in Google Analytics Real-Time reports.
How to Track UTM Parameters in Google Analytics
Once you’ve created tagged links, here’s how to view the data in Google Analytics.
Google Analytics 4 (GA4)
- Navigate to Reports → Acquisition → Traffic acquisition
- Change the primary dimension to:
- Session source/medium to see traffic by source and medium
- Session campaign to see traffic by campaign
- Use the secondary dimension dropdown to add additional context:
- Add Session source to see campaigns broken down by source
- Add First user campaign to see the first campaign that brought users
- Click any row to drill down into specific campaign performance
Pro tip: Create a custom report or exploration to view all UTM parameters together:
- Go to Explore → Free form
- Add dimensions: Session source, Session medium, Session campaign, Manual ad content (utm_content), Manual term (utm_term)
- Add metrics: Sessions, Users, Conversions, Revenue
Universal Analytics (Legacy)
- Navigate to Acquisition → Campaigns → All Campaigns
- Click a campaign name to see performance details
- Use the Secondary dimension dropdown to add:
- Source/Medium to see where campaign traffic came from
- Ad Content to view
utm_contentdata - Keyword to view
utm_termdata
Filtering and Segments
Use filters to focus on specific campaigns:
- Click Advanced next to the search box
- Select Campaign from the dropdown
- Choose Contains and enter part of your campaign name
- Click Apply
This allows you to see only campaigns matching your criteria, like all campaigns containing “2025” or “black-friday.”
Real-Time Verification
To test if your UTM parameters are working:
- Go to Real-Time → Overview in Google Analytics
- Click your tagged link
- Look at the Traffic sources section
- Your UTM parameters should appear within 10-30 seconds
If you don’t see your parameters, check for redirects or server issues that might be stripping the query string.
Advanced UTM Strategies
Once you’ve mastered the basics, these advanced techniques can unlock even more insights.
UTM Naming Conventions
For large organizations with multiple teams creating tracking links, implement a structured naming convention.
Example format for utm_campaign:
{business-unit}-{product}-{goal}-{date}-{description}
Resulting campaign name:
saas-analytics-trial-2025-01-webinar
This structure allows you to filter campaigns by business unit, product line, marketing goal, or time period without manually tagging each dimension.
Benefits:
- Consistent data across teams
- Easy filtering in reports
- Automated reporting based on naming patterns
- Reduced training time for new team members
A/B Testing with utm_content
Use utm_content to test variations:
Test 1: Email CTA copy
- Link A:
utm_content=cta-learn-more - Link B:
utm_content=cta-get-started
Test 2: Social media creative
- Link A:
utm_content=image-product - Link B:
utm_content=video-demo
Compare performance in Google Analytics to see which variation drives more clicks, conversions, or revenue.
QR Codes with UTM Parameters
When creating QR codes for print materials, include UTM parameters:
utm_source=qr-code
&utm_medium=print
&utm_campaign=conference-2025
&utm_content=booth-banner
This lets you track offline marketing effectiveness. You can even create different QR codes for different locations or materials.
Link Shortening
Long UTM URLs can look ugly in social media posts and emails. Use a URL shortener like Bitly, Ow.ly (Hootsuite), or create branded short links.
Benefits:
- Cleaner appearance
- Click tracking in the shortener’s dashboard
- Easier to share on social media
- Can update destination URL without changing the short link
Important: Make sure your shortener preserves UTM parameters. Most modern services do this automatically.
Custom Dashboards
Create a Google Analytics dashboard that displays:
- Top campaigns by conversions
- Source/medium performance comparison
- Campaign revenue over time
- Content variation performance
This gives you a single view of all campaign data without digging through individual reports.
UTM Parameters and SEO
Good news: UTM parameters don’t hurt your SEO.
Google’s crawlers ignore UTM parameters when indexing pages. They understand these are for tracking and don’t consider URLs with different UTM parameters as duplicate content.
However, follow these best practices:
- Use canonical tags: Add a canonical tag to your pages pointing to the clean URL without parameters:
<link rel="canonical" href="https://example.com/page" /> - Configure Google Search Console: If UTM URLs do appear in search results, use the URL Parameters tool in Search Console to tell Google how to handle them.
- Don’t overuse: While UTM parameters don’t hurt SEO, extremely long URLs with dozens of parameters can look spammy. Keep it reasonable.
Frequently Asked Questions
Do I need all five UTM parameters?
No. Only utm_source is technically required for tracking to work, but using utm_source, utm_medium, and utm_campaign together gives you meaningful insights. The other two parameters (utm_term and utm_content) are optional and used for specific tracking needs.
Can I use UTM parameters with Google Ads?
While you can manually add UTM parameters to Google Ads, it’s better to use Google’s auto-tagging feature. Auto-tagging provides more detailed data and integrates seamlessly with Google Analytics. Only use manual UTM tags if your site can’t handle gclid parameters or you need the data in non-Google analytics tools.
How do I fix inconsistent UTM data?
If you already have messy data with inconsistent naming:
- Create a master list of approved UTM values
- Set up filters in Google Analytics to standardize future data (lowercase everything)
- Export historical data and clean it in spreadsheets for historical analysis
- Train your team on new conventions
- Use a UTM builder tool to enforce consistency
Will UTM parameters slow down my website?
No. UTM parameters are simply text appended to URLs. They don’t affect page load speed or website performance. The tracking happens in your analytics tool, not on your server.
Can I edit UTM parameters after publishing?
Yes and no. Once you share a link, you can’t change the UTM parameters in that specific URL—it’s already out there. However, you can:
- Create new links with corrected parameters
- Use 301 redirects to point old links to new URLs with proper UTMs
- If using a URL shortener, update the destination URL (though this changes the tracking)
How long should campaign names be?
Keep campaign names under 50 characters if possible. Long names get truncated in some reports and are harder to read. Be descriptive but concise: spring-sale-2025 instead of spring-seasonal-promotional-sale-event-2025.
Do UTM parameters work with email?
Yes, and they’re essential for email marketing. Email clients don’t send referrer information, so without UTM parameters, email traffic appears as “direct” in analytics. Always tag email links with utm_medium=email and an appropriate source and campaign.
Can I see UTM data in platforms other than Google Analytics?
Yes. Most modern analytics platforms (Mixpanel, Amplitude, Matomo, Adobe Analytics) automatically detect and report UTM parameters. The data works the same way across platforms—the parameters are just text in the URL that each tool reads and reports on.
Should I use UTM parameters for organic search?
No. Search engines automatically send referrer information, and Google Analytics categorizes organic search traffic correctly without UTM parameters. Adding them to organic search results could actually confuse your data.
What’s the difference between utm_source and utm_medium?
- utm_source identifies the specific origin (facebook, google, newsletter-A)
- utm_medium identifies the channel type (social, cpc, email)
Think of medium as the category and source as the specific instance. Multiple sources can share the same medium (facebook, twitter, and linkedin all use medium=social).
Can I use UTM parameters on mobile apps?
Yes. When sharing links from mobile apps that don’t preserve referrer information (WhatsApp, Telegram, native email apps), UTM parameters become even more important. Without them, this traffic appears as “direct.”
How do I track QR codes with UTM parameters?
Create a unique URL with UTM parameters specifically for your QR code:
utm_source=qr-code
&utm_medium=print
&utm_campaign=event-name
&utm_content=location
Then generate the QR code from this full URL. When someone scans it, Google Analytics will track it as a print campaign.
Will redirects strip my UTM parameters?
It depends on how the redirect is configured. 301 and 302 redirects can preserve UTM parameters if the server is set up correctly. Always test your redirect to ensure parameters survive. If they don’t, ask your developer to configure the server to pass query parameters through redirects.
Can I track the same campaign across multiple channels?
Yes, and you should! Use the same utm_campaign value across all channels where you’re running the campaign. Only change utm_source and potentially utm_medium. This lets you see total campaign performance while still differentiating by channel.
How do I export UTM data from Google Analytics?
In GA4:
- Navigate to any report showing campaign data
- Click the Share icon (top right)
- Select Download file
- Choose format (PDF, CSV, Excel)
You can also use the Google Analytics API to automatically export campaign data to spreadsheets or dashboards.
UTM parameters are one of the simplest yet most powerful tools in digital marketing. They transform vague traffic sources into actionable insights, allowing you to measure what matters, optimize what works, and eliminate what doesn’t.
Start with the basics:
- Use
utm_source,utm_medium, andutm_campaignon every external link - Keep everything lowercase
- Never tag internal links
- Test before you launch
As you get comfortable, expand to advanced strategies like naming conventions, A/B testing with utm_content, and automated reporting.
The marketers who succeed aren’t the ones with the biggest budgets—they’re the ones with the best data. UTM parameters give you that data.
Ready to start tracking? Use our free UTM builder above to create your first tracking link in seconds. Your future self (and your CFO) will thank you.