troubleshootingUpdated 2025

Fix utm_medium Case Errors in 10 Minutes (Complete Guide)

Quick fix guide for uppercase utm_medium values causing Unassigned traffic in GA4. Learn how to find and fix CPC�cpc, EMAIL�email case errors across all platforms.

6 min readtroubleshooting

Problem: Your paid campaigns use utm_medium=CPC (uppercase) instead of utm_medium=cpc (lowercase). Result: 78% of your paid traffic shows as "Unassigned" in GA4.

Solution: 10-minute fix to lowercase all medium values and restore proper channel assignment.

Outcome: Clean channel reporting, accurate ROI, proper attribution.

Let's fix this right now.

🚨 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 10-Minute Fix (Step-by-Step)

Step 1: Identify Uppercase Medium Values (2 min)

GA4 � Explore � Free Form

  1. Dimension: Session medium
  2. Metrics: Sessions
  3. Filter: Session default channel group = "Unassigned"
  4. Export to CSV

Look for:

  • CPC, PPC (should be cpc, ppc)
  • EMAIL, Email (should be email)
  • SOCIAL, Social (should be social)
  • DISPLAY, Display (should be display)

Example output:

Session MediumSessionsShould Be
CPC12,400cpc
Email3,200email
SOCIAL1,890social
Display2,100display

Step 2: Fix Platform-by-Platform (6 min)

For each platform, update utm_medium to lowercase:

  1. Campaigns � Settings
  2. Campaign URL options � Tracking template
  3. Find: utm_medium=CPC
  4. Replace: utm_medium=cpc
  5. Save

Or use URL suffix:

Code
utm_source=google&utm_medium=cpc&utm_campaign={{_campaign}}

Facebook Ads (1 min)

  1. Ad Manager � All Tools � URL Parameters
  2. Edit default parameters
  3. Change: utm_medium=CPCutm_medium=cpc
  4. Apply to all campaigns

Email Platform (1 min)

Mailchimp:

  1. Campaigns � Templates � Edit
  2. Find: utm_medium=Email or utm_medium=EMAIL
  3. Replace: utm_medium=email
  4. Save as default template

HubSpot:

  1. Marketing � Email � Templates
  2. Edit tracking settings
  3. Change medium to lowercase

LinkedIn Ads (1 min)

  1. Campaign Manager � Campaign settings
  2. Website � URL tracking parameters
  3. Update: utm_medium=cpc (lowercase)

Other Platforms (1 min)

  • Twitter Ads: Update destination URL parameters
  • Microsoft Ads: Edit tracking template
  • TikTok Ads: Update URL parameters

Step 3: Update URL Builder Templates (1 min)

Google Sheets UTM builder:

Add LOWER() function to utm_medium cell:

Code
=LOWER(B2)  // Converts any input to lowercase

Or use data validation dropdown:

Code
List of items: cpc,email,social,display,affiliate,referral

Prevents uppercase from being entered.

Step 4: Verify Fix in GA4 (1 min + 24-48 hours)

Immediate test (GA4 Realtime):

  1. Click a link with new lowercase medium
  2. GA4 � Realtime
  3. Verify traffic appears in correct channel (not Unassigned)

Full verification (24-48 hours):

  1. GA4 � Traffic acquisition
  2. Check:
    • Unassigned traffic decreased
    • Paid Search sessions increased
    • Email sessions increased
  3. Compare with ad platform data to verify alignment

Platform-Specific Fix Instructions

Fix Google Ads URL Parameters

Method 1: Tracking Template (Recommended)

  1. Google Ads � Settings � Account settings
  2. Tracking � Tracking template
  3. Enter:
Code
`{"{"}{"{"}lpurl{"}"}{"}"}}`?utm_source=google&utm_medium=cpc&utm_campaign={{_campaign}}&utm_content={{_ad}}

Applies to all campaigns automatically.

Method 2: Campaign-Level

  1. Select campaign � Settings
  2. Campaign URL options � Final URL suffix
  3. Enter:
Code
utm_source=google&utm_medium=cpc&utm_campaign=`{"{"}{"{"}campaignid{"}"}{"}"}}`

Fix Facebook/Meta Ads

Ad Manager:

  1. All Tools � URL Parameters
  2. Build URL parameter:
    • Parameter: utm_medium
    • Value: cpc (lowercase)
  3. Apply to: All campaigns or selected campaigns

For existing campaigns:

  1. Select campaigns � Bulk edit
  2. URL parameters � Edit
  3. Update utm_medium to lowercase

Fix Email Platforms

Mailchimp:

  1. Audience � Settings � Campaign defaults
  2. Tracking � Google Analytics link tracking
  3. Change utm_medium to: email

SendGrid:

  1. Settings � Tracking � Google Analytics
  2. Update utm_medium: email

