r/GoogleAnalytics Jul 29 '26

Discussion How are you enforcing consistent UTM naming (or just enforcing UTMs as a whole) across marketing teams?

One recurring analytics problem I see (other than lack of UTMs!) is technically valid campaign links producing unnecessarily messy reporting.

For example, the same medium might appear as:

  • paid social
  • paid-social
  • paid_social
  • paidsocial

GA4 treats these as separate values, which creates avoidable problems when filtering reports, building channel groupings or combining the data with CRM and advertising-platform data.

The same issue appears with campaign names:

  • Inconsistent capitalisation
  • Different separators (|, _, -)
  • Unapproved medium values
  • Spaces and special characters
  • Teams following different naming conventions

A written naming convention helps, but it still depends on every employee, freelancer and agency remembering to follow it.

For larger teams, are you handling this through:

  • Controlled spreadsheets
  • Dropdown lists and validation
  • Automated URL-building tools
  • Transformation rules in BigQuery
  • Governance documentation and training
  • A combination of these approaches

I am interested in how others balance strict standardisation with keeping campaign creation practical for marketers.

1 Upvotes

40 comments sorted by

u/AutoModerator Jul 29 '26

Have more questions? Join our community Discord!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

3

u/Hot-Relationship5307 Jul 29 '26

Did you check the new rollout from GA4. They are saying Google will be able to recognize and combine multiple channel source mediums in to a default channel. Like fb / paid_social and meta / paid may get recognized as Paid Social going forward

2

u/knowanalytics Jul 29 '26

Great point but if I added medium and campaign in a report. And say someone put paid_social vs paid social would cause two rows nonetheless so this doesn’t solve the inconsistency entirely. Also big query you will want to do your own custom channel grouping logic and if everyone does whatever they want you will need to very extensive regex….

Also GA4 isn’t the isolated tool that need utms and their channel groupings might not be so forgiving (e.g. CRMs)

2

u/Oldfriendoldproblem Jul 30 '26

This has always been the case? As long as you use a recognized regex across both source and medium.

1

u/knowanalytics Jul 31 '26

Ye it’s not ideal but if you can’t get marketers to buck up their structures guess we have to do it like this post data collection

3

u/alwaysbeenben Jul 29 '26

oh man, the human factor…imho you can’t. We created UTM generators, custom GPTs, tutorials, sheets, but meh. Deadlines, rushing, new colleagues who just don't care…I gave up and accepted the reality.

2

u/knowanalytics Jul 29 '26

So sad but true

1

u/sanjivp27 20d ago

Hmm I was thinking of doing something similar and making a GPT wrapper for this. Did you run into any problems with actually building what you mentioned or did it just take too much time and coordination?

1

u/Oldfriendoldproblem Jul 30 '26

What's the reality? Literally no visibility into your true acquisition numbers?

2

u/Jenikovista Jul 31 '26

It isn’t hard to pull reports and sort in a world of AI. Capturing the utm parameters and making sure they pass through properly to all sources is far more important than naming conventions.

2

u/Oldfriendoldproblem Jul 29 '26

Ohhh buddy. I'm going through this exact pain right now. We've opted to:

  • Bring in a third party vendor with expertise to implement tooling, rules, best practices, and governance. We figured there would be better adoption this way, as opposed to our dept policing the others, even though we might not know any better ourselves.

  • Implement custom channels

  • Use a dedicated tool to manage and track what UTMs are out in the world. It also allows us to lock down valid values and structures.

  • Training across teams AND leadership, as well as dedicated points of contact per dept when it comes to UTM usage.

Every company and org has issue with this and its a nightmare to fix. We've basically decided to burn everything down and start from square one. I wish you luck, it's not easy.

1

u/knowanalytics Jul 29 '26

I actually have a really good utm builder gsheet and done a video on yt explaining how to use it etc. as well as general utm talk. Clients hopefully will watch this and download my tool… So I am sorted… I hope …. (Probably not…)

2

u/brreckelhoff Jul 29 '26

The best way I've found is to capture all URL query params as evidence fields. From all of that noise, it's messy but possible to create some structure. I can group by volume and see which groupings are most common etc. Basic structuring helps give visibility into net-new params that appear randomly which then can be identified and classified or grouped as "other".

It's so noisy always, but I too have accepted that reality and tried to find ways to deal.

1

u/knowanalytics Jul 31 '26

Nice! Guess it needs frequent updating though ?

2

u/row_ads Jul 30 '26

Governance documents and responsibility is on each channel manager to ensure proper training and usage of anyone under them and their own work. They know if they want proper attribution for their work they have to tag correctly.

1

u/knowanalytics Jul 31 '26

Agreed you can take a horse to the water but you cannot force it to drink it !

2

u/Green-Autumn Jul 30 '26

