Short answer: Google Analytics treats UTM values as case-sensitive text, so Instagram, instagram and insta become three separate sources. Spaces, typos and mistyped tag names make it worse. Pick one lowercase convention, replace spaces with - or _, and build every link from it.
What is inconsistent UTM naming?
Inconsistent UTM naming: writing the same source, medium or campaign in more than one way across links, so analytics tools count them as different things.
Google is explicit about this. Its help page says parameter values are case sensitive, so utm_source=google is different from utm_source=Google, and it recommends a strict naming convention. Lowercase is the usual standard.
Why does capitalisation matter?
Because reports store the exact text you sent. Instagram and instagram are two rows, each with part of your traffic, and neither shows the true total.
There is one twist. Google says its default channel rules are not case-sensitive, so both values may still land in the same channel, such as Paid Social. But source, medium and campaign reports keep them apart, and those are the reports you use to compare campaigns.
The common naming mistakes
- Capital letters:
Diwali_Saleone week,diwali_salethe next. - Spaces:
paid socialgets encoded aspaid%20socialby some tools and differently by others, so the same value can look different. Usepaid_socialorpaid-social. - Nicknames:
ig,instaandinstagramfor one source. - Mistyped tag names:
utm_Sourceorutm_campain. Parameter names are case-sensitive too, so these tags are usually ignored, and the visit arrives with no source at all. - Non-standard tags: anything starting
utm_that isn't on Google's list, such asutm_channel, isn't read as campaign data.
Example
Three links for the same Instagram campaign, written three ways:
https://example.com/?utm_source=Instagram&utm_medium=Paid Social&utm_campaign=Diwali Sale
https://example.com/?utm_source=insta&utm_Medium=paid_social&utm_campaign=diwali
https://example.com/?utm_source=instagram&utm_medium=paid_social&utm_campaign=diwali_sale
Only the third follows a clean convention. Use it for every link in the campaign:
https://example.com/?utm_source=instagram&utm_medium=paid_social&utm_campaign=diwali_sale
How to fix it
- Write a short naming sheet: the allowed sources (such as
instagram,google,newsletter), the allowed mediums and a pattern for campaign names, such asfestival_offer_month. - Use lowercase for everything, and
_or-instead of spaces. Pick one separator and stick to it. - Build links in the UTM builder with "make values lowercase" switched on. It also replaces spaces for you.
- Paste any link you didn't build yourself into the link checker. It flags capital letters, spaces, wrong-case tag names and non-standard tags.
- For medium values, follow the channel rules in utm_medium and channels.
- You can't rename old data in reports, so fix links going forward and note the change date.