LW IT Solutions
« Blog Overview /Digital Analytics / GA4 Channel Rules: How the Order of...
Read this article in other languages:

GA4 Channel Rules: How the Order of Evaluation Decides the Channel

GA4 Channel Rules: How the Order of Evaluation Decides the Channel
Contents
  1. The Chain Stops at the First Match
  2. What Counts as a Paid Medium
  3. Why the Source Category Decides
  4. What Unassigned Really Is
  5. Reading a Channel Backwards
  6. Questions and answers
  7. Sources
  8. Practical check: audit real acquisition rows

A traffic report names a channel and keeps the reason to itself. Sessions arrive as Paid Other where Paid Search was expected, a Performance Max campaign disappears out of search entirely, and a partner link that carries the same medium as the search ads ends up somewhere else. None of that is a fault: it is the order of the rules, visible only to whoever knows it.

The default channel group is a chain of eighteen conditions. GA4 walks it from the top, takes the first that fits and stops – the rules below it are never evaluated. Almost every surprising channel comes from that single sentence.

The eighteen channel rules as a chain, with google and cpc matching rule four for paid search, the chain stopping there, and the later organic search rule greyed out as never evaluated
google / cpc fits two rules. Only the first one is ever reached.

The Chain Stops at the First Match

A session with the source google and the medium cpc satisfies two conditions. Rule 4 asks whether the source is a search site and the medium a paid one – true. Rule 12 asks whether the source is a search site or the medium is organic – the first half is true as well.

Both are correct, and only the fourth is ever reached, because the chain ends there. That is the whole mechanism, and it is worth stating in exactly this form: a channel is not the best-fitting rule, it is the earliest fitting rule.

The practical consequence shows up when a rule is added higher in the chain than expected. Cross-network sits at position 2, above every paid rule, so a campaign name containing cross-network pulls sessions out of Paid Search that otherwise belong there – which is exactly what happens to Performance Max.

What Counts as a Paid Medium

Five of the first eight rules ask the same question about the medium, and the pattern behind it is broader than it looks: anything containing the letters cp, plus ppc, retargeting, and everything starting with paid.

Medium Paid? Why
cpc, cpm, cpv yes All contain cp.
paid_social, paidsearch yes Start with paid.
ppc, retargeting yes Named literally in the pattern.
display, banner no Neither contains cp – they are caught later by the Display rule.
ad, ads, sponsored no Nothing in them matches, so they fall through to the bottom of the chain.

The last row is where most homemade taxonomies come apart. A medium called ads reads as paid to every human and to no rule in the chain; the session ends in Unassigned unless a later rule happens to catch it. And the reverse case exists too – a medium invented as cpx-newsletter contains cp and is classified as paid traffic for that reason alone.

Why the Source Category Decides

Being paid is only half of each of those rules. The other half asks what kind of site the source is, and that question is answered from a list Google maintains: which domains count as search, which as social, which as video, which as shopping.

A source that is not on the list has no category, so the specific rules cannot match it. That is how a partner site tagged with cpc becomes Paid Other rather than Paid Search: the medium is paid, but there is nothing to make it search. The channel is correct, it just describes something narrower than expected.

The same mechanism produces the opposite surprise. Anything on the search list arrives as Organic Search with no medium at all, because rule 12 asks for the source alone. A referral from a search engine’s cached page is therefore organic search traffic, whether or not anyone searched for anything.

What Unassigned Really Is

Unassigned is not the nineteenth rule; it is the absence of the first eighteen. Two cases produce it, and they need different fixes.

The first is a value the chain has no rule for – utm_medium=flyer, utm_medium=ads, a typo like referal. The data arrived intact and the taxonomy is the problem, which means the link has to change, not the report.

The second is a session with a source and no medium at all, which is what happens when a link carries utm_source and utm_campaign but nothing else. Rule 1 requires the source to be direct, and every rule after it needs a medium; the session falls through all eighteen. This is the single most common cause, and it comes from link builders that treat the medium as optional.

Reading a Channel Backwards

