UTM parameters are case-sensitive in GA4. That single fact has more downstream consequences for attribution accuracy than almost any other configuration issue we find in property audits. If your marketing team, your email platform, your social scheduling tool, and your paid media agency are all applying UTM tags slightly differently, your channel data is fragmented across dozens of invisible duplicates — and every channel looks worse than it is.
How UTM casing breaks your channel data
GA4 uses the utm_medium parameter to assign sessions to channel groups. When GA4 reads utm_medium=email, it maps that session to the Email channel. When it reads utm_medium=Email — capital E — it treats that as an entirely different value.
In practice, this means a single email campaign can appear across multiple rows in your channel report:
| Session medium value | Sessions | Channel assigned |
|---|---|---|
email | 1,840 | |
Email | 1,620 | Unassigned |
EMAIL | 290 | Unassigned |
In the above scenario, Email appears to have driven 1,840 sessions. The real number is 3,750 — but 1,910 sessions have been pushed into Unassigned because of capitalisation. Your email channel looks less than half as effective as it actually is. CPC and organic channels absorb the misattributed credit by default.
Common casing patterns that cause problems
In our property audits, these are the most frequently encountered inconsistencies:
emailvsEmailvsEMAIL— the most common, often caused by different platforms applying different defaultssocialvsSocialvssocial-media— compounded by teams using different medium names for the same channelcpcvsCPCvspaidvsppc— paid campaigns are often managed by different people or agencies with no shared UTM conventionnewslettervsemail— these are treated as entirely different mediums even though they represent the same channelorganicvsorganic-social— ambiguous medium values that GA4 cannot confidently assign to a default channel group
How to fix UTM casing inconsistency in GA4
Step 1: Audit your existing UTM values
In GA4, go to Reports → Acquisition → Traffic Acquisition. Change the primary dimension to Session medium. Look for variations of the same value with different capitalisation or naming. Export this to a spreadsheet to get a full picture of the problem.
Step 2: Define your UTM taxonomy
Create a single shared document that defines the allowed values for utm_source, utm_medium, and utm_campaign. Enforce lowercase for all values. Use a restricted list of mediums — ideally aligning with GA4's default channel groupings: email, cpc, organic, social, affiliate, referral.
Step 3: Fix at the source
Update UTM conventions in every tool that generates tagged links. Most email platforms allow you to set default UTM parameters — update these to match your taxonomy. Use a UTM builder tool that enforces lowercase and validates against your allowed list before links are published.
Step 4: Apply a channel grouping rule in GA4
For historical data you cannot re-tag, create a custom channel grouping in GA4 that catches known variants. Go to Admin → Data Display → Channel Groups and create rules that map multiple medium values to a single channel. This does not fix the underlying data but corrects the reporting view going forward.
Check your UTM health automatically
Manually auditing UTM consistency across months of data is time-consuming and easy to miss. GA4 Health Check's automated audit scans your UTM medium values for casing inconsistencies across your chosen date range, flags the specific values causing channel splits, and includes the findings in your PDF report with recommendations for remediation.
It is one of the most commonly flagged issues in our property audits — and one of the most impactful to fix, because it immediately restores credit to underperforming channels and gives your team accurate data to make budget decisions against.
Run a GA4 audit to check your UTM consistency →