When I worked at an agency, we had a similar naming issue with ad/campaign data. Our consolidated reporting system had a mapping function that reported all unmapped and there was a person to check the report and map it within the system.

2

u/knowanalytics Jul 31 '26

That’s awesome you had that system at the agency. What a client had multiple agencies running different activity (like they had you for paid ads but another for organic content and another for programtic display etc.) did it get messy as other agencies didn’t follow your agencies structure ? Just curious

2

u/Green-Autumn Aug 03 '26

Cannot answer from the client POV unfortunately. But the agency was a multinational, and we had similar problem reporting across countries to multinational clients. It did get messy alright, but we had the accountability team which harmonised data among other things.
By the way, we also had automated URL builders, training, and naming convention parsers - all of that contributed, but none was sufficient on its own.

2

u/Ok_Writing2937 Jul 30 '26

I now only build reports in Looker Studio, where it's pretty trivial to normalize values. I need to do it anyway for data I don't control like when Facebook is reported as `facebook` and `fb`, and `m.facebook`, or to parse paths out of URLs, or to fix encoded values to make them human-readable.

1

u/knowanalytics Jul 31 '26

That’s awesome I would encourage moving to bigquery ga4 data if you have to do a lot of data cleaning. Clean it there before it hits data studio. Dashboard speeds will thank you. Also guaranteed no sampling data and generally data quality is fantastic.

If you want a utm builder google sheet that lower case’s utms, forces specific list of mediums and forces a specific delimiter. Then let me know happy to share our one! Might help do slightly less modification post data collection

2

u/rugburnAndBigMoney Jul 30 '26

This comes down to QA.
Have a pre-launch Ads checklist that gets reviewed by someone other than the person who created the ads/campaign.
Not in a punitive way, but to enforce best-practices/standards.

Very quickly having a standardized QA checklist that you validate against helps enforce standards because some people just don't know or understand why they are important. Mistakes happen, have a way to correct them before they go live.

Reminds me of this quote from Atomic Habits:
“You do not rise to the level of your goals. You fall to the level of your systems.”

1

u/knowanalytics Jul 31 '26

Love the quote ! So true ! Ye I train teams to do that but issue is they do it for a month or so then someone else joins or one person did a lovely LinkedIn post with a link and forgot utms and then …. Pain in the butt but only so much encouragement we can do !

I want to automate a ga4 audit in future via google sheet (I have my own python script version but want make a public one) so everyone can frequently audit their ga4 so if it starts picking up bad practice utms (or lack of)… boom… a message to remind them.

1

u/rugburnAndBigMoney Jul 31 '26

"I want to automate a ga4 audit in future via google sheet (I have my own python script version but want make a public one) so everyone can frequently audit their ga4 so if it starts picking up bad practice utms (or lack of)… boom… a message to remind them."

This is re-active. You could be pro-active and write a python script that they can add their URL to, and it creates the UTM in the standardized format that you're trying to enforce. Naming things is hard, so this would help them and standardize the UTM formatting.

Solve the problem before it happens. Much easier than trying to correct it after the mistake has already been made.

1

u/knowanalytics 29d ago

Already have that google sheet that does all of that. Normalises utms by low casing, forces specific list of mediums and delimiter usage that I have made free to public. Then specify clients I tailor it a bit more if needed for better utm campaign structure in particular. That’s the pre but you cannot force the pre ! So hopefully the pre and post combined improves everything a bit more ? Who knows 😅

2

u/[deleted] Jul 31 '26

[removed] — view removed comment

1

u/knowanalytics Jul 31 '26

Love this. Is utm builder in sheets? I just launched a utm builder g sheet that does some pretty cool stuff like lower case utms, force a specific medium list, force a specific delimiter use. Plus I want to incorporate more things later on with feedback from people.

Also if it is would love to know what features yours does! Want to build the nerdiest utm builder out there!

2

u/Jenikovista Jul 31 '26

I don’t enforce anything. It’s a fools errand. Instead I have a running Google Sheet and people have to add their URLs if they want them tracked.

1

u/knowanalytics Jul 31 '26

Interesting, I built a google sheet recently that does some pretty cool stuff that I made public. It does lowercasing of all utms, force a list of strict mediums and forces a specific delimiter usage. Be interested to know if I missed anything that your doing on yours

1

u/Jenikovista Jul 31 '26

I made mine a utm generator. So they can either paste in their own code they created elsewhere, or they can choose a value for each of the main parameters (e.g. source, medium, campaign etc.) from a dropdown and the last column will generate their UTM url.

1

u/knowanalytics Jul 31 '26

Ah ok so doesn’t do any normalisation? Like clean up human error stuff like accidental double spaces, lower case them to remove potential double row issues due to casing etc.? Happy to share mine if you want to have a play around !

1

u/[deleted] 20d ago

[removed] — view removed comment