UTM Parameters Explained: Complete Campaign Tracking Guide (2026)
If you are running marketing campaigns across multiple channels and you cannot tell which ones are actually driving results, you need UTM parameters. This guide explains what UTM parameters are, how to use all five tags correctly, naming conventions that keep your data clean, and how to analyze UTM data in Google Analytics.
Build UTM Links in Seconds
Enter your URL and campaign details. Get a properly formatted UTM link instantly. No signup required.
Open Free UTM Link BuilderWhat Are UTM Parameters?
UTM parameters (Urchin Tracking Module parameters) are short text tags that you add to the end of a URL. When someone clicks a link with UTM parameters, those tags are sent to your analytics tool, telling you exactly where the visitor came from, which campaign brought them, and what content they clicked.
The name "UTM" comes from Urchin Software Corporation, the company that created the tracking system. Google acquired Urchin in 2005 and built it into what became Google Analytics. The UTM system has survived every version of Google Analytics, including the migration to GA4, because it is simple, universal, and effective.
Here is what a URL with UTM parameters looks like:
https://example.com/pricing?utm_source=twitter&utm_medium=social&utm_campaign=spring_launch_2026&utm_content=cta_button
Everything after the ? is a query parameter. The UTM tags do not change the destination page — visitors still land on /pricing. But your analytics tool reads those tags and records them, so you can see that this particular visitor came from Twitter, via a social media post, as part of the spring launch campaign, and they clicked the CTA button version of the link.
The 5 UTM Parameters Explained
There are five standard UTM parameters. Three are required for tracking to work, and two are optional but highly recommended for detailed analysis.
| Parameter | Required? | Purpose | Example |
|---|---|---|---|
utm_source |
Yes | Identifies the platform or site sending traffic | google, facebook, newsletter |
utm_medium |
Yes | Identifies the marketing channel type | cpc, email, social, referral |
utm_campaign |
Yes | Identifies the specific campaign | spring_sale_2026, product_launch |
utm_term |
No | Identifies paid search keywords | running+shoes, crm+software |
utm_content |
No | Differentiates similar content or A/B test variants | header_banner, sidebar_link, blue_cta |
utm_source: Where Is the Traffic Coming From?
This parameter answers: "Which website, platform, or publication sent this visitor?" It should identify the specific source, not the channel type.
utm_source=google— Google Search or Google Adsutm_source=facebook— Facebook posts or adsutm_source=mailchimp— Mailchimp email campaignsutm_source=partner_blog— A specific partner's blogutm_source=linkedin— LinkedIn posts or ads
utm_medium: What Type of Channel Is It?
This parameter answers: "What kind of marketing channel brought this visitor?" Keep these values consistent and use Google's recommended values when possible, so GA4 can automatically categorize your traffic into Default Channel Groups.
utm_medium=cpc— Cost-per-click paid ads (Google Ads, etc.)utm_medium=email— Email campaignsutm_medium=social— Organic social media postsutm_medium=paid_social— Paid social media adsutm_medium=referral— Links from other websitesutm_medium=display— Display/banner adsutm_medium=affiliate— Affiliate links
Tip: GA4 uses the utm_medium value to assign traffic to its Default Channel Groups. Using email as your medium ensures your traffic appears in the "Email" channel group. Using a non-standard value like newsletter_blast will put the traffic in "Unassigned." Stick to Google's standard medium values.
utm_campaign: What Specific Campaign Is This?
This parameter answers: "Which marketing campaign or promotion does this link belong to?" It should be specific enough to identify the campaign but consistent across all links in that campaign.
utm_campaign=spring_sale_2026— A seasonal promotionutm_campaign=product_launch_v2— A product launch campaignutm_campaign=weekly_newsletter_mar17— A specific newsletter issueutm_campaign=black_friday_2026— Black Friday promotion
utm_term: What Keyword Triggered This? (Optional)
Originally designed for tracking paid search keywords, utm_term identifies the specific keyword or search term that triggered your ad. Google Ads auto-tags keywords, so utm_term is most useful for non-Google paid search platforms (Bing Ads, DuckDuckGo Ads) where auto-tagging is not available.
utm_term=best+project+management+software
utm_content: Which Link or Variant? (Optional)
This parameter is your most flexible tag. Use it to differentiate between multiple links that share the same source, medium, and campaign. Common uses include:
- A/B testing:
utm_content=red_buttonvsutm_content=blue_button - Link placement:
utm_content=header_navvsutm_content=footer_link - Ad creative:
utm_content=video_advsutm_content=image_ad - Email section:
utm_content=hero_ctavsutm_content=sidebar_cta
How to Build a UTM-Tagged URL
A UTM URL consists of your base URL followed by a ? and then the UTM parameters joined by &:
https://yoursite.com/landing-page ?utm_source=facebook &utm_medium=paid_social &utm_campaign=spring_sale_2026 &utm_content=carousel_ad_v2
The rules are simple:
- Start with your destination URL
- Add a
?after the URL (or&if the URL already has query parameters) - Add each UTM parameter as
key=value - Separate multiple parameters with
& - Do not include spaces — use
_or+instead
Common mistake: Adding a second ? when the URL already has query parameters. If your URL is example.com/page?ref=123, add UTM tags with &: example.com/page?ref=123&utm_source=twitter. Two question marks will break the URL.
Building UTM URLs manually is error-prone. Use a UTM link builder tool to generate correctly formatted links every time.
UTM Naming Conventions: The Rules That Keep Your Data Clean
Inconsistent naming is the number one problem with UTM tracking. If one team member uses utm_source=Facebook and another uses utm_source=facebook, your analytics will show them as two separate sources. Here are the rules you should enforce:
1. Always Use Lowercase
UTM parameters are case sensitive in Google Analytics. Facebook, facebook, and FACEBOOK will all appear as different sources. Use lowercase for everything, no exceptions.
utm_source=facebook (correct) utm_source=Facebook (wrong - creates separate entry) utm_source=FACEBOOK (wrong - creates separate entry)
2. Use Underscores, Not Spaces or Hyphens
Spaces in URLs get encoded as %20 or +, which look messy in reports. Hyphens work technically but underscores are the convention used in Google's own documentation.
utm_campaign=spring_sale_2026 (clean) utm_campaign=spring%20sale%202026 (messy) utm_campaign=spring-sale-2026 (works but inconsistent)
3. Be Specific but Concise
Your future self needs to understand what each value means. utm_campaign=q1 is too vague. utm_campaign=q1_2026_email_nurture_sequence_for_new_enterprise_customers is too long. Aim for the middle ground.
4. Document Your Naming Conventions
Create a shared spreadsheet or document that lists all approved values for each UTM parameter. Include the source name, medium, and campaign naming format. This is especially important for teams with multiple people creating links.
| Parameter | Convention | Examples |
|---|---|---|
utm_source |
Platform name, lowercase | google, facebook, linkedin, mailchimp |
utm_medium |
Google's standard values | cpc, email, social, paid_social, display |
utm_campaign |
purpose_date or purpose_quarter | spring_sale_2026, onboarding_q1 |
utm_content |
placement_variant | header_cta, footer_link, blue_button |
Real-World UTM Examples by Channel
Here are complete UTM examples for every major marketing channel. Copy and adapt these templates for your own campaigns.
Email Marketing
https://yoursite.com/pricing ?utm_source=mailchimp &utm_medium=email &utm_campaign=weekly_digest_mar17 &utm_content=pricing_cta_button
Facebook Ads
https://yoursite.com/free-trial ?utm_source=facebook &utm_medium=paid_social &utm_campaign=free_trial_q1_2026 &utm_content=video_testimonial_ad
Google Ads
https://yoursite.com/product ?utm_source=google &utm_medium=cpc &utm_campaign=brand_keywords_2026 &utm_term=best+crm+software
Tip: If you use Google Ads auto-tagging (gclid), you do not need UTM parameters for Google Ads campaigns. Auto-tagging provides more detailed data in GA4. Only add UTM parameters to Google Ads if auto-tagging is disabled or for cross-platform consistency.
LinkedIn Organic Posts
https://yoursite.com/blog/case-study ?utm_source=linkedin &utm_medium=social &utm_campaign=thought_leadership_2026 &utm_content=case_study_post
Partner / Affiliate Links
https://yoursite.com/signup ?utm_source=partner_techblog &utm_medium=affiliate &utm_campaign=partner_program_2026 &utm_content=sidebar_banner
QR Codes (Print Materials)
https://yoursite.com/menu ?utm_source=qr_code &utm_medium=print &utm_campaign=restaurant_menu_spring_2026 &utm_content=table_tent_card
Viewing UTM Data in Google Analytics 4
Once you start tagging your links, you need to know where to find the data in GA4. Here are the key reports.
Traffic Acquisition Report
Navigate to Reports > Acquisition > Traffic acquisition. This report shows sessions grouped by the traffic source dimensions. Click the dropdown to switch between Session source, Session medium, and Session campaign. This is where your UTM data lives.
Using the Explore Feature for Deep Analysis
For more detailed analysis, use GA4's Explore feature:
- Go to Explore in the left sidebar
- Create a new Free-Form exploration
- Add dimensions: Session source, Session medium, Session campaign, Session manual ad content (for utm_content)
- Add metrics: Sessions, Conversions, Revenue
- Build a table to compare campaign performance across sources
Creating Segments Based on UTM Data
You can create audience segments in GA4 based on UTM values. For example, create a segment for all users who arrived via email campaigns to analyze their behavior compared to users from paid ads. This is invaluable for understanding which acquisition channels bring the highest-quality traffic.
Common UTM Mistakes (and How to Avoid Them)
These are the errors that waste the most time and corrupt the most data. Avoid all of them.
1. Using UTM Parameters on Internal Links
This is the single biggest UTM mistake. When you add UTM parameters to a link from one page of your site to another page of your site, the new UTM values override the original traffic source. A visitor who came from Google organic will suddenly appear to have come from "internal_banner." You lose all original attribution data.
Rule: Never use UTM parameters on internal links. Period. Use GA4 event tracking or content grouping to track internal navigation instead.
2. Inconsistent Naming
Using facebook in some campaigns and Facebook or fb in others fragments your data across three different source entries. Pick one value and document it. Use a UTM builder tool to enforce consistency.
3. Not Using UTM Parameters at All
If you share links on social media, in emails, or with partners without UTM tags, all that traffic shows up as "Direct" or "Unassigned" in Google Analytics. You cannot optimize what you cannot measure.
4. Putting Sensitive Data in UTM Parameters
UTM parameters are visible in the URL bar, stored in browser history, logged by web servers, and can be indexed by search engines. Never put personal information, user IDs, email addresses, or any sensitive data in UTM values.
5. Forgetting URL Encoding
If your UTM values contain special characters (like &, =, #, or spaces), they must be URL-encoded. Spaces should be + or %20. The safest approach is to avoid special characters entirely and stick to lowercase letters, numbers, and underscores.
6. Using Too Many Campaign Names
Creating a new utm_campaign for every single social media post makes your campaign report unusable. Group related activities under a single campaign name and use utm_content to differentiate individual pieces of content within that campaign.
Advanced UTM Strategies
UTM Parameters with URL Shorteners
Long UTM-tagged URLs are ugly. Use a URL shortener (Bit.ly, short.io, or your own custom domain) to create clean links that still contain the full UTM tracking. The UTM parameters are preserved through the redirect — the shortener just hides them from the visible URL.
Dynamic UTM Parameters in Ad Platforms
Most ad platforms support dynamic parameter insertion using curly brace syntax. This automatically fills in campaign details:
Facebook Ads:
utm_campaign={{campaign.name}}&utm_content={{ad.name}}
Google Ads:
utm_campaign={campaignid}&utm_term={keyword}
LinkedIn Ads:
utm_campaign={{CAMPAIGN_NAME}}&utm_content={{CREATIVE_NAME}}
UTM for Email Marketing Automation
Email platforms like Mailchimp, HubSpot, and ConvertKit can automatically append UTM parameters to all links in your emails. Set up automatic tagging rules so you never have to manually build UTM links for email campaigns. Configure it once and every link in every email will be properly tagged.
UTM with Google Tag Manager
Google Tag Manager can read UTM parameters from the URL and use them as variables in your tag configurations. This allows you to fire specific tags, adjust tracking behavior, or personalize page content based on the UTM values of the incoming link.
UTM Parameters and SEO
A common concern is whether UTM parameters hurt SEO. Here is what you need to know.
UTM parameters do not directly affect rankings. Google is generally smart enough to ignore UTM parameters and treat the URL as its canonical version. However, there are two potential issues:
- Duplicate content: If search engines index multiple versions of the same page with different UTM parameters, it creates duplicate content. Prevent this with canonical tags that point to the clean URL.
- Crawl budget waste: If Googlebot discovers thousands of UTM-tagged URLs, it might waste crawl budget visiting what are essentially the same pages. Use your robots.txt file to block crawling of URLs with UTM parameters if this becomes an issue.
<link rel="canonical" href="https://yoursite.com/pricing">Robots.txt rule to block UTM URLs:
User-agent: * Disallow: /*?*utm_
Tip: For most websites, the canonical tag alone is sufficient. You only need the robots.txt rule if you have a very large site and notice Googlebot spending significant crawl budget on UTM-tagged URLs in your Search Console crawl stats.
UTM Parameters Quick Reference Checklist
- Always use all three required parameters: utm_source, utm_medium, utm_campaign
- Use utm_content to differentiate multiple links in the same campaign
- Use utm_term only for paid search keywords on non-Google platforms
- Always use lowercase values to prevent data fragmentation
- Use underscores instead of spaces or hyphens
- Never use UTM parameters on internal links
- Never put sensitive data in UTM values
- Use Google's standard medium values (cpc, email, social, display, affiliate)
- Document your naming conventions in a shared reference
- Use a UTM builder tool to ensure consistent formatting
- Add canonical tags to prevent duplicate content from UTM URLs
- Use URL shorteners to hide long UTM-tagged URLs in social media posts
Frequently Asked Questions
What are UTM parameters?
UTM parameters (Urchin Tracking Module parameters) are tags added to the end of a URL that help you track where your website traffic comes from. When someone clicks a link with UTM parameters, the tags are sent to your analytics tool (like Google Analytics), allowing you to see exactly which campaigns, platforms, and content pieces are driving traffic and conversions.
What are the 5 UTM parameters?
The 5 UTM parameters are: utm_source (identifies the platform or website sending traffic), utm_medium (identifies the marketing medium type), utm_campaign (identifies the specific campaign name), utm_term (identifies paid search keywords), and utm_content (differentiates similar content or links within the same campaign).
Are UTM parameters case sensitive?
Yes. UTM parameters are case sensitive in Google Analytics. "Facebook" and "facebook" will be tracked as two different sources. Always use lowercase for all UTM values to avoid data fragmentation. Establish a naming convention and document it so your entire team uses the same format.
Do UTM parameters affect SEO?
UTM parameters do not directly affect SEO rankings. However, if search engines index URLs with UTM parameters, it can create duplicate content issues. To prevent this, use canonical tags on your pages to point to the clean URL without parameters.
Should I use UTM parameters on internal links?
No. Never use UTM parameters on internal links. Internal UTM links override the original traffic source data, making it appear as if the visitor came from your own site rather than their actual source. This destroys your attribution data. Use event tracking or content grouping for internal link tracking instead.
Build UTM Links Without Errors
Our free UTM Link Builder lets you enter your URL and campaign details, then generates a correctly formatted UTM link with one click. It enforces lowercase values and proper URL encoding automatically. No signup, no data sent to any server, works on desktop and mobile.
Open the Free UTM Link Builder →Related guides: Meta Tags SEO Guide · Robots.txt Guide · Base64 Encode/Decode Guide · Best Free Business Tools