The useful habit is to run the chain by hand for any channel that looks wrong. Which rule fired, and which earlier rule would have fired if one field were different. Two answers come out of it: what to change in the tagging, and whether the channel was wrong at all – because often it is right and only the expectation was built on a rule that never gets reached.

What no amount of reading changes is the order itself. Custom channel groups can be defined with a different one, and they even apply retroactively, but the default channel group itself stays unchanged, which makes the default chain the thing worth knowing rather than working around.

Questions and answers

Why does Google Ads traffic without UTM parameters still land in Paid Search?

Because of auto-tagging, which marks every ad click automatically. If this setting is on in the Google Ads account and the account is linked to GA4, every click carries a gclid, from which GA4 derives the source google and the medium cpc. Rule 4 then applies, unless Cross-network at position 2 has already matched, as it does for Performance Max.

A newsletter link carries utm_source=newsletter and utm_medium=newsletter. Which channel does it end up in?

Unassigned, although nothing about it looks wrong. The chain has no rule for newsletter, neither as a source nor as a medium: the word contains no cp, is on none of Google’s lists, and the email rule requires one of the spellings email, e-mail, e_mail or e mail as the source or the medium. The session therefore falls through all eighteen rules, just like utm_medium=flyer.

The fix belongs in the link, not the report: utm_medium=email, with the newsletter’s name in utm_source or utm_campaign. The information is kept, and the email rule applies.

When renaming, the campaign name deserves a look as well. The shopping rules evaluate it too, and a name containing shop or shopping can pull a session into a shopping channel even though it came from a newsletter. Running the new link through the chain once from the top shows this before the mailing goes out.

Why do Facebook ads tagged utm_source=facebook and utm_medium=ads appear under Organic Social?

Because a later rule catches them before they can fall through to Unassigned. The medium ads does not match the pattern for paid media, so Paid Social does not apply. The Organic Social rule, however, needs only one of two things: a source on Google’s list of social sites or a medium such as social. The source facebook is on the list, so it is enough on its own.

The result is more treacherous than Unassigned because it looks plausible: paid reach appears as organic, and the organic channel looks more successful than it is. The fix is a medium that matches the pattern, such as paid_social or cpc; then Paid Social applies, which sits well above Organic Social in the chain.

Practical check: audit real acquisition rows

The Acquisition Audit in the Channel Debugger adds a report-based check to the individual channel-rule examples. After Google authorization, a property and an explicit date range determine the query. The tool reads session source, medium, campaign and default channel group together with sessions. It does not mix first-user acquisition with session acquisition.

  1. Select a completed reporting period. Recent data may still change.
  2. Review rows in Unassigned, starting with the largest session values. Compare their source and medium with the channel rules described above.
  3. Inspect spelling candidates such as Email and email, or campaign names with extra spaces. A candidate is a naming inconsistency to investigate, not an automatic correction.
  4. Inspect the returned metadata before interpreting the result. Thresholding, sampling and an (other) row can hide detail.
  5. Export the findings as CSV and correct future campaign links or tracking configuration where the evidence supports it.

The displayed Unassigned percentage uses the sum of the returned session values. It is not an independently retrieved property total. The tool rejects incomplete pagination and does not rewrite historical attribution. A row containing (not set) alone cannot establish whether consent, redirects or tagging caused the missing value.

Technical references: Data API dimensions and metrics and response metadata.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Write a comment

Differing figures from other accounts and questions about the setup are welcome here.

The email address is not published. Required fields are marked with an asterisk.

Articles & categories

CCTV

Follow this category by RSS

Cloud & AI

All 17 articles in this category Follow this category by RSS

Data Privacy

All 19 articles in this category Follow this category by RSS

Digital Analytics

All 58 articles in this category Follow this category by RSS

Digital Marketing

All 37 articles in this category Follow this category by RSS

IT & Networks

All 19 articles in this category Follow this category by RSS

Music Production

All 17 articles in this category Follow this category by RSS

Raspberry PI

Follow this category by RSS

SaaS & Internet Earning

Follow this category by RSS

Smart Home

All 18 articles in this category Follow this category by RSS

Web Development

All 11 articles in this category Follow this category by RSS

WordPress Plugins & Tricks

All 14 articles in this category Follow this category by RSS