UTM Naming Convention Template Copy-ready, team-shareable
A complete UTM naming convention for marketing teams — defines case format, word separators, approved source and medium values, campaign naming rules, content and term usage guidelines, and a governance process for keeping the convention consistent over time. Copy the template sections, adapt the specifics to your organisation, and share the result in a location where every person who creates links can access it.
This is a reference document, not a generated output. The value of a UTM naming convention comes from the team committing to follow it — which requires that the rules are specific enough to eliminate ambiguity and documented clearly enough that a new team member can read them and create correct links without asking anyone. A convention that lives in someone's head, or that is understood informally by the current team but never written down, does not survive team changes, rapid campaign scaling, the addition of external partners or agencies who have no context for how your organisation names its campaigns, or the simple reality that people under deadline pressure revert to whatever format feels natural to them in the moment.
What This Template Covers
- Why a naming convention matters and what breaks without one
- The five UTM parameters — when each is required, when optional
- Case format and word separator rules
- Approved utm_source values — how to define and maintain them
- Approved utm_medium values — channel taxonomy and common mistakes
- utm_campaign naming structure — date formats, descriptors, prefixes
- utm_content usage — A/B testing, creative variants, placement identifiers
- utm_term usage — paid search only, when to omit
- The full copyable template with all sections
- Worked examples — correct and incorrect
- Governance — ownership, review process, enforcement
Why a UTM naming convention matters
UTM parameters are case-sensitive in every major analytics platform. Google Analytics 4, Adobe Analytics, Mixpanel, Amplitude and every other platform that ingests UTM data treats "Email," "email," and "EMAIL" as three distinct values. They are not merged, not normalised and not combinable in a standard report without custom data transformations. If your team creates links without a shared convention, your acquisition data fragments in proportion to the number of people creating links and the number of channels they work across.
The practical result is this: a marketing team running a summer campaign across email, social, and paid produces fifty links. Without a convention, the GA4 Sessions by Source / Medium report for that campaign shows entries like:
| What appeared in GA4 | What it should have been | Who created it |
|---|---|---|
newsletter / email | newsletter / email | Anna |
Newsletter / Email | Ben | |
email-newsletter / e-mail | Carlos | |
our newsletter / email campaign | Diana | |
facebook / social | facebook / social | Anna |
Facebook / Social Media | Ben | |
fb / social-media | Carlos |
The total campaign performance — the number every channel lead, CMO and budget owner wants to see — does not exist in the raw data. It has to be reconstructed by someone who knows which entries belong to the same campaign, which is manual work that grows in proportion to the mess accumulated over time.
A written naming convention, followed consistently, means that "Sessions from the summer campaign" is a single filter in GA4, not a data archaeology project.
The five UTM parameters
UTM parameters were originally defined as part of the Urchin tracking module — hence "UTM" — which Google acquired in 2005 and which became the foundation of Google Analytics. The five parameters are now a de facto standard across analytics platforms, including GA4, Adobe Analytics, HubSpot, Klaviyo, Marketo and every other platform that tracks traffic attribution.
| Parameter | Required? | Identifies | Example |
|---|---|---|---|
utm_source |
Required | The specific origin — the publisher, platform, partner or list that sent the traffic | newsletter, google, facebook, partner-site |
utm_medium |
Required | The channel type — the category of mechanism that delivered the traffic | email, cpc, social, referral, affiliate |
utm_campaign |
Required | The specific campaign, initiative or promotion the link belongs to | summer-sale-2026, product-launch-q3, black-friday-2026 |
utm_content |
Optional | Differentiates links within the same campaign — ad variants, CTAs, placements | header-cta, hero-image, sidebar-button, variant-a |
utm_term |
Optional — paid search only | The keyword or search term for paid search campaigns | url+shortener, branded+short+links |
The three required parameters — source, medium and campaign — must be present on every tracked link. A link with only utm_campaign set, without source and medium, produces unusable data: GA4 records the campaign but cannot place it in the acquisition hierarchy. utm_content and utm_term are used selectively — content when you need to differentiate within a campaign, term for paid search keywords.
Rule 1 — Case format and word separator
The single most impactful rule in any UTM naming convention is the case format. The near-universal standard is all-lowercase. The reasoning is straightforward: lowercase is the least ambiguous, requires no judgment calls about which words to capitalise, and produces the most readable values in analytics reports. Title Case requires deciding whether every word is capitalised. Snake_case and kebab-case are both lowercase by convention. All-caps has no practical advantage.
Recommended: all lowercase with hyphens
| Format | Example | Advantage | Disadvantage |
|---|---|---|---|
| lowercase + hyphens (recommended) | summer-sale-2026 | No capitalisation decisions, URL-safe, readable | None significant |
| lowercase + underscores | summer_sale_2026 | Avoids hyphen ambiguity in some contexts | Underscores disappear in some URL rendering (underlined hyperlinks) |
| lowercase + no separator | summersale2026 | Shortest values | Hard to read, words merge |
| Title Case + hyphens | Summer-Sale-2026 | Readable in reports | Requires capitalisation judgment, breaks case-sensitivity |
The choice between hyphens and underscores is a secondary decision — both are acceptable. The critical requirement is consistency: pick one and enforce it across all parameters, all campaigns and all team members. A convention that uses hyphens for utm_source but underscores for utm_campaign is not a convention.
Template rule — copy this:
All UTM parameter values must be written in all lowercase. Words within a value are separated by a hyphen (-). Underscores, spaces, capitalisation and mixed separators are not permitted. Values containing spaces will be encoded as %20 or + in the URL; these are treated as violations and the link should be recreated with hyphens before distribution.
Rule 2 — utm_source: the approved list
utm_source is the most commonly inconsistent parameter because it is also the most specific: it names the exact origin of traffic, which means the number of possible values is large and new ones are added regularly as new channels, partners and lists are created. The solution is not to predefine every possible value — it is to require that any new value is added to the approved list before being used in a live link.
What utm_source should and should not contain
utm_source should identify the specific publisher, platform or list — not the channel type. The channel type belongs in utm_medium. A common error is putting channel descriptors in utm_source ("email" as a source) and platform names in utm_medium ("gmail" as a medium). The correct approach:
- Correct:
utm_source=newsletter+utm_medium=email— source is the specific list, medium is the channel type - Correct:
utm_source=google+utm_medium=cpc— source is the platform, medium is the channel type - Correct:
utm_source=facebook+utm_medium=social— source is the platform, medium is the channel type - Incorrect:
utm_source=email— "email" is a channel type (medium), not a specific origin (source) - Incorrect:
utm_source=social-media— "social-media" is a channel type, not a specific platform - Incorrect:
utm_source=paid— "paid" is a channel category, not a specific source
Template approved utm_source list — adapt this:
The following values are approved for utm_source. No other values may be used without first adding them to this list. The list is maintained by [NAME/ROLE] and reviewed [MONTHLY/QUARTERLY].
| Value | Used for | Corresponding utm_medium |
|---|---|---|
newsletter | Main email newsletter / subscriber list | email |
transactional | Transactional emails (receipts, confirmations) | email |
google | Google Ads (search, display, shopping, YouTube) | cpc, display, video |
facebook | Facebook and Instagram ads (Meta Ads Manager) | cpc, social |
instagram | Organic Instagram posts (not Meta Ads) | social |
linkedin | LinkedIn organic and ads | social, cpc |
twitter | Twitter / X organic and ads | social, cpc |
tiktok | TikTok organic and ads | social, cpc |
youtube | YouTube organic (video descriptions) | video |
whatsapp | WhatsApp messages and groups | messaging |
sms | SMS campaigns | sms |
partner-[name] | Specific affiliate or partner (use partner's domain slug) | affiliate, referral |
pr-[publication] | Press coverage with trackable links | referral |
qr-[context] | QR Code on specific printed material (e.g. qr-flyer, qr-poster) | print |
direct | Manually typed or untracked direct — use sparingly | none |
Note: This list is illustrative. Replace the values with those relevant to your actual channel mix. Add new rows when new channels are activated. Remove unused rows annually.
Rule 3 — utm_medium: the channel taxonomy
utm_medium defines the channel type and feeds directly into GA4's Default Channel Groupings — the standard acquisition report that groups traffic into Email, Organic Search, Paid Search, Organic Social, Paid Social, Referral and so on. GA4 uses specific medium values to classify traffic into these groupings. If your convention uses non-standard medium values, traffic will be classified as "Unassigned" or will fall into the wrong group.
GA4 channel grouping rules (abbreviated)
GA4's default channel groupings classify sessions based on source and medium combinations. The most important medium values for correct classification are:
| utm_medium value | GA4 channel group | Notes |
|---|---|---|
email | Must be exactly "email" — "e-mail", "newsletter", "email-campaign" all miss | |
cpc | Paid Search (with google/bing source) or Paid Social (with social source) | Standard paid click value |
ppc | Paid Search | Alternative to cpc; both work |
social | Organic Social | Use for organic social posts |
paid-social | Paid Social | Use for paid social ads when differentiating from organic |
referral | Referral | Traffic from other websites |
affiliate | Affiliates | Affiliate partner links |
display | Display | Display/banner advertising |
video | Video | YouTube and video ad placements |
sms | SMS | Text message campaigns |
push | Other | Push notification campaigns |
print | Other | QR Codes on print materials — no standard GA4 group |
none | Direct | Used with utm_source=direct for manual direct tracking |
The most common error in utm_medium usage is using descriptive phrases instead of the standard values: "email-campaign" instead of "email," "social-media" instead of "social," "banner-ad" instead of "display." These non-standard values cause traffic to be misclassified in GA4's default channel groupings, which means the default acquisition reports show these sessions under "Unassigned" rather than their correct channel.
Template approved utm_medium list — adapt this:
| Value | Use for | GA4 Channel |
|---|---|---|
email | All email campaigns — newsletters, transactional, promotional | |
cpc | Paid search and paid social clicks | Paid Search / Paid Social |
social | Organic social media posts | Organic Social |
paid-social | Paid social ads (when differentiation from organic needed) | Paid Social |
referral | Links on third-party websites (press, partners) | Referral |
affiliate | Affiliate partner links | Affiliates |
display | Display and banner advertising | Display |
video | Video placements, YouTube | Video |
sms | SMS and text message campaigns | SMS |
messaging | WhatsApp, Messenger — informal messaging channels | Other |
print | QR Codes on printed materials | Other |
push | Web or app push notifications | Other |
podcast | Podcast show notes and episode links | Other |
none | Used only with utm_source=direct | Direct |
Rule 4 — utm_campaign: naming structure
utm_campaign is the parameter with the most organisational variation — different teams have different campaign structures, different naming hierarchies and different needs. The rules below cover the most common patterns. Choose one and document it.
Campaign name components
A utm_campaign value typically combines two or three components: a descriptor (what the campaign is about), and optionally a time period and/or a business unit prefix. The components are separated by the team's defined separator (hyphen or underscore) and are always lowercase.
| Pattern | Format | Example | When to use |
|---|---|---|---|
| Descriptor only | [descriptor] | product-launch | Evergreen or long-running campaigns |
| Descriptor + year | [descriptor]-[yyyy] | summer-sale-2026 | Annual recurring campaigns |
| Descriptor + quarter | [descriptor]-[q]-[yyyy] | brand-awareness-q3-2026 | Quarterly campaigns |
| Descriptor + month | [descriptor]-[mmm]-[yyyy] | newsletter-acquisition-jun-2026 | Monthly campaigns |
| BU prefix + descriptor + year | [bu]-[descriptor]-[yyyy] | emea-partner-programme-2026 | Multi-BU organisations |
Campaign name dos and don'ts
- Do: make the campaign name self-explanatory in a GA4 report without additional context
- Do: include a year or quarter if the campaign repeats annually — "black-friday" without a year makes historical comparison harder
- Do: use the same campaign name across all channels for the same campaign — the campaign groups all links regardless of source or medium
- Don't: put the channel name in utm_campaign — that information is in utm_medium and utm_source
- Don't: use internal project codes that are meaningless outside the team — "q3-initiative-7" is not useful in a GA4 report
- Don't: create a new campaign name for every individual email send — that fragments email performance data across dozens of campaign entries
- Don't: use the same campaign name for unrelated campaigns — "newsletter-2026" should not be used for both the regular newsletter and a one-off product announcement
Template rule for utm_campaign — copy this:
utm_campaign values follow the format: [descriptor]-[period] where descriptor is lowercase-hyphenated text describing the campaign and period is the relevant year (2026), quarter (q3-2026) or month abbreviation (jun-2026) as appropriate. A campaign name must be the same across all channels — the same summer sale campaign uses summer-sale-2026 whether the link is in an email, a paid ad, or a social post. All utm_campaign values must be added to the campaign register [LINK TO REGISTER] before a campaign launches.
Rule 5 — utm_content and utm_term
utm_content
utm_content differentiates between multiple links within the same campaign, same source and same medium. Its primary use cases are:
- A/B testing: two versions of an email with different CTAs —
utm_content=cta-buy-nowvsutm_content=cta-learn-more - Placement differentiation: multiple links in the same email pointing to the same URL —
utm_content=header-link,utm_content=body-link,utm_content=footer-link - Ad creative variants: distinguishing between different ad images or copy in a display campaign —
utm_content=image-product,utm_content=image-lifestyle
utm_content is optional and should only be used when you actually need to differentiate. Adding utm_content to every link by default fragments data unnecessarily. A newsletter with five links to five different pages does not need utm_content — the destination URL already differentiates the links. utm_content is useful when multiple links point to the same URL and you need to know which one drove the click.
utm_term
utm_term was designed for paid search campaigns to capture the keyword that triggered the ad. It should only be used for paid search. Using utm_term on non-paid-search links creates noise in keyword reports and misleads anyone using the data to understand search performance.
For paid search, utm_term should contain the keyword in lowercase, with words separated by a plus sign (+) following the original Urchin convention — utm_term=branded+short+links. Most teams now populate utm_term dynamically using Google Ads ValueTrack parameters ({keyword}) rather than setting it manually on individual links.
Template rules — copy these:
utm_content: Used only when two or more links within the same campaign/source/medium combination point to the same destination URL and need to be differentiated. Values must be lowercase-hyphenated descriptors of the content element or variant (header-cta, variant-a, sidebar-banner). Do not use utm_content on every link by default.
utm_term: Used only on paid search links to capture keyword data. Not to be used on email, social, print or other non-search links. For Google Ads, populate dynamically using the {keyword} ValueTrack parameter where possible rather than setting manually.
The complete copyable convention template
Copy the section below into a shared document (Google Docs, Notion, Confluence, or wherever your team documents processes). Replace the placeholder values in brackets with your organisation's actual values. Save it with a version number and the date it was last reviewed.
TEMPLATE — copy from here
UTM NAMING CONVENTION
Version: [VERSION NUMBER] | Last reviewed: [DATE] | Owner: [NAME / ROLE]
1. General formatting rules
All UTM parameter values must be all-lowercase. Words within a value are separated by a hyphen (-). No spaces, underscores, capital letters or mixed separators. A URL with spaces in a UTM value (encoded as %20 or +) must be recreated before distribution.
2. Required parameters
utm_source, utm_medium and utm_campaign are required on every tracked link. A link without all three must not be distributed.
3. Approved utm_source values
[LIST YOUR APPROVED VALUES HERE — see table in Rule 2 above for starting point]
New values must be approved by [NAME/ROLE] before use. Updated by: [DATE].
4. Approved utm_medium values
[LIST YOUR APPROVED VALUES HERE — see table in Rule 3 above for starting point]
New values must be approved by [NAME/ROLE] before use. Updated by: [DATE].
5. utm_campaign naming structure
Format: [descriptor]-[period] where period is the relevant year (2026), quarter (q3-2026) or month (jun-2026). The same campaign name is used across all channels. All campaign names are registered in [LINK TO CAMPAIGN REGISTER] before launch.
6. utm_content
Optional. Used only when multiple links within the same campaign/source/medium combination point to the same URL and need differentiating. Lowercase-hyphenated descriptors only.
7. utm_term
Used only on paid search links. Not used on email, social, print or other channel types.
8. Non-compliance
Links that do not follow this convention should not be distributed. If a non-compliant link has already been distributed, log it in [LINK TO ISSUE LOG] so the data distortion can be accounted for in reporting.
Worked examples — correct and incorrect
| Scenario | Correct ✓ | Incorrect ✗ | Error type |
|---|---|---|---|
| Summer sale email to newsletter list | utm_source=newsletter |
utm_source=Email Newsletter |
Uppercase, spaces, non-standard medium |
| Google Ads search campaign | utm_source=google |
utm_source=Google Ads |
Uppercase, non-standard medium, ambiguous campaign name |
| Organic Instagram post | utm_source=instagram |
utm_source=Instagram |
Uppercase, non-standard medium, space in campaign name |
| QR Code on printed flyer | utm_source=qr-flyer |
utm_source=QRCode |
Uppercase, non-standard medium, camelCase campaign name |
| Email A/B test — two CTAs | utm_source=newsletterutm_content=cta-learn-more |
utm_content=Version Autm_content=version_b |
Uppercase in one, mixed separator in other — inconsistent |
Governance — ownership and enforcement
A UTM naming convention without a designated owner drifts. New team members use formats they are familiar with from previous jobs. Old team members forget the rules under deadline pressure. Agencies and contractors who create links do not know the convention exists. Without someone whose job includes maintaining and enforcing the convention, the data quality problem it was meant to solve reappears within one campaign cycle.
Assigning a convention owner
The convention owner is the person responsible for:
- Maintaining the approved source and medium lists
- Reviewing new campaign names before a campaign launches
- Auditing live links periodically for compliance
- Updating the convention document when new channels, platforms or campaign types are added
- Being the point of contact when a team member is unsure whether a value is correct
The convention owner is typically a data analyst, marketing operations manager or performance marketing lead — someone who works with acquisition data regularly and has a direct interest in its quality. The role requires a few hours per month in a team that follows the convention, or significantly more in a team that does not yet have consistent practices.
Review cadence
The convention document should carry a version number and a "last reviewed" date. A quarterly review is sufficient for most teams — checking that the approved value lists reflect the current channel mix, that the campaign naming structure is still appropriate, and that any exceptions or edge cases that arose in the previous quarter have been documented.
The campaign register — the list of active and past utm_campaign values — should be updated before every campaign launch, not in arrears. A link built without a registered campaign name is a link that may duplicate or conflict with an existing campaign in the analytics data.
Onboarding new team members and agencies
Every person who creates tracked links — including agencies, contractors, and freelancers — must receive the convention document before they build any links. The onboarding checklist for anyone with link-creation access should include "read and acknowledge UTM naming convention" as a required step. A one-page summary version of the convention (the most important rules without the full rationale) is useful for distributing to external partners who need the rules but not the full context.
Handling non-compliant links
When a non-compliant link is discovered before distribution, it should be corrected and recreated. When it is discovered after distribution — either because it was already shared or because clicks have already accrued — the data distortion cannot be undone, but it should be documented so that whoever analyses the campaign data knows that the "summer sale" campaign will also appear as "Summer Sale," "summer_sale_campaign" and "Q2 sale" in the acquisition report for that period.
A simple issue log — a shared spreadsheet with columns for the non-compliant URL, the correct version, the date discovered, the distribution channel, and an estimate of click volume — is sufficient. The purpose is not to assign blame but to create a reference for anyone who later sees anomalous data and needs to understand where it came from.
Applying the convention in practice — common edge cases
Every naming convention encounters edge cases that the document did not anticipate. Documenting how these are handled — rather than leaving it to individual judgment — prevents inconsistency from creeping back in. The following are the most common edge cases in UTM management and the recommended handling for each.
Edge case: The same campaign runs across multiple years
A recurring campaign — an annual Black Friday sale, a recurring product launch, a monthly newsletter — needs a naming strategy that allows historical data to be compared year-over-year while keeping each year's campaign distinct. The recommended approach is to include the year in the utm_campaign value and create a new campaign name for each year: black-friday-2025, black-friday-2026.
Do not reuse the same utm_campaign value across years without a date suffix. If black-friday is used in 2025 and 2026, the GA4 report for "black-friday" combines both years' data — making year-over-year comparison impossible without custom date range filtering. With year-suffixed campaign names, year-over-year comparison is a simple filter change.
Edge case: Multiple teams sharing the same link management platform
In organisations where multiple teams (marketing, product, partnerships, customer success) create tracked links in the same platform, the risk of conflicting utm_campaign values is high. Team A's "product-launch-2026" and Team B's "product-launch-2026" are the same campaign name in GA4's data — their traffic will be merged in acquisition reports.
The solution is a team or business-unit prefix in the utm_campaign value: mkt-product-launch-2026 (marketing team), prod-product-launch-2026 (product team). The prefix does not need to be long — two to four characters is sufficient — but it must be applied consistently and documented in the campaign register with the prefix convention clearly defined.
Edge case: A link is shared across multiple channels simultaneously
Some campaigns use a single short link shared across multiple channels — a link posted on social, included in an email and printed on a flyer at the same time. Without separate links per channel, the analytics show total clicks but not channel attribution.
The rule is simple: one link per channel. If the same destination URL is used across three channels in the same campaign, create three short links — one with utm_source=newsletter&utm_medium=email, one with utm_source=facebook&utm_medium=social, one with utm_source=qr-flyer&utm_medium=print. All three have the same utm_campaign value. In the analytics, you can view total campaign performance (all three combined) or per-channel performance (filter by source or medium).
Edge case: A third-party tool appends its own UTM parameters
Email service providers (Mailchimp, Klaviyo, HubSpot, etc.) often have auto-tagging features that append UTM parameters automatically. If you also set UTM parameters manually on your links, the result can be a URL with two sets of UTM parameters — the platform's auto-generated values overwriting your manually set values or appearing as a second set in the query string.
The recommended approach is to disable auto-tagging in the email service provider and manage all UTM parameters manually through the link management platform. This gives full control over parameter values and ensures they follow the naming convention. If auto-tagging cannot be disabled (due to platform limitations or team preference), document which platform controls which parameters and ensure the convention covers the auto-generated values as well.
Edge case: Links in PDF documents
PDFs shared by email or hosted on a website can contain hyperlinks. These links should be tracked the same as any other distribution channel. The utm_source and utm_medium choice depends on how the PDF is being shared: a PDF sent via email campaign uses the newsletter source and email medium; a PDF downloaded from the website and opened separately typically uses a content or direct medium. The key point is that PDF links should not be left untagged — a PDF that is downloaded and shared beyond its original recipient represents a distribution channel with no visibility without tracked links.
Edge case: Partner or co-branded campaigns
When running a co-branded campaign with a partner organisation where both organisations are sharing links, the source naming needs to clearly indicate which organisation's links produced which traffic. A partner-specific source prefix is the simplest solution: utm_source=partner-acme (traffic sent by Acme as a partner), utm_source=partner-betacorp (traffic sent by BetaCorp). This keeps partner-generated traffic identifiable in aggregate reports and in per-partner breakdowns.
Auditing existing UTM data
If a team is adopting a UTM naming convention for the first time — or if a convention has been in place but not consistently followed — the historical data in GA4 will contain a mix of compliant and non-compliant values. An audit of the existing data reveals the scale of the inconsistency and informs the prioritisation of cleanup work.
How to audit UTM data in GA4
- In GA4, go to Reports → Acquisition → Traffic Acquisition
- Set the date range to cover the period you want to audit (typically the last 12 months)
- Set the primary dimension to Session source / medium
- Export the full table (all rows) to a spreadsheet
- In the spreadsheet, sort by source/medium and look for: variations of the same channel (email, Email, e-mail, email-campaign), non-standard medium values that belong in the Unassigned group, utm_campaign values that appear as free-text descriptions rather than structured names
- Repeat for utm_campaign by changing the primary dimension to Session campaign
The audit will typically reveal several categories of non-compliant data: capitalisation variations (the most common), word separator inconsistencies (hyphens vs underscores vs spaces), medium values that use descriptive phrases rather than standard GA4 channel values, and campaign names that were created ad-hoc without a register. Document these as known data quality issues in the campaign register, and flag the date from which the new convention is enforced so that anyone analysing historical data understands the data quality boundary.
What to do with historical non-compliant data
Historical non-compliant data in GA4 cannot be corrected retroactively — UTM values are stored as they were received at the time of the session. The data can be worked around using custom channel groupings in GA4 (which allows you to define rules that merge non-standard values into the correct channel), but this requires ongoing maintenance as new non-standard values are introduced.
The practical approach for most teams is to document the historical non-compliance, note the date from which the convention is enforced, and use the convention enforcement date as the baseline for any analysis that requires clean, comparable data. Pre-baseline data is flagged as having known data quality issues; post-baseline data is treated as reliable.
Integrating the convention with a URL shortener
A UTM naming convention and a URL shortener serve different but complementary purposes. The convention defines what the UTM parameters should say. The URL shortener takes the UTM-tagged URL and converts it into a short link that is practical to share — removing the long query string from the URL that users actually see while preserving the full UTM data for analytics.
The short link is what appears in the email, on the flyer, in the social post, in the press release. The full UTM-tagged destination URL is the redirect target — it passes the UTM parameters to GA4 when the link is clicked. From a user perspective, they click a short link. From an analytics perspective, they arrived via a fully UTM-tagged URL.
Where UTM parameters should be set
UTM parameters must be set on the destination URL — the URL the short link redirects to. They should not be part of the short link itself. A short link like cutt.ly/aBcDeF or yourbrnd.link/summer-sale should redirect to https://yoursite.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=summer-sale-2026.
The reason is practical: if the UTM parameters are set on the destination URL (via the short link's redirect), they can be updated after the short link is created without changing the short link itself. If the UTM parameters were encoded into the short link URL directly, a change in campaign attribution requires creating a new short link — which means distributing a new link to every channel where the original was shared.
Branded short links and the convention
Branded short links — short links that use a custom domain (yourbrnd.link/summer-sale rather than a generic third-party shortener domain) — provide an additional layer of convention enforcement through the link alias itself. The alias (the slug after the domain) can follow its own naming convention that mirrors the utm_campaign value: yourbrnd.link/summer-sale-2026 for the utm_campaign=summer-sale-2026 links. This creates a consistent naming pattern that anyone can recognise across both the short link alias and the UTM campaign value.
Link analytics vs UTM analytics
A link management platform provides two types of analytics that are related but distinct: link click analytics (clicks recorded at the short link level, before the redirect) and UTM analytics (sessions recorded in GA4 after the redirect, carrying UTM attribution data). Both are useful and they serve different purposes.
- Link click analytics — total clicks, device type, approximate geography, time of click. Available immediately, no GA4 setup required. Not affected by GA4 blockers or cookie consent. Useful for quick performance monitoring during a campaign.
- UTM analytics in GA4 — sessions, conversions, revenue attributed to each source/medium/campaign combination. Requires GA4 setup and respects user privacy settings. Useful for attribution analysis, conversion rate reporting and budget decisions.
The total clicks from the link platform and the sessions in GA4 will not match exactly — typically a 10–30% discrepancy due to bot traffic, GA4 blocking, and page load failures. This discrepancy is normal and expected; it does not indicate a tracking problem. The UTM data in GA4 is the primary source for attribution analysis; the link platform data is the primary source for click volume monitoring.
Convention maintenance — keeping it current
A naming convention that accurately reflected your channel mix eighteen months ago may not reflect it today. New platforms, new campaign types, new partnerships and team changes all require updates to the approved value lists and potentially to the convention structure itself. Convention maintenance is not a one-time effort — it is an ongoing responsibility.
What triggers a convention update
- New channel: Adding TikTok, a podcast, a partner programme, or any other channel not currently in the approved source/medium list requires a convention update before the first link is created for that channel.
- Team change: A new team member who brings habits from a previous organisation may introduce inconsistencies if the convention document is not shared proactively. Every new team member with link-creation access must receive the convention document before they create any links.
- GA4 update: If Google updates the default channel grouping rules (which happens periodically), the approved medium values may need to be reviewed to ensure they still map correctly to the expected GA4 channels.
- Data quality review finding: If a quarterly data audit reveals that a particular value is being used inconsistently — some team members using one form and others using another — the convention must be clarified and the team reminded of the correct form.
Communicating convention changes
When the convention is updated, every person with link-creation access must be notified of the change. A change to the approved source list is not effective until every link creator knows about it. The notification should include: what changed, why it changed, the effective date (from which the new convention applies to all new links), and whether any existing links need to be updated.
Historical links that used a value that has been changed or removed do not need to be retroactively updated — the analytics data from those links is already recorded with the old values. The change applies to new links created after the effective date. Document the change date in the convention version history so that anyone analysing data that spans the change date can account for the transition.
Adapting this convention for your organisation
This template is a starting point. The specifics — which source values are approved, what campaign naming structure you use, whether you need business unit prefixes — depend on your organisation's channel mix, team structure and reporting needs. A marketing team of two people running three channels needs a much simpler convention than a multinational running fifty simultaneous campaigns across fifteen markets in six languages.
The non-negotiable elements in any convention are: lowercase only, one separator, three required parameters (source, medium, campaign) on every link, and a named owner. Everything else can be adapted to fit the organisation. The goal is not the most sophisticated convention — it is the most consistently followed one.
For a tool that actively generates UTM links according to your convention, see the Cuttly UTM Builder. For a tool that validates whether an existing UTM-tagged URL follows naming best practices, see the Campaign Naming Validator. Both tools run entirely in the browser without requiring an account. To create, shorten and track UTM-tagged links with click analytics, register for a free Cuttly account.
Frequently Asked Questions
What is a UTM naming convention?
A UTM naming convention is a set of documented rules defining how UTM parameter values must be formatted and which values are permitted. It specifies case format (lowercase), word separator (hyphen or underscore), the list of approved utm_source and utm_medium values, and the structure for utm_campaign names. Without a shared convention, the same channel appears under multiple names in analytics, fragmenting data that should be aggregated.
Should UTM values be lowercase?
Yes. Google Analytics 4 treats UTM values as case-sensitive — "Email," "email," and "EMAIL" are recorded as three separate sources. The near-universal standard is all-lowercase for all UTM values. Some teams use mixed-case identifiers in utm_content when matching internal creative brief references, but even then most teams convert to lowercase for consistency.
What is the difference between utm_source and utm_medium?
utm_source identifies the specific origin — the publisher, platform or list that sent the traffic ("newsletter," "google," "facebook"). utm_medium identifies the channel type — the category of mechanism that delivered the traffic ("email," "cpc," "social"). Source answers "who sent this traffic?" Medium answers "through what type of channel?" A common error is putting channel types in utm_source or platform names in utm_medium — they should not be swapped.
How often should a UTM naming convention be reviewed?
The approved source and medium lists should be updated whenever a new channel is added. A full review — checking for unused values, inconsistencies between the documented convention and actual usage, and additions for new campaign types — is reasonable quarterly. The convention should be treated as a living document with version history, not a one-time setup document.
What should utm_campaign contain?
utm_campaign should identify the specific campaign or initiative the link belongs to — not a channel, not a business unit alone, and not a date alone. A typical campaign name combines a descriptor with a date: "summer-sale-2026," "product-launch-q3-2026," "black-friday-2026." The value must be the same across all channels for the same campaign so that total campaign performance can be aggregated in one GA4 filter.
- This Template
- UTM Naming Convention →
- Other Templates
- All Templates
- QR Code Checklist
- Link Management SOP
- Free Tools
- UTM Builder →
- UTM Naming Convention Generator →
- Campaign Naming Validator →
- Related Guides
- UTM Strategy Complete Guide
- How to Use UTM Parameters
- What Is UTM Tracking?
- Encyclopedia
- UTM Parameters
- Source vs Medium vs Campaign
- Campaign Tagging
- Cuttly Tools
- URL Shortener Tool →
- Campaigns & Analytics →
- Get Started
- Create Free Account
- Plans & Pricing
URL Shortener
Cuttly simplifies link management by offering a user-friendly URL shortener that includes branded short links. Boost your brand’s growth with short, memorable, and engaging links, while seamlessly managing and tracking your links using Cuttly's versatile platform. Generate branded short links, create customizable QR codes, build link-in-bio pages, and run interactive surveys—all in one place.
Cuttly - Consistently Rated
Among Top URL Shorteners
Cuttly isn’t just another URL shortener. Our platform is trusted and recognized by top industry players like G2 and SaaSworthy. We're proud to be consistently rated as a High Performer in URL Shortening and Link Management, ensuring that our users get reliable, innovative, and high-performing tools.