GA4 ATTRIBUTION & TAXONOMY REFERENCE

GA4 Default Channel Grouping: Rules & Validator

A technical reference and interactive test matrix for Google Analytics 4 source/medium rules. Prevent (Unassigned) traffic leakage, test campaign parameters, and audit channel mapping before deploying links.

Live GA4 Channel Grouping Tester

Type any candidate utm_source and utm_medium into the sandbox below. The rule engine will immediately evaluate them against GA4's official waterfall regular expressions, display the expected Default Channel Group, and identify syntax or casing issues that cause traffic to leak into (Unassigned).

Try:
Try:
Expected GA4 Channel Group
Paid Search
✅ Valid GA4 Match Build Link with These Tags →
Matches standard search engine origin (google) and paid medium regex (cpc). Safely classifies under Paid Search in GA4 Traffic Acquisition.

Interactive GA4 Source / Medium Classification Matrix

This master lookup table details how Google Analytics 4 evaluates real-world source and medium combinations. Click on any row to load it into the tester above, or filter by category or status to review common pitfalls that cause unassigned leakage.

Source (utm_source) Medium (utm_medium) Expected Channel Valid? Recommended Value & Rule Notes

How GA4 Evaluates Channel Groupings: Sequential Waterfall Logic

Google Analytics 4 Default Channel Grouping is rule-based, sequential, and first-match-wins. When an event or session starts, GA4 evaluates the incoming traffic parameters against the channel definitions from the top down. As soon as a condition matches, evaluation stops and the channel is assigned.

If incoming traffic reaches the bottom of the evaluation list without matching any condition, GA4 designates the traffic as (Unassigned).

Order Channel Group Official GA4 Rule Definition Evaluation Logic
1 Direct Source matches (direct) AND Medium matches (not set) or (none) Evaluated first to catch pure direct traffic without campaign or referrer context.
2 Cross-network Campaign name matches cross-network types (e.g. Performance Max, Smart Shopping) Identifies multi-format Google Ads campaigns bridging Search, Display, Maps, and YouTube.
3 Paid Shopping Source matches shopping sites OR medium matches ^(.*cp.*|ppc|paid.*|shopping)$ with shopping campaigns Takes precedence over general Paid Search when shopping attributes are detected.
4 Paid Search Source matches search engine list AND Medium matches ^(.*cp.*|ppc|paid.*)$ Catches keyword ads across Google Ads, Microsoft Advertising, Baidu, and DuckDuckGo.
5 Paid Social Source matches social sites list AND Medium matches ^(.*cp.*|ppc|paid.*|paid_social)$ Crucial rule: source MUST match Google's list of recognized social platforms.
6 Paid Video Source matches video platform list AND Medium matches ^(.*cp.*|ppc|paid.*)$ Captures YouTube, Vimeo, and Twitch in-stream paid video promotions.
7 Display Medium matches ^(display|banner|expandable|interstitial|cpm)$ Does not require a specific source platform, relying entirely on the medium string.
8 Paid Other Medium matches ^(.*cp.*|ppc|paid.*)$ (where source is NOT search, social, or video) Catches paid directory placements, sponsored newsletters, or non-social paid links.
9 Organic Social Source matches social sites list OR Medium matches ^(social|social-network|social-media|sm|social_post)$ Includes unpaid social posts, profile bio links, and creator shares.
10 Organic Video Source matches video sites list AND Medium matches ^(.*video.*)$ Unpaid links placed in video descriptions, end screens, and profile cards.
11 Organic Search Source matches search engine list AND Medium matches organic (or unpaid search referrer) Natural search engine results. Standard organic traffic arrives without UTM parameters.
12 Email Source matches email platform list OR Medium matches ^(.*email.*|e-mail|e_mail|newsletter)$ Matches outbound newsletters, automated onboarding workflows, and transactional emails.
13 Affiliates Medium matches ^(.*affiliate.*|aff)$ Partner affiliate programs, review site links, and publisher monetization partnerships.
14 Referral Medium matches ^(.*referral.*|app|link)$ (or standard external HTTP referrer) Standard inbound hyperlinks from other web domains.
15 Audio Medium matches ^(audio|podcast|broadcast)$ Podcast vanity links and audio ad placements (Spotify, Apple Podcasts, Pandora).
16 SMS Medium matches ^(sms|mms|text|whatsapp|telegram)$ Direct text message broadcasts and mobile SMS automated flows.
17 Mobile Push Notifications Medium ends with push or matches ^(.*push.*|mobile_notification)$ In-app notifications and mobile OS push alerts directing users to web deep links.
Fallthrough (Unassigned) Does NOT match any rule above Any session or event where parameters fail to satisfy Google's regex tree.

