Bargaon
Analytics 13 min read • Updated November 2026

UTM Tracking: Naming Conventions and Governance

UTM parameters are short tags added to a link (utm_source, utm_medium, utm_campaign and others) that tell GA4 where a visit came from. Good UTM tracking needs three things: one lowercase naming convention, a shared governance sheet that every link is built from, and a QA step before anything goes live.

This guide covers every parameter GA4 supports, how GA4 turns source and medium into channels, when to rely on Google Ads auto-tagging, how to tag Meta, LinkedIn, QR and WhatsApp links, how to carry UTMs into your CRM, and a 30-day plan to clean up reporting.

Key takeaways

  • GA4 supports nine UTM parameters; source, medium and campaign drive your channel reports, so never leave them out.
  • UTM values are case sensitive in GA4: Google and google are different sources. Use lowercase, always.
  • Your utm_medium value decides the GA4 default channel. Invented mediums such as qr or whatsapp land in Unassigned unless you map them.
  • Keep Google Ads auto-tagging on; use UTMs for every other paid, email, social, partner and offline link, and never on internal links.
  • A governance sheet, one owner and a QA check before launch matter more than any tool.

What does recent data say about why UTM discipline matters?

UTM tagging matters most where the budget goes. Gartner’s 2025 survey of digital marketing spend (June 2025, 402 marketing leaders in North America, the UK and Europe) found digital channels take 61.1% of total marketing spend. Within digital, paid search took 13.9%, display 12.5%, social advertising 12.2% and email 7.4%, all channels that send people to your site through links that need consistent tags.

Gartner’s 2025 CMO Spend Survey (May 2025) found budgets flat at 7.7% of company revenue, with 59% of CMOs saying their budget was insufficient for their strategy. With flat budgets, proving which campaign produced which lead matters more.

Share of digital marketing spend by channel, 2025

Paid search13.9%
Digital display12.5%
Social advertising12.2%
Email7.4%
Source: Gartner, published 2 June 2025 (n=402). Shares of digital marketing spend; bars scaled for readability.

Google’s guidance on Unassigned traffic says Unassigned rows appear when a traffic source does not fit any channel definition, and a user-defined source or medium with no matching rule is one cause. Most messy channel reports are self-inflicted. The chart below illustrates the change governance aims for, with invented numbers.

Illustrative: Unassigned sessions before and after UTM governance

Before governance (hypothetical)18% of sessions
After 30-day clean-up (hypothetical)4% of sessions
Hypothetical, illustrative values only; not research data or client results.

What are UTM parameters and which ones does GA4 support?

A UTM-tagged link is a normal URL with a query string added, for example https://example.com/demo/?utm_source=linkedin&utm_medium=paid_social&utm_campaign=2026q4_demo_in. GA4 reads the parameters on landing; Google notes that custom-campaign values map directly to report dimensions and each session is associated with only one campaign or traffic source.

Parameter What it records (per Google) Bargaon convention
utm_source Referrer, e.g. google, newsletter4, billboard Platform or publisher, lowercase
utm_medium Marketing medium, e.g. cpc, banner, email Approved list only (next table)
utm_campaign Product, slogan, promo code, e.g. spring_sale e.g. 2026q4_demo_in
utm_id Campaign ID for a specific campaign or promotion Sheet ID, e.g. c0142
utm_term Paid keyword Keyword or audience
utm_content Differentiates creatives or links in the same message Creative variant, e.g. video_a
utm_source_platform Platform directing traffic, e.g. Search Ads 360, Display & Video 360 Only if you use such platforms
utm_creative_format Type of creative, e.g. display, native, video, search Optional; not currently reported in GA4
utm_marketing_tactic Targeting criteria, e.g. remarketing, prospecting Optional; not currently reported in GA4

