You run a Facebook ad. You send an email newsletter. You post a link on Twitter. People click through to your website. But when you check Google Analytics, all three sources are lumped into vague buckets like “referral” or “direct.” You have no idea which campaign drove which sale.
UTM parameters fix this. They’re small tags you add to URLs that tell analytics platforms exactly where traffic came from, what campaign it belongs to, and which specific link the user clicked.
If you’re spending money on marketing and not using UTMs, you’re flying blind.
What UTM Parameters Actually Are
UTM stands for Urchin Tracking Module — a holdover from the software Google acquired to build Google Analytics. The name doesn’t matter. What matters is that UTM parameters are extra bits of text appended to a URL that carry attribution data.
Here’s a normal URL:
https://yoursite.com/spring-sale
Here’s the same URL with UTM parameters:
https://yoursite.com/spring-sale?utm_source=facebook&utm_medium=cpc&utm_campaign=spring-2026&utm_content=video-ad
Everything after the ? is the query string. Each utm_ tag is a parameter. When someone clicks this URL, Google Analytics reads those parameters and records exactly where the visitor came from.
The user sees the same page. The experience is identical. But your analytics data now has granular attribution data instead of a shrug.
The Five UTM Parameters
There are five standard UTM parameters. Two are required for tracking to work. Three are optional but recommended.
Required Parameters
utm_source — Where the traffic comes from.
Examples: facebook, google, newsletter, twitter, linkedin, partner-blog
This is the platform or referrer. It answers “which site or app sent this visitor?”
utm_medium — How the traffic arrives.
Examples: cpc, email, social, banner, referral, organic
This is the marketing channel type. It answers “what kind of link was this?”
Recommended Parameters
utm_campaign — Which specific campaign.
Examples: spring-sale-2026, black-friday, product-launch, retargeting-q2
This groups all traffic from a single marketing initiative. It answers “which campaign is this part of?”
Optional Parameters
utm_content — Which specific ad or link variation.
Examples: video-ad, carousel-image-3, header-link, blue-button, footer-cta
This differentiates between multiple links in the same campaign. It answers “which creative or link did they click?”
utm_term — The search keyword (primarily for paid search).
Examples: running+shoes, best+crm+software, plumber+near+me
For Google Ads, this is auto-populated if you use auto-tagging. You’ll mostly use this for other paid search platforms like Bing Ads.
How UTM Parameters Work in GA4
When a user clicks a URL with UTM parameters, here’s what happens:
- The browser loads the page with the full URL including the query string
- The GA4 tracking code reads the
utm_parameters from the URL - GA4 stores these values as session-level attributes
- The visit is attributed to the source, medium, and campaign you specified
- All subsequent pageviews and events in that session inherit the same attribution
In GA4 reports, you’ll find UTM data under:
- Reports > Acquisition > Traffic acquisition — shows session source/medium
- Reports > Acquisition > User acquisition — shows how users first arrived
- Explore > Free form — build custom reports with campaign dimensions
The UTM parameters map directly to GA4 dimensions:
| UTM Parameter | GA4 Dimension |
|---|---|
| utm_source | Session source |
| utm_medium | Session medium |
| utm_campaign | Session campaign |
| utm_content | Session manual ad content |
| utm_term | Session manual term |
When to Use UTM Parameters
Always Use UTMs For:
Paid advertising links — Every ad URL across every platform should have UTM parameters. Google Ads has auto-tagging (gclid), but UTMs give you a backup and work in GA4 regardless of whether auto-tagging is enabled.
Email campaigns — Newsletter links, promotional emails, transactional emails with marketing content. Tag every clickable link so you know which email drove which traffic.
Social media posts — Organic social posts with links back to your site. Without UTMs, Facebook traffic might show up as “referral” or “direct” depending on the user’s browser and app.
Partner or affiliate links — When other sites link to you as part of a partnership, give them UTM-tagged URLs so you can measure the traffic they send.
QR codes — Print materials, packaging, event signage. Tag the destination URL so you can attribute offline-to-online conversions.
SMS campaigns — Text message marketing links should always carry UTMs.
Don’t Use UTMs For:
Internal links — Never put UTMs on links within your own website. Clicking an internal UTM link starts a new session in GA4, which breaks your existing attribution. If a user arrived via a Facebook ad and then clicks an internal link with UTMs, their source changes from “facebook / cpc” to whatever the internal UTM says.
Organic search results — Google and Bing automatically send referrer data. Adding UTMs to your organic search listings isn’t possible anyway (you can’t control the URL in organic results).
Your own domain links on your own site — Same as internal links. Never use UTMs for navigation, CTAs, or cross-page links on your own site.
How to Build UTM URLs
You can construct UTM URLs manually, but it’s easy to make typos. Use our free UTM builder tool to generate properly formatted URLs with consistent naming.
Manual Construction
Start with your landing page URL:
https://yoursite.com/landing-page
Add a ? followed by your parameters, separated by &:
https://yoursite.com/landing-page?utm_source=facebook&utm_medium=cpc&utm_campaign=spring-2026
Rules:
- The first parameter starts with
? - Each additional parameter starts with
& - No spaces (use
+or%20for spaces, or just avoid them) - UTM values are case-sensitive in GA4
Naming Conventions That Scale
The most common UTM mistake isn’t technical — it’s inconsistency. When three people on your team use three different naming conventions, your analytics data becomes a mess:
utm_source=Facebook (capitalized)
utm_source=facebook (lowercase)
utm_source=fb (abbreviated)
utm_source=Facebook.com (with domain)
GA4 treats all four as different sources. Your “Facebook” traffic is now split across four buckets.
Establish these rules and document them:
- Always lowercase.
facebooknotFacebook.googlenotGoogle. - Use hyphens for multi-word values.
spring-salenotspring_saleorspringsale. - Be specific but concise.
emailnote-mailorelectronic-mail.cpcnotcost-per-click. - Standardize source names. Pick one name per platform and use it everywhere.
Here’s a naming convention cheat sheet:
| Platform | utm_source | utm_medium (paid) | utm_medium (organic) |
|---|---|---|---|
| Facebook/Meta | facebook | cpc or paid-social | social |
| Google Ads | google | cpc | — |
instagram | cpc or paid-social | social | |
| Twitter/X | twitter | cpc or paid-social | social |
linkedin | cpc or paid-social | social | |
| TikTok | tiktok | cpc or paid-social | social |
| Email (Mailchimp, etc.) | mailchimp or email | email | email |
| SMS | sms | sms | — |
Real-World UTM Examples
Facebook Ad Campaign
https://yoursite.com/spring-sale?utm_source=facebook&utm_medium=cpc&utm_campaign=spring-2026&utm_content=video-testimonial
Email Newsletter
https://yoursite.com/new-product?utm_source=mailchimp&utm_medium=email&utm_campaign=april-newsletter&utm_content=hero-button
Instagram Bio Link
https://yoursite.com/?utm_source=instagram&utm_medium=social&utm_campaign=bio-link
Partner Website
https://yoursite.com/special-offer?utm_source=partner-blog&utm_medium=referral&utm_campaign=guest-post-march
QR Code on Packaging
https://yoursite.com/warranty?utm_source=qr-code&utm_medium=print&utm_campaign=product-packaging&utm_content=warranty-card
Common UTM Mistakes (And How to Fix Them)
Mistake 1: Inconsistent Naming
As covered above — the number one problem. Facebook vs facebook vs fb splits your data. Standardize and document your naming convention.
Mistake 2: Using UTMs on Internal Links
This is surprisingly common. A marketing team tags their homepage banner with UTMs pointing to a product page on the same site. Every click resets the session attribution. A user who arrived via a $5 Google Ads click now shows as “internal / banner” and the original attribution is lost.
Fix: Only use UTMs on links from external sources pointing to your site.
Mistake 3: Forgetting UTMs on Some Links
You tag your Facebook ads but forget to tag your email links. Now email traffic shows up as “direct” or “referral” depending on the email client. You think email marketing doesn’t work because you can’t see its impact.
Fix: Create a UTM template spreadsheet. Before launching any campaign, fill in UTMs for every link.
Mistake 4: UTMs Getting Stripped by Redirects
Your ad links to http://yoursite.com/page?utm_source=facebook but your server redirects HTTP to HTTPS and drops the query string. The user lands on the right page, but GA4 never sees the UTMs. We wrote a complete breakdown of how redirects kill your UTM parameters and how to fix it.
Mistake 5: Not Encoding Special Characters
If your campaign name includes special characters or spaces, they need to be URL-encoded:
Bad: utm_campaign=spring sale 2026
Good: utm_campaign=spring-sale-2026
Also: utm_campaign=spring%20sale%202026
Stick to lowercase letters, numbers, and hyphens. Avoid spaces, ampersands, question marks, and other special characters.
Mistake 6: Putting Sensitive Data in UTMs
UTMs are visible in the URL bar. They appear in analytics reports. They can be shared. Never put personal information, account IDs, pricing tiers, or anything confidential in UTM parameters.
UTM Parameters and Google Ads Auto-Tagging
Google Ads has its own tracking mechanism called auto-tagging, which appends a gclid parameter to your ad URLs. This sends click data directly to GA4 without UTMs.
So do you need UTMs on Google Ads campaigns? Generally, auto-tagging is sufficient for Google Ads. But there are cases where adding UTMs helps:
- Backup attribution — If gclid gets stripped (it’s even more fragile than UTMs in some redirect scenarios), UTMs serve as a fallback
- Third-party analytics — Tools other than GA4 may not read gclid but will read UTMs
- Cross-platform consistency — If you use UTMs for every other channel, adding them to Google Ads keeps your naming convention universal
If you use both auto-tagging and UTMs, GA4 prioritizes the auto-tagged data. The UTM values are still recorded but auto-tagging takes precedence for Google Ads traffic.
For a complete guide on connecting Google Ads with GA4, see our Google Ads conversion tracking setup guide.
Viewing UTM Data in GA4
Traffic Acquisition Report
Navigate to Reports > Acquisition > Traffic acquisition. This shows session-level attribution — the source/medium for each session, which is where your UTM data lives.
Click on any source/medium row to drill down by campaign, content, or term.
Exploration Reports
For more flexibility, use Explore > Free form:
- Add dimensions: Session source, Session medium, Session campaign
- Add metrics: Sessions, Conversions, Revenue
- Filter by specific campaign names to analyze individual campaigns
Google Ads Link
If you’ve linked GA4 to Google Ads, you can import GA4 audiences and conversions directly. This makes it easy to see how UTM-tagged traffic from non-Google sources compares to your Google Ads performance.
To verify your GA4 data is flowing correctly, use GA4’s DebugView to watch events arrive in real time.
UTM Parameters and Attribution Models
UTMs provide the raw data. Attribution models determine how credit is distributed across multiple touchpoints.
If a user first visits via a Facebook ad (UTM: facebook/cpc), then returns a week later via email (UTM: mailchimp/email), and finally converts after clicking a Google ad — which channel gets credit?
GA4 uses data-driven attribution by default, which distributes credit across all touchpoints using machine learning. But the quality of that attribution depends entirely on the quality of your UTM tagging. Missing UTMs mean missing touchpoints, which means a skewed attribution model.
For a deeper dive into how different attribution models compare, read our guide on multi-touch attribution models.
Your UTM Implementation Checklist
Before your next campaign launch:
- Every external link to your site has UTM parameters
- Naming convention is documented and shared with the team
- All values are lowercase with hyphens (no spaces or special characters)
- No internal links have UTMs
- UTM URLs have been tested (click through and verify they load correctly)
- Redirects preserve query strings (test this)
- GA4 is receiving the UTM data (check in DebugView or Realtime report)
- Campaign spreadsheet is updated with all UTM URLs for this launch
Check Your UTM Setup Automatically
Manually testing every UTM-tagged URL across every campaign gets tedious fast. Our free scan checks your site for tracking issues that break attribution — including redirect chains that strip UTM parameters, misconfigured GA4 tags, and missing conversion tracking.
Run a free scan on your site to find out if your tracking setup is capturing the attribution data you’re paying for — or silently losing it.