💡 Session vs. First User Default Channel Group

Google Analytics 4 provides two distinct channel grouping dimensions:

  • First user default channel group: Documents the acquisition channel responsible for the user's very first visit to your digital property. This dimension never changes for that user.
  • Session default channel group: Documents the specific marketing channel that initiated the individual session. This updates on every new session touchpoint.

Why Does My Traffic Show Up as (Unassigned) in GA4?

(Unassigned) is not a valid marketing channel; it is an alert indicating that your tracking data broke Google's classification engine. The four most frequent root causes include:

1. Uppercase or Mixed Casing

utm_medium=CPC or utm_source=Google

GA4 processes channel regexes with case-sensitivity in multiple underlying database layers. Email and CPC frequently fail to map to standard definitions. Always enforce strictly lowercase values.

2. Inverted Source and Medium

utm_source=email&utm_medium=mailchimp

Source is the platform (mailchimp, klaviyo), while medium is the vehicle (email). When reversed, GA4 looks for a medium named "mailchimp", finds none, and drops the session into (Unassigned).

3. Inventing Unsupported Mediums

utm_medium=promoted or utm_medium=social_ad

GA4 expects paid_social or cpc. Custom terms like infeed_ad or story_ad fail standard regexes. Put custom details in utm_campaign or utm_content.

4. Redirects Stripping Query Strings

HTTP 301 from http:// to https:// or non-www

Misconfigured web servers drop query strings during canonical redirects. Always tag the final destination URL directly, or configure QSA (Query String Append) on your Apache/Nginx server.

How to Find and Fix (Unassigned) Rows in GA4

To inspect exactly which parameters caused (Unassigned) rows in your GA4 property:

  1. Open Explore > Free-form exploration.
  2. Add Dimensions: Session default channel group, Session source / medium, and Session campaign.
  3. Add Metrics: Sessions, Total users, and Key events.
  4. Apply a Filter: Session default channel group exactly matches (Unassigned).
  5. Review the resulting table: every row displays the exact, broken source and medium combination causing the issue.

Source & Medium Governance SOP

To guarantee 100% clean GA4 Default Channel Grouping across your organization, mandate these rules in your campaign workflow:

Marketing Channel Standard utm_source Examples Mandatory utm_medium Target GA4 Channel Group
Google Search Ads google cpc Paid Search
Bing Search Ads bing cpc Paid Search
Meta (Facebook/Instagram) Ads facebook, instagram, meta paid_social (or cpc) Paid Social
LinkedIn Sponsored Ads linkedin paid_social Paid Social
TikTok Ads tiktok paid_social Paid Social
Organic Social Links (Bio/Posts) linkedin, facebook, twitter social Organic Social
Email Marketing & Newsletters mailchimp, klaviyo, newsletter email Email
Affiliate Partner Links partner_name, shareasale, cj affiliate Affiliates
Display Banners & GDN gdn, criteo, adroll display (or cpm) Display
YouTube Video Description youtube video Organic Video
YouTube Paid In-Stream Ads youtube cpc Paid Video
SMS Marketing Blasts twilio, att, sms_blast sms SMS
Podcast Audio Sponsorship podcast_name, spotify audio Audio

Frequently Asked Questions

What is GA4 Default Channel Grouping?

GA4 Default Channel Grouping is Google Analytics 4's built-in rule engine that categorizes website traffic into standard marketing groups (such as Paid Search, Paid Social, Organic Social, Email, and Referral) using regular expression matches against source and medium parameters.

Why does my campaign show up as (Unassigned) in GA4?

Traffic is placed in (Unassigned) when the combination of source and medium does not meet any of Google's predefined channel regex criteria. Common causes include uppercase characters, inverted source and medium parameters, or unsupported custom mediums.

Can you edit Default Channel Grouping rules in GA4?

No. Google Analytics 4 locks the system-defined Default Channel Grouping to ensure historical data integrity. However, property Administrators can create Custom Channel Groups or Primary Channel Groups to modify rules, reorder precedence, or add proprietary channels.

Does GA4 require utm_source and utm_medium to classify traffic?

Yes. Without utm_source and utm_medium, GA4 has no marketing context to evaluate and will classify the traffic as Direct or (Unassigned). While utm_campaign is not strictly required for channel grouping, it is essential for campaign-level attribution.

How many UTM parameters does GA4 support?

GA4 supports 9 manual campaign parameters: six commonly used/core parameters (utm_source, utm_medium, utm_campaign, utm_id, utm_term, utm_content) plus three additional GA4 parameters (utm_source_platform, utm_creative_format, utm_marketing_tactic). Note that Google documents that utm_creative_format and utm_marketing_tactic are not currently reported in standard GA4 properties.