Google’s URL builder help also says parameter values are case sensitive, missing parameters show as (not set), and UTMs are kept in Page location rather than the page path dimensions. For cost data from non-Google platforms, GA4’s campaign data import requires utm_source and utm_medium, and imported campaign ID, source, medium and name must match your URLs, a good reason to add utm_id from day one.

How does GA4 use source and medium to assign channels?

GA4’s default channel group is a set of rules, mostly keyed on utm_medium. Google’s default channel group definitions are not case sensitive. For paid search, social and video, GA4 also checks that the source is on its list of search, social or video sites. For property setup, see our GA4 setup guide.

utm_medium value GA4 default channel Rule summary (Google)
cpc, ppc, paid_social, retargeting Paid Search, Paid Social or Paid Video Medium matches ^(.*cp.*|ppc|retargeting|paid.*)$ and the source is a search, social or video site
social, social-media, sm Organic Social Medium is one of the listed social values, or the source is a known social site
email, e-mail Email Source or medium is email, e-mail, e_mail or e mail
display, banner, cpm Display Medium is display, banner, expandable, interstitial or cpm
affiliate Affiliates Medium is affiliate
referral, link Referral Medium is referral, app or link
sms SMS Source or medium exactly matches sms
audio Audio Medium exactly matches audio
qr, print, whatsapp Unassigned No default rule matches

Note the last row: an unrecognised medium is not an error, it simply goes to Unassigned. If you need channels such as QR or WhatsApp, create a custom channel group. Likewise, paid on a source GA4 does not recognise (a niche B2B directory, say) will not become Paid Search or Paid Social.

Should you use auto-tagging or manual UTMs for Google Ads?

For Google Ads, keep auto-tagging on. Google Ads Help on auto-tagging explains that it adds a GCLID (Google Click Identifier) to the landing URL, notes that some browsers require auto-tagging to track conversions, and says that in GA4 auto-tagging is prioritised over manual tagging. Google Analytics Help adds that manual utm_content and utm_term still populate the manual ad content and term dimensions.

So do not use manual source and medium as a replacement for GCLID. Confirm the GCLID survives redirects to the final page, and click a live ad to check your site does not reject unknown parameters, which Google warns some sites do. Every other platform needs manual UTMs. Our Google Tag Manager guide covers how to keep the tags that read these values firing in the right order.

How do you tag Meta and LinkedIn ads with dynamic parameters?

Both platforms let you add URL parameters and fill some values dynamically at click time, such as campaign or ad names and IDs. Copy the current syntax from Meta’s help article on URL parameters and LinkedIn’s help article on URL tracking parameters in Campaign Manager.

  • Keep source and medium static: hard-code utm_source (facebook, linkedin) and utm_medium=paid_social; use dynamic values for campaign, content and ID.
  • Name platform campaigns in your convention: a dynamic name like “Q4 Demo – India” arrives in GA4 with capitals and spaces. Name campaigns in lowercase or insert IDs and map names in your sheet.
  • Split placements in utm_content, not utm_source, if Meta serves one ad across Facebook and Instagram.

See also our guides on Meta Ads for lead generation and sales and LinkedIn Ads for B2B.

How do you build a UTM naming convention that lasts?

A naming convention is a one-page rulebook that makes every value predictable. Bargaon’s suggested starting rules:

1. Lowercase everything

What: every UTM value is lowercase, no exceptions. Why: GA4 treats LinkedIn, linkedin and Linkedin as three sources, which splits reports. How: build links in a sheet that applies LOWER() to every field.

2. Choose one separator and ban spaces

What: use underscores inside values and hyphens only where a platform name contains one. Why: spaces become %20 or + inconsistently. How: a SUBSTITUTE() step turns spaces into underscores.

3. Fix a campaign taxonomy

What: a fixed order of elements, e.g. yyyyqn_offer_market_audience giving 2026q4_demo_in_cfo. Why: ordered names sort well and can be split into columns in Looker Studio dashboards. How: a dropdown per element; free text only in utm_content.

4. Lock the medium list

