GA4's Default Channel Grouping is the system that sorts every session into a reporting bucket — Organic Search, Paid Social, Email, Direct, and 14 others. These buckets are what you see in the Acquisition reports, what feeds channel-level ROI analysis, and what your stakeholders use when they ask whether social is working or whether email is driving conversions. The grouping is so central to acquisition reporting that most teams never question it. They should.
The problem is that the grouping is rule-based, and the rules are strict. GA4 evaluates each session against a prioritized list of conditions and assigns the first channel whose rule matches. If no rule matches — because your utm_medium is newsletter instead of email, because a source value is mixed-case, or because a new traffic source isn't on GA4's recognized lists — the session lands in "Unassigned." Unassigned isn't a source. It's a symptom: traffic whose origin is real but invisible because a parameter didn't match. Understanding how the rules work is the prerequisite for trusting your acquisition reports.
How GA4's Channel Grouping Works
GA4 evaluates each session against a prioritized list of rules. The first rule that matches wins — subsequent rules are not checked. The rules reference four session-level dimensions: session_source (the referring domain or utm_source value), session_medium (the utm_medium value or GA4's inferred medium), session_campaign_id (from utm_id), and session_campaign_name (from utm_campaign). For untagged traffic, GA4 infers source and medium from the HTTP referrer.
One critical detail that surprises most analysts: the evaluation happens at query time, not at collection time. When you open the Traffic Acquisition report, GA4 applies the current channel grouping rules to your historical session data on the fly. This means if you fix your channel grouping rules today — by creating a custom channel group — the corrected classification applies retroactively to all sessions within your data retention window. You cannot fix historical parameter values (those are baked in at collection time), but you can fix the rules that evaluate them.
The 18 Default Channel Groups
GA4's default channel grouping contains 18 channels. They're evaluated in the order listed — Direct is actually evaluated last, not first, despite being the most commonly discussed. Here are the channels that matter most for day-to-day acquisition analysis.
Organic Search
Sessions referred from a recognized search engine with no utm_medium present. GA4 maintains an internal list of search engine domains — Google, Bing, DuckDuckGo, Yahoo, Baidu, Yandex, and others. When the HTTP referrer matches one of these domains and there's no UTM tagging overriding the attribution, the session lands here. This is your SEO traffic.
The rule requires the referrer to be on GA4's list. If you're driving traffic from a search engine that's not on GA4's default list — some regional search engines, or niche vertical search tools — those sessions will fall through to Referral rather than Organic Search. You can add them to a custom channel group.
Paid Search
Sessions where utm_medium matches one of: cpc, ppc, paidsearch, or paid search (with a space), AND source matches a recognized search engine. Both conditions must be true. The accepted medium strings are case-insensitive but must match exactly — paid alone does not match this rule. adwords does not match. paid_search (with underscore) does not match.
Google Ads auto-tagging bypasses UTM evaluation for channel assignment entirely. When a gclid parameter is present, GA4 decodes it directly and assigns the session to Paid Search without reading utm_medium. For Google Ads campaigns, you can rely on auto-tagging. For Bing Ads, Apple Search Ads, and other paid search platforms, you need explicit UTM tagging with a matching medium.
Organic Social
Sessions referred from a recognized social network domain (Facebook, Instagram, Twitter/X, LinkedIn, Pinterest, Reddit, TikTok, YouTube, Snapchat, WhatsApp, and others) where the medium is social, social-network, social-media, sm, social network, or social media — or where no UTM medium is present but the referrer matches the social domain list.
Dark social traffic — links shared in messaging apps, Slack, Discord, or private Facebook groups — typically strips the referrer entirely and lands in Direct, not Organic Social. This is a known limitation of referrer-based attribution.
Paid Social
Sessions where source matches the social network list AND utm_medium contains paid or exactly matches paid_social, social_paid, social-paid, or paidsocial. This rule requires both a matching source and a matching medium. Using utm_medium=social — without the "paid" qualifier — routes the session to Organic Social instead of Paid Social, regardless of whether you're paying for the traffic.
This is a common misconfiguration on Meta campaigns. Teams manually tag Facebook and Instagram traffic with utm_medium=social and wonder why paid social performance looks flat in GA4 — the paid traffic is mixed in with organic social and there's no way to separate it in standard reports.
Sessions where utm_medium exactly matches email, e-mail, e_mail, or emailmarketing (case-insensitive). There's no source restriction for this channel — it doesn't matter whether the source is Mailchimp, HubSpot, or your own email platform. The medium alone is sufficient for classification.
The most common cause of email traffic landing in Unassigned: using utm_medium=newsletter. The word "newsletter" is not in GA4's Email channel rule. Sessions tagged with it fall through to Unassigned unless you've created a custom channel group that catches it. Use utm_medium=email and put the newsletter designation in utm_campaign instead.
Display
Sessions where utm_medium exactly matches display, banner, expandable, interstitial, or cpm. Display advertising that uses Google's auto-tagging (Display & Video 360, Google Display Network) will use the decoded ad data rather than UTM medium — similar to Paid Search.
Affiliates
Sessions where utm_medium exactly matches affiliate or affiliates. This channel exists specifically for affiliate marketing traffic — traffic driven by partners who earn a commission on the conversions they generate. No source restriction.
Referral
Sessions referred from a website that's not a recognized search engine, not a social network, and not tagged with a UTM medium matching another channel rule. This is your earned media, PR coverage, and link-based traffic. Sessions with utm_medium=referral also land here.
Direct
No referrer and no UTM parameters. This includes direct navigation (typing the URL into the browser), bookmarks, links from desktop applications like Outlook or Slack that strip the referrer, and HTTPS-to-HTTP transitions (the browser drops the referrer when navigating from a secure to an insecure page). Direct is evaluated last — it's the fallback when nothing else matches.
In many organizations, Direct is over-inflated because of missing UTM tags on email campaigns, links in internal tools (Notion, Confluence, Jira), and PDF documents. Every untagged link from a non-browser context that strips the referrer adds to Direct. Measuring the true size of the problem requires auditing which known traffic sources are not tagged.
Unassigned
The session didn't match any channel rule. This is not a traffic source — it's a classification failure. Unassigned traffic has a real origin that GA4 cannot determine from the available session parameters. Every session in Unassigned represents a gap in your UTM governance or a traffic source GA4 doesn't recognize.
The remaining channels — Audio, Video, SMS, Mobile Push Notifications, Cross-network, Shopping, and others — follow the same rule-based pattern, primarily keyed on utm_medium matching specific strings or source matching platform-specific lists. They're less commonly misconfigured because the traffic volume is smaller, but the same principles apply.
Why "Unassigned" Inflates
Unassigned is a symptom, not a source. There are three root causes.
1. Missing UTMs. Email campaigns sent without UTM parameters. Links in Slack, Teams, Notion, or internal wikis that bring users to your site. PDFs with embedded links. Social posts where the UTMs were stripped by the sharing platform or the poster forgot to add them. Every one of these sessions has no UTM data for GA4 to evaluate — and if the referrer is also stripped, they land in Direct. If the referrer is present but doesn't match a known search engine or social network, they land in Referral. If the referrer is present and partially matches a pattern but the medium doesn't match any rule, they land in Unassigned.
2. Non-standard medium values. This is the leading cause of large Unassigned spikes on tagged campaigns. Using utm_medium=newsletter instead of email. Using utm_medium=social for paid social campaigns instead of paid_social. Using utm_medium=paid for paid search instead of cpc. Using utm_medium=sms-blast instead of sms. Each of these is a medium value that a human understands perfectly — and that GA4's channel grouping rules don't recognize. The session has tags, the tags have values, and the values don't match any rule.
3. New traffic sources. A new ad platform you started using this quarter. A podcast sponsorship with a custom tracking link. A partnership whose medium convention doesn't match yours. An agency managing a subset of your campaigns with different tagging standards. GA4's default channel group was last formally updated to include channels like Audio, Video, and Mobile Push Notifications — if your medium value predates those updates or uses a different convention, it won't match.
How to diagnose Unassigned: In GA4 Explorations, create a free-form report with Session source / medium as the row dimension. Add a filter: "Session default channel group exactly matches Unassigned." Sort by Sessions descending. The top rows will show you exactly which source/medium combinations are landing in Unassigned — and from that you can determine whether the fix is updating your UTM tags or creating a custom channel group rule to catch the non-standard values.
Custom Channel Groups
GA4's built-in default channel group cannot be edited. If your team uses utm_medium=newsletter and changing every email campaign's UTM tags is a significant migration effort, the practical fix is to create a custom channel group that maps newsletter to an Email-equivalent channel.
Custom channel groups live under GA4 Admin → Data Display → Channel groups. You can create a new group with some rules copied from the default (Organic Search, Paid Search) plus custom rules for your specific taxonomy. For example: a rule that says "medium contains 'newsletter' → Email," or "medium exactly matches 'influencer' → Influencer Marketing." Custom channel groups are property-specific and can be switched between in the Acquisition reports using the channel group selector dropdown.
One important behavior: when you create a custom channel group and add a session falls through all your custom rules, GA4 falls back to the default channel group for that session — it doesn't automatically land in Unassigned. This means custom channel groups can reduce Unassigned traffic without requiring you to replicate every default rule. You only need to add rules for the cases the default doesn't handle correctly for your property.
A second approach — more durable than a custom channel group — is to standardize UTM taxonomy across your entire marketing stack. A shared UTM taxonomy document that every team and agency follows means the default channel group works correctly without customization. The investment is a one-time migration; the payoff is that every new campaign lands in the right channel automatically.
GA4 Audit
NiceLookingData's GA4 audit includes a channel grouping check that flags when a material share of your traffic is landing in Unassigned or Direct — with a breakdown of the source/medium pairs causing it. Connect your GA4 property and get results in under a minute.
Run the Free Audit →How to Audit Your Channel Grouping
Check 1 — Unassigned share. Open GA4 Reports → Acquisition → Traffic Acquisition. Look at the Default Channel Group column. If Unassigned accounts for more than 5% of sessions, it's worth investigating. Above 10% means a significant portion of your acquisition story is missing.
Check 2 — Source/medium breakdown for Unassigned. In GA4 Explorations, create a free-form report with Session source / medium as the row dimension. Filter: Session default channel group = Unassigned. Sort by Sessions descending. The top rows identify the exact source/medium pairs that aren't matching any rule. Cross-reference these against your known campaign taxonomy — if you see mailchimp / newsletter, you know the fix is changing medium from newsletter to email.
Check 3 — UTM taxonomy audit. Pull the full list of source/medium pairs active in the last 90 days (same Explorations approach, but without the Unassigned filter). For every pair, verify the medium value maps to an expected channel. Build this into a quarterly UTM taxonomy review — new campaigns from new team members or new agencies are the most common source of drift.
NiceLookingData's GA4 audit includes an Unassigned and Not-Set check that runs this analysis automatically against your property. When Unassigned sessions exceed a threshold that suggests a tagging gap, the audit flags it as a Warning with the specific source/medium pairs involved — so you don't have to run the Explorations query manually every time you want to check acquisition data quality.
Frequently Asked Questions
What is GA4 Default Channel Grouping?
GA4 Default Channel Grouping is the system that classifies every session into one of 18 channel buckets — Organic Search, Paid Search, Paid Social, Organic Social, Email, Direct, Referral, and others. GA4 evaluates session-level dimensions (primarily utm_source and utm_medium) against a prioritized list of rules and assigns the first channel whose conditions match. The grouping is what powers the Traffic Acquisition reports. It's called "default" because GA4 lets you create custom channel groups alongside it.
What are the channels in GA4?
GA4 has 18 default channels: Direct, Organic Search, Paid Search, Organic Social, Paid Social, Email, Referral, Affiliates, Display, Paid Other, Organic Shopping, Paid Shopping, Organic Video, Paid Video, Audio, SMS, Mobile Push Notifications, and Cross-network. The most commonly populated channels for typical web properties are Organic Search, Direct, Referral, Paid Search, Email, and Organic Social. Channels like Audio, SMS, and Mobile Push Notifications require specific utm_medium values to populate.
Why is my traffic showing as Unassigned in GA4?
Unassigned means a session arrived with parameter values that didn't match any channel rule. The three main causes are: (1) a utm_medium value that isn't in GA4's accepted strings for any channel — for example newsletter instead of email, or social instead of paid_social; (2) a UTM-tagged session where the source doesn't match any recognized list for a source-dependent channel; (3) a new traffic source or platform that uses a non-standard medium convention. To diagnose, run a GA4 Exploration with Session source / medium as the row dimension, filtered to sessions where Default Channel Group = Unassigned.
How do I fix Unassigned traffic in GA4?
Two approaches, often used together. First, fix the UTM tags at the source: update your email campaign medium from newsletter to email, update paid social campaigns from social to paid_social, and standardize any other non-standard values across your campaigns. This is the most durable fix because it makes the default channel group work correctly going forward. Second, create a custom channel group in GA4 Admin → Data Display → Channel groups that adds rules for the non-standard values you can't immediately change. Custom channel groups apply retroactively within your retention window, so you can fix historical data classification without changing what was collected.
Can I create custom channels in GA4?
Yes. GA4 lets you create custom channel groups under Admin → Data Display → Channel groups. You can add channels with custom names and define the conditions (source, medium, campaign) that map sessions to each channel. Custom channel groups are property-specific and can be switched between in the Acquisition reports using the channel group selector. You can have multiple custom groups for different reporting needs — for example, one that combines Paid Search and Paid Social into a single "Paid" bucket for high-level reporting, and a more granular one for performance optimization.
Does GA4 Channel Grouping apply retroactively?
Yes — for custom channel groups and for any edits you make to custom groups. Because GA4 evaluates channel rules at query time rather than at collection time, the current rules apply to all sessions within your data retention window (2 or 14 months, depending on your setting). This means creating a custom channel group today can reclassify sessions from 12 months ago. The caveat: the underlying parameter values (what was actually in utm_medium) were set at collection time and can't be changed retroactively. You can only change the rules that evaluate those values.
What is the difference between Paid Search and Organic Search in GA4?
Organic Search captures sessions referred from a recognized search engine with no UTM tagging — these are clicks from the unpaid, natural search results. Paid Search captures sessions with UTM medium values matching cpc, ppc, paidsearch, or paid search from a recognized search engine source — or sessions decoded from Google Ads' gclid auto-tagging. The key distinction is that Organic Search relies on the HTTP referrer alone, while Paid Search requires either auto-tagging (gclid) or explicit UTM parameters with a matching medium value.
What UTM medium value should I use for email campaigns?
Use email (all lowercase). GA4's Email channel rule accepts email, e-mail, e_mail, and emailmarketing. The most common mistake is using newsletter — it's descriptive, but it's not in GA4's Email rule and will route sessions to Unassigned. Put the newsletter designation in utm_campaign (e.g., utm_campaign=weekly_newsletter_june_2026) and keep utm_medium=email as the stable medium value that correctly classifies the channel.
Analytics consultant turned founder. After years running the same GA4 and GTM audits across client engagements, Ludde built the audit into a product — so the pattern-matching takes a minute, not a meeting. More about Ludde →
Run a free GA4 audit.
Connect your Google Analytics 4 property. Our auditor runs 61 checks and gives you an instant health score with a plain-English action plan.
