INSIGHT

UTM Naming Conventions: A Practical Standard for Clean Data

Learn how to set UTM naming conventions your whole team can follow: formatting rules, example patterns, GA4 medium values, common mistakes and a governance checklist.
Aligned geometric cards suggest consistent UTM naming

A UTM naming convention is a written set of rules for how your team fills in each UTM parameter: which characters are allowed, which values are approved, and in what order a campaign name is built. The short version: use lowercase only, use hyphens instead of spaces, pull utm_source and utm_medium from a fixed list, give utm_campaign one repeatable pattern, and generate every link from a shared builder instead of typing it by hand.

This guide walks through the rules, a campaign naming pattern you can copy, the GA4 medium values that matter, and a simple governance routine. It is written for owners, marketers and analysts who want reports they can trust.

Magic Logix
Bring clearer data into your marketing
Magic Logix combines advanced data analytics with tailored marketing strategies to address the challenges behind your digital transformation.

Request a consultation

TL;DR

  • Write every UTM value in lowercase, with hyphens between words and no spaces or special characters, so one campaign never splits into several rows.
  • Keep utm_source and utm_medium on approved lists. In GA4, utm_medium drives channel grouping, so an unrecognized value can land traffic in “Unassigned.”
  • Give utm_campaign one pattern, such as date, offer, objective, audience and region, and never reuse a string for a different campaign.
  • Never add UTMs to links inside your own site. It restarts the session and overwrites the real source.
  • Enforce the convention with a locked builder, one owner and a monthly audit. A document nobody checks is not a standard.

Table of Contents

What UTM parameters are and why naming matters

UTM (Urchin Tracking Module) parameters are tags added to the end of a URL so analytics tools can attribute traffic and campaign performance. The University of Illinois brand guidelines list five: utm_source, utm_medium, utm_campaign, and the optional utm_content and utm_term. If you need a refresher on building links, our guide to how to use UTM parameters covers the basics.

Here is what each one is for:

Parameter What it answers Example value
utm_source Where the click came from (the platform or sender) google, newsletter
utm_medium The type of channel cpc, email, social
utm_campaign Which campaign or promotion spring-sale
utm_content Which creative or link variation hero-button
utm_term The paid keyword, if any running-shoes

Google’s own documentation for Analytics URL builders also describes utm_id (a campaign ID) and utm_source_platform (the platform responsible for directing traffic to a property), which become useful once you run many campaigns across ad platforms.

The reason naming matters is simple. Analytics tools treat values as literal text. Facebook, facebook and fb are three different sources. Think of your UTMs as a filing system: if every person labels folders their own way, nothing can be found later. Many UTM mistakes also raise no error at all. AnyTrack’s documentation notes that inconsistent naming fragments traffic into multiple rows and that missing required parameters can break traffic categorization, which quietly damages attribution.

The formatting rules every convention needs

Before you decide on any structure, lock in the character-level rules. They are the cheapest fixes with the biggest payoff.

Use lowercase everywhere

UTM values are case sensitive in reports. Hootsuite recommends standardizing on lowercase for every value so variants do not become separate rows. The Illinois guide gives the same advice and adds that parameters should be added in the same order every time.

Use hyphens, not spaces

Spaces get encoded as %20, which makes links and reports hard to read. Hootsuite suggests underscores or hyphens instead. Pick one and stay with it. HockeyStack’s documentation recommends hyphens, and so do we, because a single separator is easier to enforce. A common split is hyphens inside a value and underscores only if your team already uses them as field separators, but the simplest rule is one separator everywhere.

Avoid special characters

HockeyStack’s UTM best practices say to avoid special characters, not to reuse a UTM string across campaigns, and not to edit existing UTMs mid-flight. If something has to change, create a new sequence number instead. Letters, numbers and hyphens cover almost every case.

Be consistent about one spelling per idea

Koko Analytics gives a clear principle: choose one format such as spring-sale rather than mixing SpringSale and spring_sale, because inconsistent names show up as separate rows. The same page recommends using the same utm_campaign value across different sources and mediums so you can compare one campaign across channels.

Source and medium: use a fixed vocabulary

The two parameters that need the strictest control are utm_source and utm_medium. Source names a platform. Medium names the type of channel. Neither should be free text.

Why medium is the most important field