ActiveCampaign:

  1. Settings � Tracking � Google Analytics
  2. Edit medium: email

Fix Social Media Schedulers

Buffer:

  1. Settings � Link Shortening � UTM Tracking
  2. Medium: social (lowercase)

Hootsuite:

  1. Settings � Social Networks � Tracking
  2. Update medium field to: social

Common Fix Mistakes

Mistake 1: Only Fixing Some Platforms

Problem: You fix Google Ads but forget Facebook, email, display.

Result: Partial improvement, still have Unassigned traffic.

Solution: Fix ALL platforms in one session.

Mistake 2: Fixing Templates but Not Active Campaigns

Problem: You update email template but scheduled campaigns still use old version.

Result: Old uppercase values keep generating Unassigned traffic.

Solution: Update active/scheduled campaigns too.

Mistake 3: Not Enforcing Lowercase Going Forward

Problem: You fix current campaigns but team creates new ones with uppercase.

Result: Problem returns next month.

Solution: Lock URL builder to lowercase-only values.

Quick Reference: Case-Sensitive Mediums

Traffic TypeL Wrong (Uppercase) Correct (Lowercase)
Paid searchCPC, PPC, Cpccpc, ppc
EmailEMAIL, Email, E-MAILemail, e-mail
SocialSOCIAL, Socialsocial
DisplayDISPLAY, Display, BANNERdisplay, banner
AffiliateAFFILIATE, Affiliateaffiliate
ReferralREFERRAL, Referralreferral

Rule: Always lowercase, no exceptions.

😰 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

Get Your Free Audit Report

Automation: Prevent Future Case Issues

Method 1: Google Sheets Formula

Auto-lowercase any input:

Code
Column C (utm_medium):
=LOWER(B2)

Even if someone types "CPC", formula outputs "cpc".

Method 2: Data Validation Dropdown

Only allow approved lowercase values:

Code
Data � Data validation � List of items:
cpc,email,social,display,affiliate,referral,sms

Impossible to enter uppercase.

Method 3: JavaScript Validation

Website URL builder:

Javascript
function generateUTM() {
  const medium = document.getElementById('medium').value;
  if (medium !== medium.toLowerCase()) {
    alert('utm_medium must be lowercase');
    return false;
  }
  // Generate URL...
}

Method 4: Pre-Launch Checklist

Before any campaign goes live:

  • utm_medium is lowercase
  • Test URL in GA4 Realtime
  • Verify traffic assigned to correct channel
  • Not appearing in "Unassigned"

Historical Data: What About Old Campaigns?

Q: Will fixing case restore historical data? A: No. Historical data remains "Unassigned." Only new traffic (post-fix) gets correct channel assignment.

Workarounds for historical analysis:

Option 1: Manual Consolidation

Export GA4 data to Google Sheets:

  1. Download Traffic Acquisition data
  2. Add column: "Clean Medium" = LOWER(Medium)
  3. Pivot table on "Clean Medium"
  4. Now you can see historical performance by corrected medium

Option 2: Set Analysis Cutoff Date

"Analyzing data from [fix date] onward due to UTM parameter correction"

Option 3: Accept and Move Forward

Most teams choose this. Historical data stays broken, but all future data is clean.

✅ 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

Run Complete UTM Audit (Free Forever)

Join 2,847 marketers fixing their tracking daily

FAQ

Do I need to delete old campaigns and start fresh?

No. Just update the tracking parameters in existing campaigns. Most platforms allow editing URL parameters without pausing/recreating campaigns.

Will changing utm_medium affect ad delivery?

Google Ads: May require ad re-approval (usually quick) Facebook: No impact on delivery LinkedIn: No impact

Best practice: Make changes during low-traffic periods (weekends, late evenings).

Can I use title case (Cpc) instead of lowercase?

No. GA4's regex patterns expect all-lowercase. "Cpc" won't match and will create Unassigned traffic.

What if my ad platform auto-capitalizes?

Most platforms don't auto-capitalize URL parameters. If yours does, you can usually override it by manually entering lowercase values in the tracking template.

How do I bulk-update hundreds of campaigns?

Google Ads Editor: Download campaigns, find/replace utm_medium=CPCutm_medium=cpc, upload

Facebook Ads: Bulk edit tool (select all campaigns, edit URL parameters)

Spreadsheet method: Export campaign list, update in Sheets, reimport

Should I pause campaigns while fixing?

Not necessary. You can edit URL parameters on active campaigns. They'll continue running with new lowercase parameters.

UTM

Get Your Free Audit in 60 Seconds

Connect GA4, run the scan, and see exactly where tracking is leaking budget. No credit card required.

Trusted by growth teams and agencies to keep attribution clean.