How many default channel groups does GA4 have?
GA4 has 18 default channel groups in 2026: Direct, Organic Search, Paid Search, Organic Social, Paid Social, Organic Video, Paid Video, Display, Email, Affiliates, Referral, Audio, SMS, Mobile Push Notifications, Organic Shopping, Paid Shopping, Cross-network, plus Unassigned as catch-all. GA4 evaluates every session top-down, first match wins. Most attribution issues come from sessions landing in Unassigned (no rule matched) or AI engines defaulting to Referral because GA4 has no AI Assistants channel.
The 18 channels and their rules
Each channel matches based on source, medium, campaign name, and sometimes click ID. GA4 evaluates rules in a fixed order — first match wins.
| # | Channel | Match logic |
|---|---|---|
| 1 | Direct | Source = (direct) AND medium = (none) or (not set) |
| 2 | Cross-network | Campaign name contains cross-network (Performance Max, Smart) |
| 3 | Paid Shopping | Source matches shopping list AND medium matches paid pattern |
| 4 | Paid Search | Source matches search list AND medium matches paid pattern |
| 5 | Paid Social | Source matches social list AND medium matches paid pattern |
| 6 | Paid Video | Source matches video list AND medium matches paid pattern |
| 7 | Display | Medium = display, banner, expandable, interstitial, cpm |
| 8 | Paid Other | Medium matches paid pattern (no source match above) |
| 9 | Organic Shopping | Source matches shopping list OR campaign matches shopping pattern |
| 10 | Organic Social | Source matches social list OR medium = social variants |
| 11 | Organic Video | Source matches video list OR medium contains video |
| 12 | Organic Search | Source matches search list OR medium = organic |
| 13 | Source or medium = email, e-mail, e_mail, e mail | |
| 14 | Affiliates | Medium = affiliate |
| 15 | Referral | Medium = referral, app, link |
| 16 | Audio | Medium = audio |
| 17 | SMS | Source = sms OR medium = sms |
| 18 | Mobile Push | Medium ends with push, contains mobile/notification, OR source = firebase |
| 19 | Unassigned | No other rule matched |
The site lists Google maintains
Three rules above depend on Google's internal site lists:
Search list — google, bing, yahoo, baidu, yandex, duckduckgo, ecosia, naver, seznam, ask, kagi, you.com, startpage, brave, qwant. Notable absences: AI assistants (chatgpt.com, perplexity.ai, claude.ai). They do NOT match Organic Search by default — they fall through to Referral.
Social list — facebook, instagram, twitter/x.com, linkedin, tiktok, pinterest, reddit, snapchat, whatsapp, threads, mastodon, bluesky, discord, slack. Reddit was added relatively recently; older properties may still see it as Referral.
Video list — youtube, vimeo, twitch, dailymotion, ig.me. TikTok matches both Social and Video lists.
Shopping list — amazon, walmart, target, ebay, etsy, shopify storefronts, alibaba, mercadolibre.
These lists aren't fully publicly documented and can change without notice. Any source not on Google's lists falls through to Referral or Unassigned — which is why custom channel groups exist.
Why sessions land in Unassigned
Five most common causes:
1. Custom mediums that don't match any rule. A campaign tagged with medium=newsletter doesn't match Email (which requires exact values email, e-mail, e_mail, e mail). Falls through to Unassigned.
2. Casing inconsistencies. Medium=Email vs email — GA4's matching is case-sensitive in some contexts.
Want to see whether attribution loss is already distorting your channel data?
3. Source present but medium missing. A referral domain with no medium (source=stripe.com, medium=(not set)) doesn't match Referral. Lands in Unassigned.
4. New AI engines without proper handling. ChatGPT, Perplexity, Claude, Gemini show up in Referral by default — but if their domain isn't recognised, they can land in Unassigned.
5. Custom-built mobile app sources. Custom-source mobile traffic can land in Unassigned if medium doesn't match any rule.
The fix: look at your top 20 Source/Medium combinations in Unassigned. Most are fixable by either correcting UTM convention at source, or by building a custom channel group that catches them with explicit rules.
The custom channel group escape hatch
Default channels can't be edited. To handle non-standard traffic, build a custom channel group:
- GA4 Admin → Data display → Channel groups
- Copy the default group (you can't edit the default)
- Add custom channels — for example: AI Assistants (source matches AI regex), Podcast (source contains podcast OR campaign contains pod-), Internal Test (source = internal-test for QA)
- Order matters. Place custom channels above the rule they'd otherwise be caught by. AI Assistants must sit above Referral.
- Save. Standard tier gets one custom channel group; 360 gets two.
Custom channel groups apply retroactively to standard reports — historical sessions get reclassified the moment you save. They do NOT apply retroactively to BigQuery exports.
How to debug a session in the wrong channel
Six-step diagnosis:
- Confirm Source/Medium values in GA4 → Reports → Acquisition → Traffic Acquisition.
- Look up the channel matching rule in the table above.
- Check the rule order. Higher-priority rules can intercept before the rule you expected.
- Check casing or punctuation. CPC vs cpc can produce different results.
- Check the site lists. If Source isn't on Google's recognised list for that channel, it won't match.
- Check for click IDs. gclid forces Paid Search regardless of explicit medium.
The most subtle bug: a campaign tagged correctly with medium=email but landing in Referral because the Source matches a domain Google's referrer-detection has classified as a referrer. Fix at source: strip the referrer using GTM's URL Passthrough or set medium=email explicitly via UTMs.
Channel ordering as strategy
Paid AI ahead of AI Assistants. Two custom channels: Paid AI (medium=paid_ai) and AI Assistants (source matches AI regex). Place Paid AI first so paid clicks don't get bucketed into the organic AI channel.
Branded Search separate from Organic Search. A custom channel for Branded Search (campaign contains your brand name) above Organic Search lets you separate brand from non-brand without rebuilding attribution.
Internal traffic above everything. A custom channel for internal traffic (medium=internal or hostname matches your testing domains) above all other channels prevents internal QA from polluting real channel reporting.
The principle: build custom channels that match before the default rules they'd otherwise be caught by. Order is your only lever for changing default channel behaviour.
FAQ: Channel Group Definitions in GA4: The Complete Default Channel Reference
What should a team validate first when channel group definitions in ga4: the complete default channel reference appears?
How do I know whether the fix actually worked?
When should this become a full GA4 audit instead of a quick fix?
Related guides for Channel Group Definitions in GA4: The Complete Default Channel Reference
ChatGPT, Atlas, Perplexity, Comet, Claude: How Each Shows Up in GA4 (2026 Reference)
In 2026, AI traffic in GA4 splits into three buckets. Browsers and assistants that pass clean referrers (Perplexity web, Perplexity Comet, Claude.ai, Copilot, Gemini standalone) appear with a recognisable source / medium like perplexity.ai / referral. Surfaces that strip the referrer (ChatGPT Atlas…
Perplexity Sources Report: How to Influence What It Cites in 2026
Perplexity citations correlate strongly with five factors: (1) ranking in Bing's top 10 for the underlying query (Perplexity uses Bing's index as fallback alongside its own ~5 billion-URL custom crawler), (2) a clear direct answer in the first 50 words of the relevant page…
Check Channel Group Definitions in GA4: The Complete Default Channel Reference before campaign reporting gets blamed for the wrong issue
Run a free GA4 audit to spot attribution breaks, UTM governance issues, self-referrals, and source/medium loss fast.