QR Architecture
8 min read
Updated: 2026-10-17

UTM Naming Conventions for GA4: Taxonomy, Standards & Channel Groupings

Master UTM naming conventions for Google Analytics 4. Structure clean taxonomies, align with GA4 Default Channel Groupings, and prevent unassigned campaign traffic.

Quick Answer / Executive Summary

A standardized UTM naming convention uses strict lowercase strings, separates words with hyphens or underscores, and selects utm_medium values that strictly align with Google Analytics 4 (GA4) Default Channel Grouping rules.

Inconsistent casing (such as Facebook vs. facebook), raw spaces, and unrecognized custom medium names split analytics reports across multiple rows and push marketing traffic into GA4's 'Unassigned' channel group. Establishing an organization-wide UTM taxonomy ensures clean attribution across paid ads, emails, social posts, and offline QR codes.

Recommended Modifyle Utility
Modifyle Free UTM Builder

Generate GA4-compliant campaign tracking URLs with automatic lowercasing, custom query tags, and 1-click QR code bridging.

Open Free UTM Builder

1. What UTM Parameters Are (and When to Use Them)

UTM (Urchin Tracking Module) parameters are standardized query tags appended to destination URLs. Originally introduced by Urchin Software Corporation and later adopted as the web analytics industry standard by Google, these key-value pairs allow analytics tools—including Google Analytics 4 (GA4), Mixpanel, and Plausible—to identify where incoming traffic originated and which specific marketing effort drove the visit.

When an external visitor clicks a tagged link or scans a print QR code, your web server serves the requested page, and the analytics client script reads the query string to populate campaign attribution dimensions.

  • When to Use UTM Parameters: Use UTM parameters exclusively on external marketing touchpoints you control. This includes paid search campaigns, paid social advertisements, organic social bio links, email newsletters, influencer partnerships, affiliate links, and offline print collateral (such as QR codes on flyers, posters, and product packaging).
  • When NOT to Use UTM Parameters: Never use UTM parameters on internal website navigation (such as homepage hero banners, blog sidebars, or footer links), in canonical URLs, or on standard web links across third-party websites you do not manage (which already pass standard HTTP Referrer headers).

2. The 6 Core GA4 Campaign Parameters Explained

Google Analytics 4 supports six primary campaign parameters in the query string. Understanding the distinct role of each parameter prevents teams from conflating sources with channels:

While GA4 also supports supplementary tags like utm_source_platform, utm_creative_format, and utm_marketing_tactic, the core six parameters in the table below form the operational backbone of digital marketing attribution.

ParameterGA4 Role & DimensionRequired StatusCompliant Example
utm_sourceIdentifies the specific platform, vendor, or referrer sending traffic (source)Required for campaign trackinggoogle, linkedin, newsletter, event-booth
utm_mediumIdentifies the high-level marketing channel or delivery mechanism (medium)Required for GA4 channel groupingcpc, email, paid_social, social, qr_code
utm_campaignIdentifies the overarching marketing initiative, product launch, or promo (campaign)Recommended2026-q2-spring-sale, saas-launch-v2
utm_idIdentifies the campaign identifier code for data imports (campaign_id)Optional (Used for ad platform joins)camp-84920, cid-9012
utm_contentDifferentiates creative variants, ad formats, CTA placements, or flyer types (content)Optional (Crucial for A/B testing)hero-cta-blue, a-b-split-v2, table-tent-a5
utm_termRecords the paid search keyword or targeted audience segment (term)Optional (Search ads & audience tags)pdf-converter-mac, enterprise-security

3. GA4 Default Channel Grouping Alignment Rules

Google Analytics 4 uses automated system regex rules to bucket incoming sessions into Default Channel Groups. These rules evaluate utm_medium and utm_source. If your tagged values fail to match Google's predefined system patterns, traffic is relegated to the Unassigned channel group.

Importantly, several channels require matching *both* a specific medium regex and a recognized platform list. For example, utm_medium=cpc will only be classified into Paid Search if the utm_source matches a recognized search engine (such as Google or Bing); if the source is an unrecognized network, GA4 buckets the traffic into Paid Other.

