Minimum UTM Requirements for GA4 (What You Actually Need)
Your developer asks: "Which UTM parameters do we actually need?"
Your agency sends you links with 7 different parameters.
Your competitor uses only utm_source.
Who's right?
Here's the definitive answer: GA4 requires exactly 2 parameters for attribution: utm_source AND utm_medium.
Everything else is optional (but recommended).
Use only utm_source? Your campaign becomes invisible. Add all 5 parameters? Better reporting and analysis.
Here's exactly what you need and why.
🚨 Not sure what's breaking your tracking?
Run a free 60-second audit to check all 40+ ways UTM tracking can fail.
Scan Your Campaigns Free✓ No credit card ✓ See results instantly
The Official GA4 UTM Hierarchy
Tier 1: Required for Attribution (MUST HAVE BOTH)
utm_source- Where traffic came fromutm_medium- How traffic arrived
Tier 2: Recommended for Analysis
utm_campaign- Which promotion/campaign
Tier 3: Optional for Granular Tracking
utm_content- Which link/creativeutm_term- Which keyword (search ads)
Tier 4: Advanced (Rarely Used)
utm_id- Campaign ID for cost importutm_source_platform- Ad platformutm_creative_format- Ad formatutm_marketing_tactic- Marketing strategy
Let's break down what each tier actually does.
Tier 1: Required Parameters (The Non-Negotiables)
utm_source (REQUIRED)
What it is: The origin of your traffic
Examples:
utm_source=newsletter(email campaign)utm_source=facebook(Facebook post)utm_source=google(Google Ads)utm_source=partner-blog(referral link)
What it does:
- Identifies specific traffic source
- Required by GA4 for attribution
- Won't work without utm_medium
What happens without it:
- GA4 uses HTTP referrer if available
- Falls back to "(direct)" if no referrer
- utm_medium becomes orphaned (ignored)
utm_medium (REQUIRED)
What it is: The channel or method of traffic delivery
Examples:
utm_medium=email(email marketing)utm_medium=social(organic social)utm_medium=cpc(paid advertising)utm_medium=referral(partner link)
What it does:
- Determines GA4 channel grouping
- Required for attribution alongside utm_source
- Won't work without utm_source
What happens without it:
- utm_source becomes orphaned (ignored)
- Traffic defaults to "(direct) / (none)"
- Attribution completely breaks
Why Both Are Required (Not Just One)
utm_source alone is ambiguous:
Example: utm_source=google
- Could be: Organic search, paid ad, display ad, Google Discover, Gmail, Google News
- GA4 doesn't know which channel group to use
- Can't attribute without medium
utm_medium alone is ambiguous:
Example: utm_medium=cpc
- Could be: Google Ads, Facebook Ads, Bing Ads, LinkedIn Ads, Twitter Ads
- GA4 doesn't know the actual source
- Can't attribute without source
Together they're specific:
utm_source=google&utm_medium=cpc
- Clear: Google Ads (paid search)
- GA4 assigns to "Paid Search" channel
- Attribution works
The rule: Always use both. One without the other = broken tracking.
😰 Is this your only tracking issue?
This is just 1 of 40+ ways UTM tracking breaks. Most marketing teams have 8-12 critical issues they don't know about.
• 94% of sites have UTM errors
• Average: $8,400/month in wasted ad spend
• Fix time: 15 minutes with our report
✓ Connects directly to GA4 (read-only, secure)
✓ Scans 90 days of data in 2 minutes
✓ Prioritizes issues by revenue impact
✓ Shows exact sessions affected
Tier 2: Recommended Parameter
utm_campaign (RECOMMENDED)
What it is: The specific marketing campaign or promotion
Examples:
utm_campaign=spring-sale-2024utm_campaign=product-launchutm_campaign=black-fridayutm_campaign=newsletter-march
What it does:
- Distinguishes campaigns from same source/medium
- Enables campaign-level ROI analysis
- Groups related marketing efforts
What happens without it:
- Attribution still works (uses source/medium only)
- Can't distinguish between campaigns
- All campaigns from same source/medium look identical
Example without utm_campaign:
You send 4 email campaigns in March:
?utm_source=newsletter&utm_medium=email
GA4 shows:
- Source / Medium: newsletter / email
- Sessions: 12,000
- Conversions: 240
But you can't tell:
- Which email performed best
- Which subject line worked
- Which offer converted
- Which sending time was optimal
Example with utm_campaign:
Campaign 1: ?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale
Campaign 2: ?utm_source=newsletter&utm_medium=email&utm_campaign=new-product
Campaign 3: ?utm_source=newsletter&utm_medium=email&utm_campaign=webinar-invite
Campaign 4: ?utm_source=newsletter&utm_medium=email&utm_campaign=customer-story
GA4 shows:
- spring-sale: 5,200 sessions, 145 conversions (2.8% CVR)
- new-product: 3,800 sessions, 68 conversions (1.8% CVR)
- webinar-invite: 2,100 sessions, 19 conversions (0.9% CVR)
- customer-story: 900 sessions, 8 conversions (0.9% CVR)
Now you know: Spring sale emails work best. Double down on promotional emails.
Verdict: Always include utm_campaign unless you'll never run multiple campaigns from the same source.
Tier 3: Optional Parameters (Granular Tracking)
utm_content (OPTIONAL)
What it is: Identifies which specific link or creative was clicked
When to use:
- A/B testing different CTAs
- Multiple links to same destination in one email/page
- Testing different creatives in same ad
Examples:
utm_content=header-ctavsutm_content=footer-ctautm_content=button-bluevsutm_content=button-redutm_content=image-advsutm_content=video-ad
Real use case:
Email with 3 CTAs to same landing page:
- Hero section:
utm_content=hero-button - Mid-article:
utm_content=inline-link - Footer:
utm_content=footer-cta
GA4 report shows:
- hero-button: 68% of clicks
- inline-link: 22% of clicks
- footer-cta: 10% of clicks
Insight: Users decide to click in the first 3 seconds. Focus on hero messaging.
utm_term (OPTIONAL)
What it is: The search keyword for paid search ads
When to use:
- Google Ads with manual tagging (rare—auto-tagging is better)
- Bing Ads with manual tagging
- Testing specific keywords
Examples:
utm_term=marketing-automation-softwareutm_term=email-marketing-toolutm_term=crm-platform
Important: If you use Google Ads auto-tagging (gclid), you don't need utm_term. Google automatically passes keyword data.
Only use utm_term if:
- You're manually tagging search ads (not recommended)
- You disabled auto-tagging (not recommended)
- You're tracking organic keyword performance (rare)
Real Example: Minimum vs Complete UTM Structure
Client: SaaS company running email, social, and paid ads
Scenario 1: Minimum UTMs (Only Required)
Email link:
?utm_source=newsletter&utm_medium=email
GA4 shows:
- newsletter / email: 8,400 sessions
What you CAN'T see:
- Which email campaign performed better
- Which CTA got more clicks
- ROI per email send
Decision-making ability: Limited to "email works" or "email doesn't work"
Scenario 2: Recommended UTMs (Source + Medium + Campaign)
Email link:
?utm_source=newsletter&utm_medium=email&utm_campaign=q1-promotion
GA4 shows:
- newsletter / email / q1-promotion: 8,400 sessions
What you CAN see:
- Q1 promotion performance vs Q4 holiday campaign
- Compare promotional vs educational emails
- Calculate ROI per campaign type
Decision-making ability: "Promotional emails convert 3x better than educational content"
Scenario 3: Complete UTMs (All Parameters)
Email link:
?utm_source=newsletter
&utm_medium=email
&utm_campaign=q1-promotion
&utm_content=hero-cta
&utm_id=campaign-12345
GA4 shows:
- Full attribution to campaign
- Click performance by CTA location
- Cost data if using utm_id
What you CAN see:
- Which CTA placement works best
- Cost per acquisition if cost import is set up
- Granular A/B test results
Decision-making ability: "Hero CTAs convert 2.8x better than footer CTAs in promotional emails"
✅ Fixed this issue? Great! Now check the other 39...
You just fixed one tracking issue. But are your Google Ads doubling sessions? Is Facebook attribution broken? Are internal links overwriting campaigns?
• Connects to GA4 (read-only, OAuth secured)
• Scans 90 days of traffic in 2 minutes
• Prioritizes by revenue impact
• Free forever for monthly audits
Join 2,847 marketers fixing their tracking daily
Recommended UTM Structure by Channel
Email Marketing
Minimum:
?utm_source=newsletter&utm_medium=email
Recommended:
?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale
Complete:
?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale&utm_content=hero-button
Organic Social Media
Minimum:
?utm_source=facebook&utm_medium=social
Recommended:
?utm_source=facebook&utm_medium=social&utm_campaign=product-launch
Complete:
?utm_source=facebook&utm_medium=social&utm_campaign=product-launch&utm_content=video-post
Paid Social Media
Minimum:
?utm_source=facebook&utm_medium=paid-social
Recommended:
?utm_source=facebook&utm_medium=paid-social&utm_campaign=spring-ads
Complete:
?utm_source=facebook&utm_medium=paid-social&utm_campaign=spring-ads&utm_content=carousel-ad
Note: For Facebook Ads, use fbclid auto-tagging instead. Don't add manual UTMs.
Partner/Referral Links
Minimum:
?utm_source=partner-blog&utm_medium=referral
Recommended:
?utm_source=partner-blog&utm_medium=referral&utm_campaign=guest-post-march
Complete:
?utm_source=partner-blog&utm_medium=referral&utm_campaign=guest-post-march&utm_content=author-bio-link
The "What Should I Use?" Decision Tree
Question 1: Do you need attribution to work?
- Yes → Use utm_source + utm_medium (REQUIRED)
- No → Use platform click IDs (gclid, fbclid)
Question 2: Will you run multiple campaigns from this source?
- Yes → Add utm_campaign (RECOMMENDED)
- No → Optional (but still recommended for consistency)
Question 3: Do you need to test different creatives or CTAs?
- Yes → Add utm_content (OPTIONAL)
- No → Skip it
Question 4: Are you tracking paid search keywords manually?
- Yes → Add utm_term (OPTIONAL, but auto-tagging is better)
- No → Skip it
Question 5: Do you import cost data to GA4?
- Yes → Add utm_id (OPTIONAL)
- No → Skip it
FAQ
Can I use only utm_source?
No. utm_source without utm_medium breaks attribution. GA4 will classify traffic as "(direct) / (none)".
Can I use only utm_medium?
No. utm_medium without utm_source also breaks attribution.
What if I use Google Ads or Facebook Ads?
Use their auto-tagging (gclid, fbclid) instead of manual UTM parameters. Don't add both—it creates duplicate sessions.
Are custom parameters allowed?
Yes. You can add custom parameters (like ?promo_code=SPRING) alongside UTM parameters. Just don't use parameter names starting with "utm_" unless they're official UTM parameters.
What about uppercase vs lowercase?
UTM parameters are case-sensitive in GA4. utm_source=Newsletter and utm_source=newsletter are treated as different sources. Always use lowercase.
Do I need all 5 parameters for every link?
No. Use the minimum required (source + medium) and add others based on your reporting needs.
What happens if I misspell a parameter name?
GA4 ignores it. utm_sorce=newsletter doesn't work. Only exact parameter names work: utm_source, utm_medium, utm_campaign, utm_content, utm_term.
Quick Reference: UTM Parameter Cheat Sheet
| Parameter | Status | When to Use | Example Value |
|---|---|---|---|
| utm_source | REQUIRED | Always | newsletter, facebook, google |
| utm_medium | REQUIRED | Always | email, social, cpc, referral |
| utm_campaign | RECOMMENDED | Multiple campaigns | spring-sale, product-launch |
| utm_content | OPTIONAL | A/B tests, multiple links | hero-cta, video-ad |
| utm_term | OPTIONAL | Manual keyword tracking | marketing-software |
| utm_id | OPTIONAL | Cost import | campaign-12345 |
Conclusion
Minimum UTM requirements for GA4:
- utm_source (REQUIRED)
- utm_medium (REQUIRED)
Recommended for useful reporting:
- utm_source (REQUIRED)
- utm_medium (REQUIRED)
- utm_campaign (RECOMMENDED)
Complete for advanced analysis:
- utm_source (REQUIRED)
- utm_medium (REQUIRED)
- utm_campaign (RECOMMENDED)
- utm_content (optional)
- utm_term (optional)
The rule: Always include source + medium. Add campaign for better reporting. Add content/term only when you need that level of detail.
Related: GA4 UTM Parameter Documentation