What Are UTM Parameters?
Five tags appended to URLs.
UTM parameters are query-string tags added to the end of a URL that tell Google Analytics exactly where a visitor came from, which campaign brought them, and what they clicked. Google's own Campaign URL Builder documentation defines five standard parameters — source, medium, campaign, term, and content — that flow directly into GA4 acquisition reports.
UTM stands for Urchin Tracking Module, named after Urchin Software — the analytics company Google acquired in 2005 to build Google Analytics. The parameters survived every version of GA since, including the migration to GA4.
Here is what a tagged URL looks like in practice:
`
https://yourstore.com/products/summer-collection
?utm_source=facebook
&utm_medium=paid-social
&utm_campaign=summer-sale-2026
&utm_content=carousel-lifestyle
`
When someone clicks that link, GA4 captures every tag automatically. No extra code. No developer work. You can see exactly which ad, email, or social post drove each session — and if you have ecommerce tracking enabled, which drove each dollar of revenue.
Without UTM parameters, GA4 lumps traffic into vague buckets: "direct," "organic social," "referral." That tells you almost nothing about which campaigns work. UTM codes turn anonymous traffic into attributable results.
Which UTM Parameters Should You Use?
Google defines five UTM parameters, but only three are required: source, medium, and campaign. The remaining two — term and content — are optional but valuable for A/B testing ad variations and tracking keyword-level performance according to Google's Analytics Help documentation.
| Parameter | Required? | Purpose | Example Values |
|---|
utm_source | Yes | Identifies the platform or site sending traffic | facebook, google, klaviyo, tiktok |
utm_medium | Yes | Identifies the marketing channel type | paid-social, email, cpc, organic-social |
utm_campaign | Yes | Names the specific campaign | summer-sale-2026, welcome-series, bfcm-retarget |
utm_term | No | Tracks paid search keywords | running+shoes, organic+protein+powder |
utm_content | No | Differentiates ad variations or links | carousel-v2, hero-cta, footer-link |
Source vs. Medium: The Distinction That Matters
The most common mistake is confusing source and medium. Source is the specific platform — Facebook, Google, your email provider. Medium is the category of channel — paid social, CPC, email. Think of it like this: the source is the restaurant name, the medium is the cuisine type.
When you mix them up — tagging utm_source=paid-social instead of utm_source=facebook — your GA4 reports become unreliable. GA4 uses the source/medium pair as the primary dimension in its traffic acquisition report. Get this wrong and every downstream analysis inherits the error.
When to Use utm_term and utm_content
Use utm_term for paid search campaigns where you want keyword-level attribution beyond what Google Ads auto-tagging provides. This is especially useful when running ads on Bing or other search platforms that do not integrate natively with GA4.
Use utm_content to differentiate between multiple links within the same campaign. If you send an email with three CTAs — hero banner, mid-body button, and footer link — tag each with a different utm_content value. This reveals which placement drives the most clicks and conversions.
How Do You Build UTM-Tagged URLs?
Google's free Campaign URL Builder generates tagged URLs in seconds. Paste your destination URL, fill in the parameter fields, and copy the result. For ecommerce brands running 10+ campaigns per month, a shared spreadsheet template prevents naming chaos across teams.
The manual process is straightforward:
- Start with your destination URL
- Add a
? after the URL path
- Append each parameter as
key=value
- Separate parameters with
&
For example, tagging a TikTok ad driving to a product page:
`
https://yourstore.com/products/hydrating-serum
?utm_source=tiktok
&utm_medium=paid-social
&utm_campaign=serum-launch-may2026
&utm_content=ugc-testimonial-v3
`
Most ecommerce brands outgrow manual URL building quickly. At scale, you need a naming convention document and a shared builder — either a spreadsheet or a tool like UTM.io — that enforces consistency across everyone who touches campaigns.
Facebook, Google, and TikTok all support dynamic parameters that auto-populate based on campaign data. Instead of manually typing utm_campaign=summer-sale, you can use platform variables:
Facebook/Meta:
`
utm_source=facebook
&utm_medium=paid-social
&utm_campaign={{campaign.name}}
&utm_content={{ad.name}}
`
Google Ads:
`
utm_source=google
&utm_medium=cpc
&utm_campaign={campaignid}
&utm_term={keyword}
&utm_content={creative}
`
Dynamic parameters eliminate human error on the ad platform side. The tradeoff: campaign names in your ad platform need to be clean and descriptive because they flow directly into GA4 reports.
What Naming Conventions Prevent UTM Chaos?
Inconsistent naming is the number one reason UTM tracking fails at scale. When one team member tags utm_source=Facebook, another uses utm_source=fb, and a third uses utm_source=facebook, GA4 creates three separate source entries for the same platform. A documented naming convention eliminates this fragmentation.
Here is a naming convention template that works for ecommerce brands:
| Parameter | Convention | Good Example | Bad Example |
|---|
utm_source | Lowercase platform name, no abbreviations | facebook | FB, Facebook, fb-ads |
utm_medium | Channel type with hyphen separator | paid-social, email, cpc | paidSocial, Paid Social, ad |
utm_campaign | Format: purpose-detail-date | summer-sale-jun2026 | Summer Sale!, ss_06 |
utm_content | Format: format-variant | carousel-v2, ugc-testimonial | Ad 3, new ad, test |
utm_term | Plus-separated keywords, lowercase | running+shoes+women | Running Shoes Women |
Rules That Save Your Data
1. Always lowercase. GA4 treats Facebook and facebook as different sources. Use lowercase everywhere, no exceptions.
2. Use hyphens, not underscores or spaces. Spaces break URLs. Underscores work technically but are harder to read in reports. Hyphens are the standard.
3. No special characters. Exclamation marks, ampersands, and percent signs corrupt UTM strings. Keep values alphanumeric with hyphens only.
4. Date format consistency. Pick one format — jun2026, 2026-06, q2-2026 — and never deviate. Inconsistent dates make it impossible to filter campaigns by time period in GA4.
5. Document everything. Maintain a single shared spreadsheet with every active UTM convention. New team members, agencies, and freelancers should reference this document before creating any campaign URL.
These conventions matter because your ecommerce KPIs are only as reliable as the data feeding them. Dirty UTM data means dirty attribution — and dirty attribution means bad budget decisions.
How Do UTM Parameters Appear in Google Analytics 4?
GA4 surfaces UTM data in the Traffic Acquisition report under Acquisition > Traffic acquisition. The primary dimension "Session source / medium" maps directly to your utm_source and utm_medium values. Campaign data appears when you add "Session campaign" as a secondary dimension, according to Google's GA4 documentation.
To view UTM data in GA4:
- Navigate to Reports > Acquisition > Traffic acquisition
- The default dimension shows "Session default channel grouping"
- Change the primary dimension to Session source / medium
- Add Session campaign as a secondary dimension
- Filter by specific source, medium, or campaign to isolate performance
Connecting UTMs to Revenue
The real power of UTM tracking emerges when you connect it to ecommerce data. In GA4 with ecommerce tracking enabled, you can see not just traffic by source/medium, but revenue, transactions, and average order value per campaign.
This answers the question every ecommerce brand asks: "Which campaigns actually make money?" Not which campaigns get clicks. Not which campaigns get traffic. Which campaigns generate profit.
Cross-reference your UTM campaign data with your CTR calculator results to identify campaigns that get strong click-through rates but fail to convert — a signal that the landing page or offer needs work, not the ad.
---
Want to know which marketing channels actually drive your revenue? ConversionStudio connects your ad performance to real business outcomes — so you can stop guessing which campaigns deserve more budget.
---
What Are the Most Common UTM Mistakes?
The three costliest UTM mistakes are inconsistent naming (fragmenting data in GA4), tagging internal links (overwriting original source attribution), and forgetting to tag email campaigns (losing credit for your highest-ROI channel). A Ruler Analytics study found that 62% of marketers struggle with attribution accuracy — and UTM errors are a primary cause.
Mistake 1: Tagging Internal Links
Never add UTM parameters to links within your own website. When a visitor clicks a UTM-tagged internal link — say, a banner on your homepage linking to a product page — GA4 starts a new session attributed to that internal UTM. The original source (the Facebook ad or email that brought them to the site) gets overwritten.
This inflates "internal" traffic and destroys your attribution model. UTM parameters are for external links only — ads, emails, social posts, partner sites.
Mistake 2: Inconsistent Capitalization and Spelling
utm_source=Facebook and utm_source=facebook create two separate line items in GA4. Multiply this across source, medium, campaign, and content, and you can end up with dozens of fragmented entries representing the same campaigns. The fix is a naming convention document enforced by a URL builder template.
Mistake 3: Not Tagging Email Campaigns
Email is often the highest-ROI channel for ecommerce brands, yet many brands do not tag email links with UTM parameters. Without UTMs, GA4 may classify email traffic as "direct" — especially if the email client strips referrer headers. Every link in every email should carry utm_source=klaviyo (or your ESP name), utm_medium=email, and utm_campaign=campaign-name.
Mistake 4: Using UTMs on Google Ads with Auto-Tagging
Google Ads auto-tagging (gclid) already passes campaign data to GA4 with more granularity than UTM parameters. Adding manual UTMs on top can create conflicts where GA4 records both the auto-tagged data and the manual UTM data, leading to discrepancies. Google's documentation recommends letting auto-tagging handle Google Ads attribution and using UTMs only for non-Google channels.
The exception: if you use analytics platforms beyond GA4 that cannot read gclid parameters, adding UTMs to Google Ads provides cross-platform tracking.
How Should Ecommerce Brands Structure UTMs Across Channels?
Each marketing channel has specific UTM conventions that align with GA4's default channel groupings. Following these conventions ensures GA4 automatically categorizes your traffic correctly — saving you from building custom channel definitions.
Here is a channel-by-channel UTM template for ecommerce:
| Channel | utm_source | utm_medium | utm_campaign (example) | utm_content (example) |
|---|
| Facebook Ads | facebook | paid-social | spring-collection-2026 | video-unboxing-v1 |
| Instagram Ads | instagram | paid-social | influencer-collab-mar | story-swipeup |
| TikTok Ads | tiktok | paid-social | serum-launch-may2026 | ugc-review-v2 |
| Google Ads | Use auto-tagging | — | — | — |
| Klaviyo Email | klaviyo | email | welcome-series-email3 | hero-cta |
| SMS (Postscript) | postscript | sms | flash-sale-48hr | — |
| Organic Instagram | instagram | organic-social | link-in-bio | weekly-post-0522 |
| Influencer Partner | creator-name | influencer | may-collab | story-link |
| Affiliate | partner-name | affiliate | summer-promo | — |
This structure gives you clean segmentation when comparing Google Ads vs Facebook Ads performance, or when measuring how your Facebook Ad Library research translates into actual campaign results.
How Do You Audit and Fix Existing UTM Data?
Run a GA4 exploration report filtered to "Session source / medium" to surface all unique source/medium combinations. Look for duplicates caused by capitalization differences, abbreviation inconsistencies, and misspellings. Clean-up requires standardizing future URLs — you cannot retroactively fix historical GA4 data.
Step-by-Step UTM Audit
- Export source/medium data. In GA4, go to Explore > Free Form. Add "Session source / medium" as a dimension and "Sessions" as a metric. Export the last 90 days.
- Sort and scan for duplicates. Look for entries like
facebook / paid-social, Facebook / paid-social, fb / paid_social — all representing the same channel.
- Quantify the damage. Add up sessions attributed to duplicate entries. This is traffic you cannot accurately attribute to campaigns.
- Standardize going forward. Create your naming convention document. Update all active campaign URLs. Brief every team member and agency partner.
- Consider GA4 data filters. GA4 allows you to create data filters that lowercase all incoming traffic source data. This prevents capitalization issues but does not fix abbreviation inconsistencies.
Understanding your true ecommerce conversion rate benchmarks requires clean attribution data — and clean attribution starts with disciplined UTM hygiene.
Frequently Asked Questions
Do UTM parameters affect SEO or page rankings?
No. UTM parameters do not affect SEO rankings. Google's search crawler ignores query string parameters when evaluating page content and relevance. However, you should use canonical tags on your pages to prevent Google from indexing multiple UTM-tagged versions of the same URL as duplicate content. Most ecommerce platforms like Shopify handle this automatically.
How many UTM parameters should I use per URL?
Use all three required parameters (source, medium, campaign) on every external link. Add utm_content when you are testing multiple ad variations or link placements within the same campaign. Add utm_term only for paid search campaigns on non-Google platforms. Using fewer than three required parameters leaves gaps in your GA4 reports.
Can I use UTM parameters with Shopify?
Yes. Shopify automatically passes UTM parameters through to checkout and into its own analytics. If you also have GA4 installed via Shopify's native integration or Google Tag Manager, UTM data flows into both Shopify reports and GA4 reports. No additional configuration is needed — just tag your inbound links with UTM parameters and the platforms handle the rest.
Do UTM parameters work with GA4 auto-tagging?
For Google Ads, auto-tagging (gclid) is preferred over manual UTM parameters because it provides more granular data and integrates directly with GA4's Google Ads reports. For all non-Google channels — Facebook, TikTok, email, SMS, affiliates — UTM parameters are the only way to get campaign-level attribution in GA4.
How long do UTM parameters persist in GA4?
GA4 attributes UTM parameters to the session in which the click occurs. If a user clicks a UTM-tagged link, browses three pages, and leaves, all three pageviews belong to that UTM-attributed session. If the same user returns the next day by typing your URL directly, that new session is attributed to "direct" — not the original UTM source. This is standard last-click session attribution.
Keep Reading