Target GA4 ChannelRequired utm_medium ExpressionSource DependencyFallback if Source UnmatchedCompliant Example URL
Paid Search^(.*cp.*|ppc|paid.*)$Source matches recognized search engine listCategorized as Paid Other?utm_source=google&utm_medium=cpc&utm_campaign=brand
Paid Social^(.*cp.*|ppc|paid.*)$Source matches recognized social network listCategorized as Paid Other?utm_source=linkedin&utm_medium=paid_social&utm_campaign=leadgen
Paid Other^(.*cp.*|ppc|paid.*)$Source does not match search, social, shopping, or videoN/A (Standard catch-all for paid mediums)?utm_source=newsletter_vendor&utm_medium=cpc&utm_campaign=promo
Organic Social^(social|social-network|social-media|sm|community)$Or source matches recognized social platform listCategorized as Referral or Unassigned?utm_source=reddit&utm_medium=social&utm_campaign=community
Email^(email|e-mail|e_mail|e mail)$Any sourceCategorized as Unassigned if medium mistyped?utm_source=newsletter&utm_medium=email&utm_campaign=weekly
Affiliates^(affiliate|affiliates)$Any sourceCategorized as Unassigned if medium mistyped?utm_source=partner_name&utm_medium=affiliate
Display^(display|cpm|banner)$Any sourceCategorized as Unassigned if medium mistyped?utm_source=adroll&utm_medium=display&utm_campaign=retargeting
Offline Print & QR Codesqr_code, print, flyer (Custom)Any sourceCategorized as Unassigned by default?utm_source=event_booth&utm_medium=qr_code&utm_campaign=tech-expo
Handling Offline QR Codes and Custom Mediums

Google's Default Channel Grouping rules do not natively recognize qr_code, print, or offline. In default GA4 setups, traffic tagged with utm_medium=qr_code is placed in Unassigned. To report offline traffic cleanly, navigate to Admin > Data display > Channel groups in GA4, and add a custom channel named 'QR Codes / Print' with the rule: Medium matches regex ^(qr_code|print|offline)$.

4. The 5 Rules of UTM Governance

Data discipline is essential for reliable reporting. Adhering to five foundational governance rules prevents campaign reporting chaos:

  • Rule 1: Always Enforce Lowercase: GA4 dimensions are strictly case-sensitive. If campaign links use utm_source=Facebook, utm_source=facebook, and utm_source=FB, GA4 generates three distinct reporting rows, scattering your conversion data. Standardize on lowercase for all tags. Modifyle's Free UTM Code Maker & URL Builder automatically enforces lowercase by default.
  • Rule 2: Standardize on a Single Word Separator: Raw spaces in query strings produce unsightly encoded characters (%20 or +). Standardize organization-wide on hyphens (spring-sale-2026) or underscores (spring_sale_2026), and never mix camelCase (springSale) with delimited strings.
  • Rule 3: Never Include Personally Identifiable Information (PII): Appending email addresses, full names, account numbers, or phone numbers in UTM parameters directly violates Google Analytics Terms of Service and data protection regulations (GDPR and CCPA). Google can suspend analytics properties or permanently purge historical tables that ingest PII.
  • Rule 4: Avoid Tagging Internal Site Navigation: Attaching UTM parameters to internal banners, product recommendation widgets, or footer links does not immediately restart an active session within GA4's standard 30-minute inactivity window, but it updates event-scoped campaign dimensions (source, medium, campaign) on subsequent interaction events. Under last-click attribution models and event-scoped conversion reports, this can cause conversions to be credited to your own internal banner rather than the external marketing channel that acquired the visitor. Furthermore, if a visitor is inactive for more than 30 minutes before clicking an internal UTM link, their next session will record the internal campaign as the session acquisition source. To measure clicks and impressions on internal banners without distorting acquisition data, implement GA4's dedicated ecommerce promotion events (view_promotion and select_promotion) with custom parameters like promotion_id and creative_name.
  • Rule 5: Keep Offline QR Code URLs Compact: Appending multiple verbose UTM tags lengthens your URL significantly. Long destination strings force QR code generators to create dense matrix grids with smaller module dots, which budget smartphone lenses struggle to scan in low light. When printing QR codes on physical collateral, use Modifyle's integrated short-link bridge (/s/[code]) to maintain a clean, fast-scanning code.

5. Real-World UTM Campaign Examples Across 5 Channels

Here is how standardized UTM naming applies to common real-world marketing channels:

1

Email Newsletter Product Announcement

https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=2026-q2-product-update&utm_content=hero-cta-button — Identifies the weekly newsletter as the source, email as the medium, and distinguishes the hero button from inline text links.