What: a short approved list, e.g. cpc, paid_social, social, email, display, affiliate, referral, sms, plus any custom ones mapped in a custom channel group. Why: medium decides the channel. How: utm_medium is a dropdown; nobody types it.

5. Never put personal data in UTMs

What: no email addresses, phone numbers or names in any parameter. Why: URLs are logged and shared; Zoho Forms’ UTM documentation warns its stored tracking data is not encrypted. How: use IDs if you need to join records.

What should a UTM governance sheet contain?

A governance sheet is a shared spreadsheet (Google Sheets or Excel is enough) where every tagged link is created and logged. Suggested columns:

Column Purpose Example
Campaign ID Unique key, also used as utm_id c0142
Owner Who is accountable for the link Demand gen lead
Launch / end date Retire stale links 2026-11-04 / 2026-12-15
Destination URL Clean URL without parameters https://example.com/demo/
utm_source / utm_medium Dropdowns from the approved lists linkedin / paid_social
utm_campaign / utm_content / utm_term Built from taxonomy dropdowns 2026q4_demo_in_cfo / video_a
Final URL (formula) Concatenated, lowercased, encoded link Auto-generated
Short link / QR ID Where it is shortened or printed QR batch 3
Expected GA4 channel Channel the medium should map to Paid Social
QA status and date Clicked and verified in GA4 real-time Passed, 2026-11-04

Give the sheet one owner. Agencies and sales can request links but should not invent their own. It feeds the measurement plan in our marketing analytics and attribution guide.

Decision frameworkBargaon UTM decision path

Which tagging approach does this link need?

01Is it an internal link?

No UTMs. Track clicks as events instead.

02Is it Google Ads?

Keep auto-tagging (GCLID); optionally add utm_content or utm_term.

03Does the platform support dynamic values?

Static source and medium; dynamic campaign, content and ID.

04Is it offline or app-to-web?

Tag fully, redirect via a short link, map custom mediums.

05Log and QA

Build in the sheet, click-test, confirm in GA4 real-time.

Bargaon editorial model for choosing a tagging method, not research data.

UTMs on homepage banners or links between your own pages damage your own data. Google explains that a campaign value arriving mid-session does not start a new session but is tied to the events that follow, so a sign-up from a paid LinkedIn visitor who clicked a tagged banner can be credited to a fake “homepage” campaign.

Track internal promotions as GA4 events through Tag Manager (or ecommerce promotion events in a store), and use cross-domain measurement, not UTMs, between your own domains.

How do you tag QR codes, WhatsApp and other offline campaigns?

Offline and messaging traffic often arrives with no referrer, so untagged it shows as Direct.

  • QR codes on print, packaging and events: point the code at a short link that redirects to the tagged URL (utm_source=expo_mumbai, utm_medium=qr mapped in a custom channel group). You can change the destination without reprinting.
  • WhatsApp broadcasts and status: utm_source=whatsapp with medium social (Organic Social) or a custom Messaging channel; utm_content separates lists or templates. See our email and WhatsApp guide for opt-in rules.
  • SMS and audio: utm_medium=sms and utm_medium=audio map to the SMS and Audio channels; use a vanity path for spoken URLs.

Shorteners and redirects: any shortener works if it keeps the full query string. Test each short link and confirm source and medium in GA4 real-time. Zoho Forms warns its tracking will not work as intended if a form is embedded using a shortened URL.

How do you get UTMs into HubSpot or Zoho CRM?

GA4 shows which campaigns produce key events; your CRM shows which produce revenue. Capture UTMs on form submission to link them.

  • HubSpot: HubSpot’s knowledge base confirms hidden form fields can capture query string values, including UTM values, into contact properties. Create text properties for first- and latest-touch source, medium and campaign; a required field cannot be hidden. HubSpot’s own original source properties use its own classification, so keep both. See our HubSpot CRM guide.
  • Zoho: Zoho Forms’ UTM tracking captures UTM parameters and custom ones such as gclid via a footer tracking code; for Zoho CRM web forms, map hidden fields to custom lead fields (see our Zoho CRM guide).
  • Persist the first touch: a small GTM script can store the first UTM set in first-party storage and write it to hidden fields on any later form. Check it against your consent setup.

