1. Home
  2. Guides
  3. A Naming Convention for UTM Parameters

Pick one naming convention, then never deviate from it

Campaign tags are made in a hurry, once per launch, and analysed for years. The only thing that stands between a clean report and a fragmented one is consistency.

By Enrique M. · 5 min read · Last reviewed 2026-10-03

Source, medium and campaign are different questions

The three parameters answer three separate questions, and the most common mistake is putting the same answer in two of them. Source is the specific origin, medium is the channel type and campaign is the initiative.

If source and medium are both `email`, your report can tell you that email produced traffic but not which medium, and you lose the ability to compare email against paid search at all.

  • `utm_source` — newsletter, linkedin, google, poster
  • `utm_medium` — email, social, cpc, referral, qr, print
  • `utm_campaign` — spring_launch, black_friday, onboarding_2026
  • `utm_content` — hero_button, variant_b (to separate creatives)
  • `utm_term` — paid search keywords only

Casing is not cosmetic

Analytics tools are inconsistent about how they treat parameter names, but a mixed-case parameter almost always ends up as a separate row from the lowercase version of the same parameter. One launch with `utm_Source` in one template and `utm_source` in another produces two campaigns.

The convention that works is lowercase everywhere, with underscores between words, and no spaces in any value. Enforce it with a link builder rather than with a convention people have to remember.

https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_campaign=spring_launch

A campaign name that means something in six months

The person reading this report in a year will not remember what `launch2` referred to. A name that includes the period and the subject, such as `spring_launch_2026`, stays interpretable long after the launch call has faded.

The same applies to the creative level. If a campaign has two ads, give each a distinct `utm_content` value, otherwise the test reports a single combined number and tells you nothing.

  • Include the year in long-running campaign names.
  • Use a separate `utm_content` per creative in an A/B test.
  • Do not put personal data in a parameter value — URLs end up in reports.
  • Do not tag internal links; only tag links that arrive from outside.

Where the parameters get lost

Some advertising platforms and social networks strip unknown query parameters during a redirect, so a tagged link can arrive untagged. Testing with a real link checker is the only reliable way to know, and it is worth doing before a campaign rather than after the report comes back empty.

What to take away

  • Source, medium and campaign answer three different questions.
  • Lowercase parameter names, always, with underscores between words.
  • One `utm_content` per creative, or the test tells you nothing.
  • Some platforms strip parameters on redirect — verify before you launch.

Related tools