2

Google Search Ads (Paid Search)

https://example.com/tools/pdf/compress?utm_source=google&utm_medium=cpc&utm_campaign=search-compress-exact&utm_term=compress-pdf-100kb&utm_content=ad-copy-v1 — Aligns with GA4 Paid Search channel rules and captures the keyword and ad copy version.

3

LinkedIn Sponsored Content (Paid Social)

https://example.com/whitepaper?utm_source=linkedin&utm_medium=paid_social&utm_campaign=2026-security-report&utm_content=carousel-infographic — Uses the recognized paid_social medium and platform source to guarantee correct Paid Social channel classification.

4

Organic Social Bio Link (Instagram / Threads)

https://example.com/?utm_source=instagram&utm_medium=social&utm_campaign=bio-link&utm_content=profile-link — Uses the standard social medium to prevent organic social visits from collapsing into generic referral traffic.

5

Offline Event Flyer & Scannable Print QR Code

https://example.com/demo?utm_source=event-booth&utm_medium=qr_code&utm_campaign=tech-expo-2026&utm_content=flyer-back-a5 — Separates physical event collateral from digital visits, allowing offline scan analysis when paired with custom channel grouping.

6. Good vs. Bad Campaign Names (Comparative Table)

Small formatting oversights create long-term reporting headaches. Review the differences between fragmented UTM strings and well-governed campaign URLs:

Problematic UTM StringPrimary FlawCorrected UTM StringWhy It Works
?utm_source=Google Ads&utm_medium=CPC&utm_campaign=Spring Sale 2026Spaces URL-encode into %20; uppercase splits source and medium into duplicate rows.?utm_source=google&utm_medium=cpc&utm_campaign=2026-spring-saleStrict lowercase, no spaces, and hyphens prevent reporting fragmentation.
?utm_source=facebook&utm_medium=post&utm_campaign=summer&utm_content=john.doe@gmail.com'post' is not a recognized GA4 medium (falls into Unassigned); embeds PII (email address).?utm_source=meta&utm_medium=social&utm_campaign=2026-summer-promo&utm_content=carousel-v1Standard medium, clear campaign identifier, and zero PII protect privacy compliance.
?utm_source=homepage_banner&utm_medium=internal&utm_campaign=black_fridayInternal UTM tag updates event-scoped campaign dimensions mid-session, which can divert last-click conversion credit away from external acquisition channels.Configure GA4 recommended event: select_promotion with promotion_id: 'black-friday-banner'Preserves original acquisition channel attribution while capturing internal promotion clicks and impressions.
?utm_source=qr&utm_medium=flyer&utm_campaign=confVague source and medium; does not indicate physical event location and lands in Unassigned.?utm_source=ces-2026&utm_medium=qr_code&utm_campaign=hardware-launch&utm_content=badge-lanyardSpecific location context and standardized medium enable clean grouping and filtering.

7. The 6-Point Pre-Launch Governance Checklist

Before publishing any campaign link, creating marketing collateral, or printing QR codes, verify your parameters against this 6-point checklist:

  • 1. Lowercase Check: Are all parameter keys and values strictly lowercase?
  • 2. Delimiter Consistency: Did you replace all spaces with hyphens or underscores?
  • 3. GA4 Medium Alignment: Does utm_medium match a standard value (cpc, email, paid_social, social, affiliate) or have you configured a Custom Channel Group for custom mediums (qr_code)?
  • 4. Zero PII: Have you verified that no user email addresses, names, or identifiable tokens are present in any parameter value?
  • 5. No Internal Links: Is this link strictly for external distribution, with zero internal site navigation links tagged?
  • 6. Destination Validation: Does the landing page resolve with a 200 OK status without stripping query parameters during 301/302 redirects?

8. GA4 Reporting & Attribution Nuances (What UTMs Can and Cannot Do)