Our form optimisation guide covers adding hidden fields without slowing forms.

How should you report on UTM-tagged campaigns?

In GA4, use Traffic acquisition (session source / medium, session campaign) and User acquisition (first-user dimensions), adding manual ad content as a secondary dimension for creative detail. In Looker Studio, split campaigns by taxonomy and add an Unassigned / (not set) check tile. Pick metrics from our marketing KPIs guide; qualified pipeline by campaign beats sessions.

What are the most common UTM mistakes?

  1. Mixed case: Facebook, facebook and FB as three sources; clean history with a Looker Studio CASE formula.
  2. Invented mediums: newsletter or whatsapp_blast landing in Unassigned.
  3. UTMs on internal links overwriting real attribution.
  4. Partial tagging: Google recommends setting all relevant parameters.
  5. Redirects that drop the query string.
  6. No CRM capture, so sales cannot see where a lead came from.

What does a UTM clean-up look like in practice?

Hypothetical example, not a client case. A Bengaluru B2B SaaS firm runs LinkedIn ads, a newsletter, Meta retargeting and an expo stand. GA4 shows sources Linkedin and LI, mediums Paid and newsletter, and a large Unassigned row.

The team builds a governance sheet, fixes mediums to paid_social, email and qr, maps qr to an “Events and print” custom channel, replaces banner UTMs with a promo_click event and adds hidden UTM fields in HubSpot. New data then shows one source per platform, the newsletter under Email, and expo leads in the CRM with their source. History is not rewritten, so the change date is annotated in the dashboard.

What is a practical 30-day plan for UTM governance?

Week Focus Actions
Week 1 Audit Export 90 days of source / medium and campaign; list variants; find internal UTMs; confirm auto-tagging.
Week 2 Convention and sheet Agree rules, medium list and taxonomy; build the sheet; name an owner.
Week 3 Fix live links Retag ads, emails, bios, QR and partner links; strip internal UTMs; add custom channel groups.
Week 4 Capture and report Add hidden UTM fields and test CRM capture; build the Unassigned check; brief agencies; set a monthly review.

After day 30, every link comes from the sheet and QA happens before launch. For help connecting tracking to pipeline, Bargaon’s demand generation service covers campaign planning and measurement together.

Frequently asked questions

Are UTM parameters case sensitive in GA4?

Yes. Google states that utm_source=google is different from utm_source=Google. Channel rules ignore case, but source and campaign reports still split, so use lowercase.

Do UTM parameters affect SEO?

Keep them off internal links so crawlers do not find parameter versions of your pages. On external campaign links they are normal, and a canonical tag points search engines to the clean URL.

Should I add UTMs to Google Ads if auto-tagging is on?

Not for source and medium; Google says GA4 prioritises auto-tagging. You can add utm_content or utm_term for extra detail.

Why is my traffic showing as Unassigned in GA4?

Usually because the medium or source matches no default channel rule, such as whatsapp or qr. Use an approved medium or a custom channel group.

What is utm_id used for?

Google describes it as a campaign ID for a specific campaign or promotion. It gives a stable key when names change and helps campaign data imports match your URLs.

Do I need a paid UTM tool?

No. A shared spreadsheet with dropdowns, a URL formula and a QA column is enough for most SMB teams. The convention and the owner matter more than the tool.

Sources and further reading

Want campaign tracking that connects to pipeline? Bargaon’s demand generation service helps SMB, B2B and D2C teams plan campaigns, set up consistent tracking and report on what actually produces qualified leads.

Explore further

Related guides

All guides →
Free review

Want help putting this into practice?

Share your website and what you are working on. We'll review it and reply by email.

See Systems & Automation