In GA4, the default channel grouping depends on matching utm_medium. According to Trakl’s breakdown, the strings GA4 looks for include cpc, ppc and paidsearch for Paid Search, paid-social and paid_social for Paid Social, email for Email, display and banner for Display, affiliate for Affiliates, and referral for Referral. A value that is not on the list lands in “Unassigned” or “Other,” which hides it from standard reports. UTMGuard’s GA4 guide makes the same point and lists standard mediums such as cpc, email, social, referral, display and affiliate.

GA4 behavior changes over time, so check your own property’s channel group definitions in Admin before you finalize your list. If you are still setting up the property itself, our GA4 setup checklist covers the foundations.

A starter vocabulary

Use this as a draft and adjust it to the channels you run:

Channel utm_source utm_medium
Google Ads search google cpc
Meta paid social facebook paid-social
LinkedIn paid social linkedin paid-social
Email newsletter newsletter email
Organic social post linkedin social
Affiliate partner partner name affiliate
Display banner publisher name display

Two rules keep this table healthy. First, one canonical name per platform: it is always facebook, never fb or meta in some links. Second, the source describes where the click came from, while the medium describes how. Mixing them up is one of the most common mistakes.

Building the utm_campaign name

This is where teams most often disagree, because campaign names carry the most meaning. The goal is a name that is readable in a report without opening the ad platform.

Pick fields that your team will actually use

One published approach, from Attributy’s governance guide, suggests that a structured campaign name may include market or region, audience, product or offer, campaign theme and funnel stage, and a date, quarter or launch period. HockeyStack’s pattern is year-month, product or offer, objective, audience, region and a sequence number, with an example like 2025-10-ai_launch-leadgen-prospecting-us-01.

The common thread is that every field answers one question and appears in the same position every time. Do not add fields you will not fill in.

Pick fields that your team will actually use

A pattern you can copy

For most small and mid-sized teams, five fields are enough:

yyyy-mm-offer-objective-audience-region

Filled in, that looks like this:

  • 2026-11-holiday-gift-guide-conversion-prospecting-us
  • 2026-11-holiday-gift-guide-conversion-retargeting-us
  • 2026-12-year-end-webinar-leads-newsletter-us

Only hyphens separate words, so the field boundaries are readable by position, not by punctuation. If you want fields to be machine-splittable, use a second separator such as an underscore between fields and hyphens inside them, and document it clearly. Do not mix approaches.

Three naming models, and when each fits

The pages that rank for this topic describe three structures. Here is how we would choose between them:

Model How it works Best for Trade-off
Key-value Descriptive words in a flexible order Small teams, few channels Easy to read, easy to drift
Positional Fixed fields in a fixed order Mid-size teams, many campaigns Needs a template to enforce
Coded IDs that map to a lookup table Large teams, many markets Unreadable without the table

Most growing businesses do best with the positional model, because anyone can read it and a builder can enforce it. Coded names make sense only when a lookup table is maintained and available to everyone who reads reports.

Add a date or ID so names do not collide

A date or sequence number keeps a repeated promotion from blending with last year’s. It also means you have a clean way to launch a revised version without editing a live link. Stable IDs help too: the utm_id parameter documented by Google can carry a platform’s campaign ID so reporting can survive a rename.

Mirror the ad platform hierarchy

Supermetrics suggests that utm_campaign should mirror the campaign name or the ad group name, depending on how granular your analytics need to be. Its hierarchy runs from account level (currency, region) to campaign level (objective, theme, start date, product), ad set level (bidding, targeting, placements) and ad level (creative, call to action, format). Matching the names in your ad platforms to your UTM names means one convention serves both systems. Our guide to paid search management shows how account structure supports this kind of consistency.

Ad platform levels and their corresponding UTM fields

Content and term: keep them useful

Use utm_content to tell apart links that point to the same page within one campaign. Hootsuite describes it as identifying the exact creative or element clicked, which is handy for A/B tests. Good values are short and descriptive: header-cta, footer-link, video-a, video-b.

Use utm_term for the paid keyword. On Google Ads, many teams fill it automatically with a ValueTrack parameter instead of typing it, which removes one more chance for error. Check the ad platform’s own documentation for the current macro syntax before you set it up.

Common mistakes and how to fix them