UTM parameters provide essential campaign metadata, but understanding how GA4 processes attribution prevents unrealistic expectations:

  • Scope Matters (User vs. Session vs. Event): In GA4 reports, different scopes answer different questions: First user source / medium identifies how a user was originally acquired (persisting across returning visits), Session source / medium records the campaign active when a specific session began, and event-scoped Source / medium records campaign values for individual interaction events. Misinterpreting these scopes leads to apparent reporting discrepancies.
  • Attribution Models Do Not Behave Identically: Conversion credit varies across reporting surfaces. While GA4's default Data-Driven Attribution model in Advertising reports distributes conversion credit algorithmically across eligible touchpoints, standard Exploration reports and last-click models assign conversion credit exclusively to the last non-direct touchpoint.
  • Browser Privacy & Storage Limits: Standard UTM parameters (utm_source, utm_medium, utm_campaign) are public query tags that browsers do not strip during normal navigation (unlike proprietary click IDs such as gclid or fbclid, which may be removed in private browsing modes). However, browser privacy protections (such as Apple Safari's ITP) can limit client-side cookie lifespans to 1 to 7 days when incoming URLs contain query strings, which can truncate longer multi-touch attribution lookback windows.
  • Ad Blockers and Cookie Consent: Visitors running network-level content blockers or visitors who decline analytics tracking on your cookie consent banner will not register campaign sessions, causing their actions to be omitted or modeled via GA4's consent mode.
  • Cross-Device Journey Gaps: If a user clicks a campaign ad on their mobile phone and later completes a purchase on a desktop browser, the desktop session will appear as Direct traffic unless you have implemented unified user tracking via GA4 User-ID.
Build Compliant Links in Seconds

Use the Modifyle Free UTM Builder to format clean, lowercase campaign parameters with instant preview and a 1-click bridge to our QR Code Studio.

Frequently Asked Questions

Why does my campaign traffic show up as 'Unassigned' in GA4?
Traffic is categorized as 'Unassigned' when incoming UTM parameters do not match any of Google's predefined Default Channel Grouping regex rules. Common causes include typos in utm_medium (such as 'cpc ' with a space or 'emial'), custom medium names (such as 'qr_code' or 'flyer'), or paid campaigns where the source is not recognized by Google. You can resolve this by adhering to standard medium naming or creating a Custom Channel Group in GA4 Admin.
Is GA4 case-sensitive when processing UTM parameters?
Yes. Google Analytics 4 is strictly case-sensitive. If different links use utm_source=Facebook, utm_source=facebook, and utm_source=FACEBOOK, GA4 records them as three separate traffic sources, fragmenting your campaign reporting across multiple rows. Enforcing strict lowercase naming—or using a UTM builder that automatically lowercases inputs—prevents this issue.
What is the difference between User-scoped, Session-scoped, and Event-scoped UTM dimensions?
User-scoped dimensions ('First user source / medium') reflect how a visitor first discovered your site and remain fixed for that user across future visits. Session-scoped dimensions ('Session source / medium') record the campaign that started the specific session. Event-scoped dimensions ('Source / medium') record the campaign parameters active during specific interactions, such as purchase or lead submission events.
Why should UTM parameters never be used on internal links?
In GA4, clicking an internal link with UTM parameters does not terminate an active session if user activity continues within the standard 30-minute inactivity window. However, it immediately updates event-scoped campaign parameters for subsequent events. Under last-click attribution models and standard event-scoped reports, this can cause conversions to be credited to your internal banner instead of the external marketing channel (such as search or paid social) that brought the visitor to your site. Additionally, if a visitor becomes idle for more than 30 minutes and returns by clicking an internal UTM link, their new session will record the internal tag as its session acquisition source. To measure internal banners and promo cards safely, use GA4's dedicated promotion events (view_promotion and select_promotion) via Google Tag Manager.
How does utm_medium=qr_code get categorized in Google Analytics 4?
By default, Google Analytics 4 does not include 'qr_code' in its Default Channel Grouping rules, so traffic tagged with utm_medium=qr_code is categorized as 'Unassigned'. To report offline print scans under a clean channel without altering your tagging strategy, navigate to Admin > Data display > Channel groups in GA4, and create a custom channel rule (such as 'QR Codes & Print') matching Medium regex ^(qr_code|print|offline)$.
Do UTM parameters alone guarantee accurate campaign attribution?
No. UTM parameters only supply descriptive query tags; they do not guarantee that analytics platforms will record complete attribution. Accurate tracking depends on the analytics tag firing successfully and user consent being granted. Ad-blocking extensions, network firewalls, cookie consent rejections, cross-device browsing journeys, and client-side cookie storage limits (such as Safari ITP capping cookie lifespans) can cause conversions or returning sessions to appear as Direct or Referral traffic.

Related Technical Guides

View all guides

Related Modifyle Workshop Utilities