1 October 2026 · 11 min read

GA4 Custom Channel Groups: Rules You Control

Open Traffic acquisition on a property nobody has tidied in a year and look for the row called Unassigned. On plenty of sites it carries a fifth of the sessions and a similar share of revenue. It is not a channel, and nobody in marketing bought traffic from it. Unassigned is the value Google Analytics uses when no other channel rule matches the event data.

The instinct to fix that with a custom channel group is a good one. The feature is also narrower, and more permanent, than most people assume before they press save: two groups on a standard property, rules that run in order, changes that reach back through historical reports, and a delete action that cannot be undone.

How channel grouping works

The Google default is a set of rule-based categories. Organic Search, Paid Search, Direct, Referral, Email, Organic Social, Paid Social, Display, Cross-network, AI Assistant and around ten more. Every rule is readable in Admin, under Data display, Channel groups, so once you look, nothing about the classification is mysterious.

Google Analytics exposes three channel dimensions, and they answer three different questions. The default channel group is event scoped and scored with the attribution model set on the property, data-driven by default. The session default channel group is session scoped and uses paid and organic channels last click. The first user default channel group is user scoped, also paid and organic channels last click.

Event scope answers which channel touched the event. Session scope answers which channel started the session. User scope answers which channel acquired the person. A session figure compared against a first-user figure is a comparison of two different questions, and a fair share of channel disputes start right there.

One mechanical detail decides more outcomes than any rule you write. Traffic goes to the first channel whose definition it matches, in the order the channels sit in the group. Order is the mechanism, not a cosmetic setting.

What you cannot change about the default group

The default channel group is not editable, and Google gives its reason: it maintains one universal default so the classification stays current and comparable across properties. You can copy it, and you can promote a custom group to be your property's primary channel group, but you cannot rewrite Google's list.

So the default group is a reference point rather than a setting, and Unassigned is not a bug you patch by finding the right hidden option. It is the row where traffic lands when nothing matches, which makes it a signal worth reading.

Where Unassigned traffic comes from

Unassigned covers events that match none of the rules. In practice the traffic arrives there through a handful of routes, and it is worth separating those from the visits that merely read as Direct.

What a custom channel group gives you

Custom channel groups live in Admin, under Data display, Channel groups, and creating or editing one needs Editor or above at property level. You start from a copy of an existing group, then rename it, edit its channels, add channels and reorder the list.

Conditions can be built from seven fields: campaign id, campaign name, default channel group, manual ad content, medium, source and source platform. Two do more work than the rest. Using the default channel group as a condition lets you inherit Google's classification and override only the piece you disagree with, which is quicker and sturdier than rebuilding twenty rules by hand. Source platform is the field that separates Google Ads traffic from DV360, CM360, SA360 and Merchant Center when source and medium alone cannot.

Limits are tighter than people expect. A standard property holds two custom groups in addition to the default one, a 360 property holds five, and each group carries up to 50 channels. Google also warns that a group built with a large number of fields can slow your reports, so keep the conditions narrow.

The part that surprises people: groups reach backwards

Custom channel groups apply to your reports retroactively. Change a rule today and the last two years of channel reporting change with it. That is the feature's biggest strength and its sharpest edge. A classification mistake can be fixed without waiting twelve months for clean data, and a group saved on a Friday afternoon can silently rewrite the numbers in a deck somebody is presenting on Monday.

Google's limitations list is specific about where an edit lands. In segments, explorations and reports, the new definition applies immediately to the underlying data, so one report can disagree with another built on a different group. In an audience, eligibility changes going forward and never retroactively. In an expanded data set, the old definition persists and Google's advice is to stop using it. Deleting a group cannot be undone, and it leaves reports, audiences and expanded data sets pointing at a dimension that no longer resolves.

Two availability limits matter if you build on exports or answer questions about conversion paths. Custom channel groups are not part of the BigQuery export schema, and they are not available in the Key events paths report. Cost, click and impression reporting is unavailable for the manual ad content field.

Promoting a group to primary

Any custom group can be set as your property's primary channel group, which is the editable stand-in for the default. The primary channel group begins as a copy of the default, and when you point it at one of your groups, the primary channel group dimension uses those criteria from that point forward. Forward only, unlike the retroactive behaviour of the custom group itself. That difference catches teams out, so write it into the change note.

Two examples worth copying

Google's own example is the one most teams now want. Traffic from ChatGPT, Gemini, Copilot, Perplexity and similar assistants keeps growing, and on many properties it sits inside Referral with everything else. Build a channel called AI assistants, add a condition that matches regex against the assistant domains, then drag it above Referral, and above Organic Search if you want assistant visits separated from Google's AI Overviews and AI Mode, which stay in Organic Search by design. Google's built-in AI Assistant channel fires on a medium of ai-assistant, and that is the value to compare against while you check your own rule.

The second example is the one agencies ask for. Suppose a client's partner portals send heavy referral volume that deserves its own line in the budget conversation rather than a slot inside Referral. List the portal sources as a channel and order it above Referral. Same mechanism, different business problem, and no tag changes anywhere.

Test the order, then test the totals

Because the first matching channel wins, the practical test is a side-by-side. Put Traffic acquisition next to the same report on the default channel group. Totals should match, and the split should differ only where you intended. Sessions piling into Unassigned mean a rule is too narrow. A channel that stays empty is usually an ordering problem rather than a broken condition, so check the position before you rewrite the regex.

What a channel group will not fix

Missing campaign tags. If a parameter was never applied or was stripped in transit, no rule has anything to read. A channel group sorts what you collected. It does not collect more.

Consent and blocker losses. Source data that was never recorded cannot be reclassified later. Sessions where analytics_storage was denied and no cookie was written have the same gap, and ad blockers are documented as a cause of (direct) / (none) traffic. That is a measurement and consent problem, and our Consent Mode v2 guide for UK sites covers the compliant side of it.

Cost data. A group is a reporting lens over events, not a data import. It brings no click or cost figures with it, and the manual ad content field does not support cost, click or impression reporting at all. Anything built on it stops at engagement and key events.

What to do this week

Decide the two questions your reporting has to answer. Most businesses need a marketing-mix view and one split specific to how they sell, which is exactly the two groups a standard property allows.

Copy the default group, change only the channels that need changing, and leave the rest alone.

Check how much traffic sits in Unassigned inside your new group. A large number means gaps in your rules, and gaps are cheapest to close while the group is fresh.

Write the channel order down in one page, with the rules and the position of each channel. The waterfall runs silently, so that note is the only place a future teammate can see why a source landed where it did.

Channel groups are among the few GA4 features that repay the afternoon they cost. They reorganise data you already hold, they reach back through history, and they turn a vague row called Unassigned into a specific conversation about the traffic you failed to tag. The last part is the one that changes decisions.

Is Unassigned Ruling Your Channel Reports?

North Digital builds channel groups that match how a business sells, then audits the tagging behind them so the numbers survive a board meeting. You get a working channel group, the campaign tagging fixes it depends on, and a short list of what to fix first.

Book a Measurement Review