You've probably seen URLs with ?utm_source= and wondered what those cryptic parameters mean. UTM parameters are the backbone of digital marketing measurement—they tell you exactly which campaigns, ads, and links are driving traffic to your site. Without them, you're flying blind.
Key Takeaways
- 1UTM parameters track where your traffic comes from — essential for measuring marketing ROI
- 2Only 3 parameters are required: utm_source, utm_medium, and utm_campaign
- 3Use lowercase and underscores for consistency — utm_source=google not Utm_Source=Google
- 4Never use UTM parameters on internal links — they overwrite the original source
- 5Google Analytics reports are only as good as your UTM discipline
What Are UTM Parameters?
Understanding UTM parameters starts with knowing what they are and how they flow through your analytics. This section explains the basic concept and shows exactly what happens when someone clicks a UTM-tagged link.
UTM parameters are tags you add to the end of a URL. When someone clicks that tagged link, the parameters are sent to Google Analytics (or other analytics tools), which uses them to categorize and report on your traffic.
https://example.com/landing-page?utm_source=facebook&utm_medium=paid_social&utm_campaign=summer_sale_2026In this example, when a user clicks this link:
- utm_source=facebook — Traffic came from Facebook
- utm_medium=paid_social — It was a paid social ad (not organic)
- utm_campaign=summer_sale_2026 — It's part of the Summer Sale 2026 campaign
This data appears in your Google Analytics reports, letting you see exactly how each campaign performs and calculate ROI.
Now let's dive into each of the five UTM parameters and when to use them.
The 5 UTM Parameters
UTM tracking uses five standard parameters, each serving a specific purpose. This section explains all five parameters in detail, showing you exactly when and how to use each one to get actionable data in your analytics.
There are five standard UTM parameters. Three are required for tracking to work properly, and two are optional for more granular analysis.
The table below summarizes all five parameters. We'll cover each one in detail afterward.
| Parameter | Required | Purpose | Example |
|---|---|---|---|
utm_source | Yes | Identifies the traffic source (website, platform, or referrer) | google, facebook, newsletter |
utm_medium | Yes | Identifies the marketing medium or channel | cpc, email, social, organic |
utm_campaign | Yes | Identifies the specific campaign or promotion | summer_sale, product_launch |
utm_term | No | Identifies paid search keywords | running+shoes, blue+widgets |
utm_content | No | Differentiates similar content or links | header_cta, sidebar_banner |
utm_source (Required)
The source parameter identifies where the traffic is coming from. This could be a search engine, social network, email newsletter, or any other referrer.
Common source values:
googlefacebookinstagramtwitterlinkedinnewsletterbingyoutubetiktokutm_medium (Required)
The medium parameter identifies how the traffic arrived—the marketing channel or mechanism. This is crucial for understanding which types of marketing work best.
Standard medium values (use these for GA4 compatibility):
cpcCost-per-click paid ads (Google Ads, Bing Ads)emailEmail marketing campaignssocialOrganic social media postspaid_socialPaid social media adsaffiliateAffiliate marketing linksreferralLinks from other websitesdisplayDisplay/banner advertisingutm_campaign (Required)
The campaign parameter identifies the specific marketing campaign, promotion, or initiative. This is your internal name for the effort.
https://example.com/shoes?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale_2026Good campaign names are:
- Descriptive — You should know what it refers to months later
- Consistent — Use the same naming convention across all campaigns
- Date-stamped — Include year/month for time-based campaigns
utm_term (Optional)
The term parameter is used primarily for paid search campaigns to identify the keyword that triggered the ad. For Google Ads, this can be populated automatically using {keyword} dynamic insertion.
https://example.com/shoes?utm_source=google&utm_medium=cpc&utm_campaign=spring_shoes&utm_term=running+shoesutm_content (Optional)
The content parameter differentiates between similar links in the same campaign. This is useful for A/B testing or when you have multiple links pointing to the same page.
https://example.com/signup?utm_source=newsletter&utm_medium=email&utm_campaign=jan_2026&utm_content=header_buttonCommon uses for utm_content:
- A/B test variants:
variant_a,variant_b - Link position:
header_cta,footer_link,sidebar_banner - Creative type:
video_ad,image_ad,text_ad
Knowing the parameters is just the start—using them correctly is where most teams struggle. Let's cover the best practices that separate messy, unusable data from actionable insights.
UTM Best Practices
The best UTM system is worthless if your team doesn't follow consistent conventions. This section covers the critical practices that keep your analytics data clean and actionable, including the one mistake that corrupts more analytics data than any other.
1. Use Consistent Naming Conventions
The biggest mistake with UTM parameters is inconsistency. facebook, Facebook, FB, and fb are all treated as different sources in your analytics.
Bad: Inconsistent naming
utm_source=Facebookutm_source=facebookutm_source=FButm_medium=Emailutm_medium=e-mail
Good: Consistent naming
utm_source=facebook(always lowercase)utm_medium=email(always lowercase)utm_campaign=spring_2026(underscores, not spaces)utm_content=header_cta(descriptive)
Rules to follow:
- Always use lowercase — UTM parameters are case-sensitive
- Use underscores, not spaces —
spring_salenotspring%20sale - Be specific but concise —
fb_retargetingnotfacebook_retargeting_campaign_for_cart_abandoners - Document your conventions — Create a spreadsheet or doc with approved values
2. Never Use UTMs on Internal Links
This is a critical mistake that corrupts your analytics data. When you use UTM parameters on links within your own site, you overwrite the original source that brought the user to your site.
Example of the problem:
- User clicks your Google Ad (utm_source=google, utm_medium=cpc)
- Lands on your homepage
- Clicks an internal banner with
utm_source=homepage_banner - Now GA thinks this user came from "homepage_banner" — the Google Ads attribution is lost!
For internal promotion tracking, use Google Analytics events or a separate parameter like promo_id that isn't a UTM parameter.
3. Shorten Long UTM URLs
UTM-tagged URLs can get very long, which looks ugly when shared. Use URL shorteners (Bitly, short.io, or your own domain) for public-facing links.
Raw UTM URL (73 characters after domain):
https://example.com/sale?utm_source=twitter&utm_medium=social&utm_campaign=flash_sale_jan26Shortened (cleaner for social sharing):
https://bit.ly/flash-sale-264. Properly Encode Special Characters
If your UTM values contain special characters, they must be URL-encoded. Spaces should be + or %20, and characters like & must be %26.
// Building UTM URLs safely in JavaScript
const url = new URL('https://example.com/page');
url.searchParams.set('utm_source', 'facebook');
url.searchParams.set('utm_medium', 'paid_social');
url.searchParams.set('utm_campaign', 'Q1 2026 Sale'); // Spaces handled automatically
console.log(url.toString());
// https://example.com/page?utm_source=facebook&utm_medium=paid_social&utm_campaign=Q1+2026+SaleBetter yet, use our UTM Builder tool to generate properly formatted URLs.
With your URLs properly built, let's see how they appear in Google Analytics and how to find the data.
Using UTMs with Google Analytics
Your carefully crafted UTM parameters flow into specific GA4 dimensions and influence how traffic is categorized into channels. This section maps UTM parameters to GA4 reports so you know exactly where to find your data.
In Google Analytics 4 (GA4), UTM parameters automatically populate the following dimensions:
The table below shows which GA4 dimension each UTM parameter populates and where to find it in the interface:
| UTM Parameter | GA4 Dimension | Where to Find It |
|---|---|---|
utm_source | Session source | Acquisition > Traffic acquisition |
utm_medium | Session medium | Acquisition > Traffic acquisition |
utm_campaign | Session campaign | Acquisition > Traffic acquisition |
utm_term | Session manual term | Exploration reports |
utm_content | Session manual ad content | Exploration reports |
GA4 uses UTM parameters to classify traffic into channels. For example:
utm_medium=cpc→ Paid Search channelutm_medium=email→ Email channelutm_medium=socialorutm_medium=paid_social→ Organic/Paid Social
Using non-standard medium values may cause traffic to be classified as "Unassigned" in GA4's default channel groupings.
Let's see how these parameters come together in real campaigns.
Real-World UTM Examples
Abstract rules are helpful, but seeing real examples makes UTM parameters click. This section shows complete, copy-worthy URL examples for the most common marketing channels.
Email Newsletter
https://example.com/blog/new-post?utm_source=newsletter&utm_medium=email&utm_campaign=weekly_digest_jan_2026&utm_content=featured_storyFacebook Paid Ad
https://example.com/product?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_collection&utm_content=carousel_adGoogle Ads Search Campaign
https://example.com/landing?utm_source=google&utm_medium=cpc&utm_campaign=brand_search&utm_term={keyword}Influencer Partnership
https://example.com/promo?utm_source=instagram&utm_medium=influencer&utm_campaign=summer_collab&utm_content=jane_doeBuild Your UTM URLs
Try the URL Editor UTM Builder
Generate properly formatted UTM URLs with our free tool. No signup required.
Open UTM Builder