ToolsTemplate Library · Cross-platform · Planning

UTM Naming Convention template.

One agreed pattern across eight channels — including ChatGPT ads and offline QR — so attribution never turns into archaeology.

Download the CSV Free · 5 columns · 8 pre-filled rows · updated July 2026

What's inside — the exact file

This is the complete template, not a sample. The rows are worked examples — replace them with your data (and delete them before any platform import).

channelutm_sourceutm_mediumutm_campaign_patternexample_url_suffix
Google Adsgooglecpc[goal]-[theme]-[geo]?utm_source=google&utm_medium=cpc&utm_campaign=leads-migration-us
Meta Adsfacebookpaid_social[goal]-[audience]?utm_source=facebook&utm_medium=paid_social&utm_campaign=leads-lal1
LinkedIn Adslinkedinpaid_social[goal]-[audience]?utm_source=linkedin&utm_medium=paid_social&utm_campaign=leads-titles
ChatGPT Adschatgptpaid_ai[goal]-[question-theme]?utm_source=chatgpt&utm_medium=paid_ai&utm_campaign=leads-recommendations
Emailnewsletteremail[yyyymm]-[topic]?utm_source=newsletter&utm_medium=email&utm_campaign=202607-pricing
Partner referralpartner-[name]referral[initiative]?utm_source=partner-acme&utm_medium=referral&utm_campaign=colaunch
Organic sociallinkedinorganic_social[yyyymm]-[post-theme]?utm_source=linkedin&utm_medium=organic_social&utm_campaign=202607-unbound
Print / QRqroffline[location]-[asset]?utm_source=qr&utm_medium=offline&utm_campaign=event-booth-banner

What this template is for

UTM chaos is self-inflicted attribution loss: 'Facebook', 'facebook', and 'fb' become three sources, renamed campaigns orphan their history, and a year later nobody can reconstruct what drove what. This worksheet is the one-page treaty that prevents it — an agreed source, medium, and campaign pattern for each of eight channels, including the two most teams haven't standardized yet: ChatGPT ads and offline QR codes.

Each row shows the exact utm_source, utm_medium, campaign pattern, and a filled example URL suffix. Adopt it as-is or edit the values — then make it enforceable by generating every link through a tool that has the rules baked in, like our free UTM Generator.

How to use it, step by step

  1. Adopt or edit the eight channel rows. The pre-filled values follow the conventions analytics tools expect (lowercase, cpc/paid_social/email mediums, dashes not spaces). Change values only with a reason — the goal is one answer per channel, forever.
  2. Lock the campaign pattern. Our pattern encodes date and initiative (2026-07-launch style) so campaigns sort chronologically and match your ad-platform naming convention. Whatever you choose, the pattern is the rule — not a suggestion.
  3. Kill the casing and spacing variants. Everything lowercase, dashes for spaces, no exceptions. 'Facebook' vs 'facebook' as two sources is the single most common self-inflicted attribution split.
  4. Distribute the sheet and centralize link creation. Every person who creates links gets this document — or better, gets pointed at a generator that enforces it mechanically. Conventions survive by being easier to follow than to break.
  5. Audit quarterly in your analytics. Pull a source/medium report and look for variants that shouldn't exist. Each one traces to a person or tool creating links outside the convention — fix the source, not just the data.

What each column means

channelThe traffic channel — eight pre-filled, including chatgpt-ads and offline QR.
utm_sourceThe exact source value for this channel. One spelling, lowercase, forever.
utm_mediumThe medium value, aligned to analytics-standard groupings (cpc, paid_social, email, qr).
utm_campaign_patternThe naming template for campaign values — dated and descriptive.
example_url_suffixA complete, correct query string for the channel — copy-paste reference.

Common mistakes to avoid

  • Letting each team invent their own values — the convention only works as a single shared document with an owner.
  • Uppercase or spaces in values ('Spring Sale') — casing variants split reports, and spaces become %20 noise.
  • Using utm_source for what belongs in utm_campaign (source=spring-promo) — source is where, campaign is what.
  • Tagging internal links between your own pages, which overwrites the visitor's real attribution mid-session — UTMs are for external entry points only.

Questions, answered

Why does utm_medium matter more than people think?

Analytics tools group traffic into channel reports by medium conventions — cpc, paid_social, email, organic. Invent a creative medium ('fb-boost') and your traffic falls out of standard channel groupings into 'unassigned', where nobody looks.

What should ChatGPT ads use?

We use utm_source=chatgpt with utm_medium=paid_ai — a deliberate new medium, so conversational-AI ad spend reports separately from search cpc and paid_social rather than hiding inside either. The pre-filled row models it; our ChatGPT ads guide covers the strategy.

How do offline QR codes fit a UTM convention?

A QR code is just a URL — tag it like any campaign (utm_medium=qr, source per placement: event-booth, print-mailer). It's the only attribution an offline placement will ever have, which is why it earned a pre-filled row.

This is a Market Disrupt worksheet, not a vendor file. Import-format templates follow each platform's documented layout as of July 2026 — platforms evolve, so validate against current documentation before a large import.

Want attribution that just works?

UTM capture, CRM wiring, and reporting that survives contact with reality — it's the plumbing behind every engagement we run.

Talk through your attribution