The seven rules of a UTM naming convention
- Lowercase everything. Analytics is case-sensitive; one rule removes a whole class of duplicates.
- One separator. Pick dashes or underscores for spaces and never mix them.
- Source = the platform or list. google, linkedin, newsletter, partner-name – never the channel type.
- Medium = a GA4-recognised channel. cpc, paid-social, social, email, display, affiliate, referral, sms – so traffic lands in the right default channel.
- Campaign names follow a pattern. The same fields in the same order every time (see below).
- Content describes the creative, not the campaign. hero-button, video-15s, carousel-2 – whatever differentiates links within one campaign.
- 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:
| utm_medium | Typical utm_source values | GA4 channel |
|---|---|---|
cpc | google, bing | Paid Search |
paid-social | facebook, instagram, linkedin, tiktok, reddit | Paid Social |
social | linkedin, facebook, x, instagram, youtube | Organic Social |
email | newsletter, onboarding, crm, partner-newsletter | |
display | dv360, programmatic, publisher-name | Display |
affiliate | network or partner name | Affiliates |
referral | site name for guest posts, directories, PR | Referral |
sms | sending platform | SMS |
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.