UTM parameters are case-sensitive in Google Analytics 4, and that single fact can split your channel data into two or three separate rows before you ever open a report. A link tagged utm_source=Facebook lands in a different bucket than utm_source=facebook. The platform does not merge them. If your team tags links by hand, your acquisition reports will show inflated costs for one version and zero conversions for the other, and nobody will know which campaign is working until they dig through raw data.
The fix is simple: enforce a lowercase standard across every tool that writes tracking links, and audit your existing data for the fragments it already created.
Why GA4 Treats 'Email' and 'email' as Different Sources
UTM parameters sit in the query string of a URL. To a server or an analytics engine, a query string is a sequence of characters. An uppercase E (ASCII 69) is a different character than a lowercase e (ASCII 101). When GA4 processes a hit, it maps the exact string to a row in its database. It does not guess intent.
The parameters themselves—utm_source, utm_medium, utm_campaign—are recognized regardless of case. But the values you assign to them are not. If one person tags a link utm_source=LinkedIn and another uses utm_source=linkedin, GA4 creates two separate line items in your acquisition report.
This differs from the URL path, where many modern web servers treat /about and /About as the same page. Query strings do not get that treatment. The browser sends the characters exactly as typed, and GA4 records them exactly as received.
The String Parsing Logic
GA4 reads the URL left to right. When it hits the question mark, it begins parsing key-value pairs. It sees utm_source as the key and Facebook as the value. The next visitor arrives with facebook. The system sees a new value and creates a new bucket. No merging happens unless you build it yourself.
The Attribution Split Effect
The real cost shows up in ROI calculations. Picture a B2B SaaS company spending $10,000 a month on LinkedIn ads. Campaign A, managed by an external agency, carries utm_source=LinkedIn and pulls 500 clicks and 10 leads. Campaign B, tagged internally by the founder, uses utm_source=linkedin and pulls 500 clicks and 15 leads. In GA4, neither team sees the full picture: 25 leads across 1,000 clicks, or a 2.5 percent conversion rate. The agency optimizes away from its own channel because the data looks worse than it is.
How Case Sensitivity Splits Your GA4 Reports

You cannot fix what you have not quantified. Most teams assume their tracking is clean until they open the Traffic Acquisition report and see five variations of the same channel sitting side by side. That is attribution leakage—the loss of a cohesive data story caused by formatting inconsistency.
Step-by-Step: Finding Case Variants in GA4
- Open Reports → Acquisition → Traffic acquisition.
- Change the primary dimension to Session source/medium.
- Use the search bar to type a common source like
facebook. - Look for multiple entries such as
facebook / cpc,Facebook / cpc, andFACEBOOK / cpc. - Sum the sessions across all variants. Divide the sessions from the non-lowercase versions by the total to get your fragmentation rate.
- Check whether the variants align with specific timeframes—when a new freelancer started—or with specific tools used for manual entry.
A practical way to spot the problem is to look for "ghost" sources: entries that carry a handful of sessions but zero conversions, often created by a single typo or a capitalization slip.
Manual Tagging vs. Standardized Governance
The default approach for most growing companies is verbal instruction: "Just make sure you use UTMs." That works until someone types LinkedIn instead of linkedin in a browser address bar or a CSV export. The result is random casing across every channel.
The alternative replaces human memory with a locked system. A shared spreadsheet with dropdowns or a dedicated tagging tool removes the keyboard from the equation entirely.
| Feature | Ad-Hoc Tagging | Governance with a Standard |
|---|---|---|
| Input Method | Manual typing in Ads Manager or spreadsheets | Locked templates or dropdown menus |
| Casing Consistency | Random mixed case | Forced lowercase |
| Cleaning Time | Two to five hours per month in spreadsheets | Zero hours at source |
| Agency Alignment | High failure rate with verbal instructions only | Low failure rate with a shared source of truth |
| Bidding Impact | Dirty data confuses auto-bidding algorithms | Precise data fuels ROI scaling |
The hidden cost is cleaning time. When a growth lead spends a Friday afternoon using VLOOKUP or LOWER() functions in Google Sheets to merge Email and email for a board report, that person is doing data janitorial work, not growth work.
The Lowercase Standard: A Framework for UTM Governance

To stop the leak, enforce a consistent rule across every tool that writes tracking links. The most effective standard is the all-lowercase rule applied to every parameter value.
- Lowercase values. Every character in
utm_source,utm_medium, andutm_campaignmust be lowercase. No exceptions.utm_source=linkedinis correct.utm_source=LinkedInis not. - Hyphens as separators. Use hyphens to separate words. Never use underscores, spaces, or CamelCase.
utm_campaign=summer-saleis correct.utm_campaign=Summer_Saleis not. - Brand names as common nouns. "LinkedIn" becomes
linkedin. "Google" becomesgoogle. Treat them like any other word in the campaign name. - A single source of truth. Maintain one document or tool that lists all approved sources and mediums. If a team member wants to add a new channel, it gets added there first.
Characters to avoid in parameter values:
- Spaces, which become
%20in a URL and break readability. - Underscores, which conflict with the hyphen standard and lead to mixed formatting.
- Special characters such as
&,?, or#within the parameter values themselves.
How to Retroactively Fix Case Sensitivity Issues
If you have six months of fragmented data, you cannot go back and change the links people already clicked. You can normalize the data for reporting purposes, but the fix happens during analysis, not collection.
Retroactive cleanup checklist:
- Create a Custom Group in GA4 or apply a filter to group
Facebook,facebook, andFACEBOOKinto a single category before running reports. - For high-traffic landing pages, implement a server-level regex redirect that forces incoming UTM parameters to lowercase before the page loads.
- If you export GA4 data to BigQuery, use the
LOWER()SQL function to normalize your strings:SELECT LOWER(source) as clean_source, SUM(sessions) FROM analytics_table GROUP BY 1. - Mark the dirty period in your historical reports so stakeholders understand why the data shifted after governance was implemented.
Fixing data after ingestion is a bandage. It does not fix the root cause. The permanent solution is standardizing tracking links at the point of creation, the same way an agency drafts ad copy and a content engine publishes articles—checked, consistent, and ready to ship.
FAQ: UTM Parameter Case Sensitivity in GA4
Does Google Ads handle UTM case sensitivity differently? No. Google Ads passes the query string exactly as it receives it. If your landing page URL contains utm_source=Facebook, that exact string lands in GA4.
Can I merge case variants in GA4 without BigQuery? Yes. Use the Custom Groups feature under Admin → Custom Definitions → Custom Dimensions to group multiple casing variants into one label.
Should I fix the links or just the reports? Fix both. Normalizing reports buys you time. Standardizing at source prevents the split from happening again.
What about utm_term for paid search keywords? Those are also case-sensitive. Tagged keywords like best+accounting+software and Best+Accounting+Software will appear as separate terms in your Search Terms report.
If your team's tracking links still carry mixed casing, your acquisition data is already split. The fix is a lowercase mandate enforced at the source, plus a quarterly audit of your Traffic Acquisition report for ghost sources.
Related reading: Generative Engine Optimization Strategy: The Mechanism Behind AI Search Visibility · 5 Multi-Channel Attribution Models for CPA Optimization
Try it on your own site
Run the free audit on one page: real speed scores and on-page checks, with the fixes in order.




