UTM Naming Conventions: Rules, Examples and a Free Template

Clean campaign reports start with a short set of naming rules everyone follows. Here is a practical UTM naming convention you can adopt today, with examples for every channel.

The seven rules of a UTM naming convention

  1. Lowercase everything. Analytics is case-sensitive; one rule removes a whole class of duplicates.
  2. One separator. Pick dashes or underscores for spaces and never mix them.
  3. Source = the platform or list. google, linkedin, newsletter, partner-name – never the channel type.
  4. Medium = a GA4-recognised channel. cpc, paid-social, social, email, display, affiliate, referral, sms – so traffic lands in the right default channel.
  5. Campaign names follow a pattern. The same fields in the same order every time (see below).
  6. Content describes the creative, not the campaign. hero-button, video-15s, carousel-2 – whatever differentiates links within one campaign.
  7. Never tag internal links. UTM tags on links within your own site start a new session and overwrite the real source.

Approved sources and mediums

Keep a short, written list and treat anything outside it as a mistake. A starting point:

Example approved values
utm_mediumTypical utm_source valuesGA4 channel
cpcgoogle, bingPaid Search
paid-socialfacebook, instagram, linkedin, tiktok, redditPaid Social
sociallinkedin, facebook, x, instagram, youtubeOrganic Social
emailnewsletter, onboarding, crm, partner-newsletterEmail
displaydv360, programmatic, publisher-nameDisplay
affiliatenetwork or partner nameAffiliates
referralsite name for guest posts, directories, PRReferral
smssending platformSMS

Unsure where a pair will land? Check it with the GA4 Channel Checker.

A campaign name pattern that scales

Pack the facts you will want to filter on into the campaign name, in a fixed order, joined by dashes:

{year}-{quarter or month}-{initiative}-{region}-{audience}
2026-q4-black-friday-us-returning
2026-03-webinar-analytics-emea-prospects

Because the parts are always in the same position, you can split them later in GA4 explorations, Looker Studio or a spreadsheet. If you import cost data, also give every campaign a stable utm_id (for example cmp-2026-031) and keep a list that maps IDs to names.

Examples by channel

Newsletter:   ?utm_source=newsletter&utm_medium=email&utm_campaign=2026-q4-black-friday-us&utm_content=hero-button
LinkedIn ad:  ?utm_source=linkedin&utm_medium=paid-social&utm_campaign=2026-q4-black-friday-us&utm_content=carousel-2
Organic post: ?utm_source=linkedin&utm_medium=social&utm_campaign=2026-q4-black-friday-us
Partner:      ?utm_source=partner-acme&utm_medium=referral&utm_campaign=2026-q4-black-friday-us
QR on flyer:  ?utm_source=flyer&utm_medium=qr&utm_campaign=2026-q4-black-friday-us&utm_content=store-window

Making the convention stick

A convention that lives in a document gets forgotten; one that lives in the tool gets followed. Practical steps, from lightest to strongest:

  • Save each recurring combination as a template in the UTM builder and share the preset tab your team should use.
  • Keep the master list in our spreadsheet template, whose Picklists tab rejects unapproved mediums.
  • Generate launch links in one go with the bulk builder so naming is identical across channels.
  • Audit links from agencies and colleagues with the UTM checker before they go live.

Naming convention FAQ

Dashes or underscores?

Either works – consistency matters more than the choice. Dashes are slightly easier to read in URLs; underscores avoid confusion with hyphenated words. Pick one and set it as the builder default.

Should I put the date in the campaign name?

Yes, at least the year and quarter or month. It keeps recurring campaigns such as “black-friday” separate year over year without extra filters.

Can I rename campaigns afterwards?

Not in GA4’s collected data. You can map old values to new ones in reports, Looker Studio or with custom channel groups, but it is far easier to get names right before links go out.