Team naming standard

UTM naming conventions for marketing teams

Use one naming contract, one controlled vocabulary, and one rollout process so campaign reporting stays readable when multiple people build links every week.

This page is the operating playbook for consistent UTM naming. Set the rule here, use the UTM Naming Generator to clean raw values, lock the approved structure in the naming template, build the final link in the UTM Builder, scale it with Bulk UTMs, then put important launches through the UTM QA Checklist.

One formula

Campaign names need a repeatable structure that works for email, paid, social, affiliate, and creator traffic.

One vocabulary

Sources and mediums should come from a controlled list so reporting never fractures into duplicates.

One release discipline

Naming belongs upstream, QA belongs before launch, and changes need a clear owner.

The golden naming formula

Keep this formula stable and the rest of the workflow becomes easier to govern. The goal is to capture campaign type, brand, promotion detail, and target in one readable structure that survives handoffs.

campaigntype brand promotiondetail target

Use lowercase, avoid spaces, and separate words consistently. A working example is newsletter-shortlinkfix-march_sale-email or paid-shortlinkfix-spring_launch-prospects. The exact formula can vary, but once you choose it, the whole team has to stick to it.

Email examplenewsletter-shortlinkfix-march_sale-email
Paid social examplepaid-shortlinkfix-spring_launch-paid_social
Affiliate exampleaffiliate-shortlinkfix-review_push-partner

Bad vs good naming patterns

The fastest way to stop naming drift is to show the team what weak naming looks like and what good naming looks like side by side.

Bad naming

  • Sale-Apr1
  • Facebook_cpc
  • Black-friday-email
  • black-Friday-Email-10-OFF
These examples drift in casing, separators, and meaning, so they create duplicate rows and messy filters in reports.
People also start inventing their own versions, which makes multi-channel comparison harder every month.

Good naming

  • 2026-03-shortlinkfix-spring_sale-email
  • 2026-03-shortlinkfix-spring_sale-paid_social
  • 2026-03-shortlinkfix-black_friday-affiliate
  • 2026-03-shortlinkfix-newsletter-prospects
Good naming stays lowercase, uses one separator approach, and makes it obvious what initiative the row belongs to.
The key win is repeatability. If anyone on the team can produce the same shape, your reporting stays trustworthy.

Controlled vocabulary

Free-text naming is where scale breaks. Lock the allowed values before you ask people to build or QA anything.

Approved names only

Campaign typepromo, content, newsletter, affiliate, launch, webinar
Brandshortlinkfix, slf, or another fixed brand code you decide once and document
Promotion detailUse a controlled short label for the initiative, not a random sentence typed on the day.
Targetemail, paid_social, affiliate, organic_social, search, partners

Recommended channel vocabulary

utm_sourcefacebook, instagram, google, klaviyo, tiktok, youtube, partner_name
utm_mediumpaid_social, organic_social, email, affiliate, cpc, sms, referral
utm_contentcta variants, placements, or creative versions like hero_cta, footer_banner, reel_03
utm_termOnly when a keyword or audience label adds reporting value. Do not force it onto every row.

Governance workflow

Teams do not need more opinions. They need a predictable route from naming rule to launch-ready link.

If naming debates keep drifting back into field ownership, read UTM taxonomy vs naming conventions before you lock the formula.

1

Set rules

Lock the formula, the vocabulary, and the person who can approve changes.

2

Generate clean values

Use the naming generator or template instead of asking people to freestyle the values in a rush.

3

Build links

Move approved values into the UTM Builder or Bulk UTMs so assembly stays controlled.

4

Review before launch

Use the UTM QA Checklist when a campaign matters enough to need a human release gate.

5

Audit drift monthly

Pull real campaign rows, find naming drift early, and fix the process before the mess compounds.

Rolling this out without chaos

Do not try to rewrite every historical campaign row first. Start with the next launch, lock the contract, and use the workflow around it.

30-day rollout plan

Week 1: Decide the formula, sources, mediums, and the approval owner.
Week 2: Put the approved values into the naming template and generator.
Week 3: Make the team build live links through the builder or Bulk UTMs only.
Week 4: Review the first launches with the QA checklist and patch any drift while it is still small.
The goal is not abstract governance theatre. The goal is to stop report fragmentation and make future campaign rows predictable.

Where teams usually go wrong

They lock a formula but never define the allowed source/medium vocabulary.
They make one exceptions sheet per team, which recreates drift under a different name.
They launch links from chat messages instead of a controlled workflow, then try to clean the mess later.
They audit too late, after mixed naming has already reached dashboards and decision meetings.

Rules first, then tools, then release discipline

The article should route work into the right next step, not leave people with a policy page and no workflow.

UTM Naming Generator

Clean raw source, medium, campaign, content, and term values before anyone starts building launch links.

Open generator

UTM Naming Template

Give the team a copy-ready template so approved values are visible, shareable, and reusable across campaigns.

Use template

UTM Builder

Move approved values into the final destination URL once the naming is locked and ready for assembly.

Build URLs

Bulk UTMs

When the campaign needs dozens of URLs, use the scale workflow instead of building one row at a time.

Go bulk

UTM QA Checklist

Put important launches through a human release gate before the links reach paid traffic, creators, or email sends.

Run checklist

UTM taxonomy vs naming

Use this when the team keeps confusing approved values with formatting rules and needs the boundary locked down clearly.

Open boundary guide

GA4 custom channel groups

Use this once the naming system is stable and you need the governed values translated into repeatable reporting buckets.

Map channel logic

FAQ

Short answers to the naming questions teams trip over most often.

Should utm_source be the platform or the publisher?

Pick one principle and enforce it. Most teams use platform or tool for utm_source because it stays stable and supports ops reporting better than free-text publisher labels.

Should we include dates in utm_campaign?

If you run repeated initiatives, dates help avoid collisions and make audits easier. Keep the format consistent and avoid ad-hoc free-text campaign names.

What if two teams need different naming?

They can have different campaigns, but they should not have different vocabularies. Standardise sources and mediums org-wide, then allow controlled variation inside campaign and content fields.