These are the problems we would look for first in an audit.

  1. Case and spelling variants. Email, email and e-mail fragment one channel. Fix: lowercase and an approved list.
  2. Unrecognized mediums. A value such as paid_social_ads is not on GA4’s recognized list and may fall into Unassigned. Fix: use the standard strings above.
  3. Tagging internal links. Hootsuite explains that UTMs on internal links restart the session and overwrite the original source, so your own site can appear as the traffic source. Tag only links that bring people from outside your site.
  4. Missing required parameters. Leaving out source, medium or campaign can break categorization.
  5. Reusing a campaign string. A recycled name merges unrelated results. Add a date or sequence number.
  6. Editing links mid-flight. You split history in two. Create a new version instead.
  7. Typing from memory. This is the root cause of most of the above. Use presets or a builder.

Document, enforce and audit

A convention only works when it is easy to follow. LinkUTM’s template suggests a team document with non-negotiable format rules, approved value lists, a single owner who approves new values, and a regular audit of GA4 traffic acquisition reports, for example monthly. It also recommends building links with a locked builder and validating before shipping.

A five-step routine

TrackFunnels outlines a circular process that is simple to adopt:

  1. Catalog: keep one list of every approved value and what it means.
  2. Constrain: make your link tools accept only values from that list.
  3. Create: everyone builds links with the tool, not by hand.
  4. Check: review links before launch and look at reports about 24 hours later.
  5. Correct: fix wrong values fast and update the tool so the error cannot recur.

What to put in your one-page convention

  • The format rules (lowercase, hyphens, allowed characters)
  • The approved source and medium table
  • The campaign pattern with two or three real examples
  • Rules for content and term values
  • The name of the owner who approves new values
  • The audit schedule and where results are recorded

If you inherit a messy history, do not try to rewrite old data. Pick a cutoff date, apply the convention to everything launched after it, and update active campaigns that do not comply.

How to check that it is working

A convention is a means to an end, so measure the result:

  • Unassigned share: in GA4’s traffic acquisition report, the share of sessions in Unassigned should be small and falling. Set your own target with your analyst.
  • Distinct values: count the unique utm_source and utm_medium values. It should match your approved list.
  • Campaign rollups: can you total one campaign across every channel without manual cleanup?
  • Time to report: how long does it take to build the monthly marketing report? Cleaner data should shorten it.

For how this connects to the bigger picture, see our pieces on measuring digital marketing effectiveness and conversion tracking.

Our perspective

We see the same pattern in marketing reporting again and again: the tools are fine, but the labels are not. A team spends real budget on campaigns, then cannot say which channel did what, because the same source was spelled four ways.

Our view is that naming conventions are a business decision, not an admin chore. They decide whether your reports can answer a CMO’s questions. We encourage clients to treat the convention as shared infrastructure, like plumbing: invisible when it works, expensive when it leaks.

At Magic Logix, we build measurement and campaign systems with that in mind, so tagging, analytics and reporting are designed together rather than patched afterward. It is part of how we approach Digital Beyond Tomorrow: practical foundations first, then the more advanced work on top.

Hassan Bawab

Get help setting up tracking that holds together

If your reporting is already messy, or you are launching across several channels, we can help you design the convention, the builder and the audit routine as part of a broader measurement plan. Learn more about our digital marketing and paid media services, or start a conversation with Magic Logix about what your team needs.

FAQ

What are the five UTM parameters?

They are utm_source, utm_medium, utm_campaign, utm_content and utm_term. Source, medium and campaign are the three most analytics tools expect, while content and term are optional. Google also documents extra parameters such as utm_id for campaign IDs.

What is a good example of a campaign naming convention?

A simple pattern is year-month, offer, objective, audience and region, such as 2026-11-holiday-gift-guide-conversion-prospecting-us. Each field sits in the same position every time. Your own pattern can differ, as long as it is documented and every link follows it.

Should UTM parameters be lowercase?

Yes. Values are treated as literal text, so Email and email appear as separate rows. Lowercase everything and use hyphens instead of spaces, as the Illinois guidelines and Hootsuite both advise.

No. Tagging links inside your own site restarts the session and overwrites the original source. Use UTMs only on links that bring visitors from outside, such as ads, emails and social posts.

How often should we audit our UTMs?

A monthly review of GA4 traffic acquisition is a practical starting point. Look for unrecognized mediums, case variants and a growing Unassigned share, then fix the builder so the problem does not return.

Sources

Share This Article

Key Takeaways

Let's Build Your Growth Strategy

Get a custom SEO strategy tailored to your business goals.
READY TO GROW?

Turn Search Visibility Into Real Business Growth.

Get a custom SEO strategy from the Magic Logix team.