What Cross-network means in GA4, and why it hides your Ads spend
Cross-network is where GA4 files Performance Max and Demand Gen traffic. It is a channel grouping, not a tracking leak — and Display spend is moving into it.
Short answer: Cross-network is a channel grouping, not a leak. GA4 files a session there when the click came from a Google Ads campaign that runs across several Google surfaces at once — Performance Max, Demand Gen, App, Smart or Local. Nothing has been lost and nothing is misattributed. What you lose is the surface breakdown: one row now covers Search, YouTube, Discover, Gmail, Maps and the Display Network, so you can no longer see which of them delivered the click. If Cross-network grew recently without your spend changing, the likely cause is a campaign type migration rather than a tagging fault, and Google is in the middle of moving Display campaigns into the bucket too.
Cross-network is one channel defined by two different fields
Google publishes the rule, and reading it explains most of the confusion. A session is Cross-network when (Analytics Help, Default channel group, checked 4 August 2026):
"Source platform is "Google Ads" AND Google Ads ad network type is one of ("Cross-network", "Google owned channels") OR Google Ads campaign type is one of ("Performance Max", "App", "Smart", "Demand Gen", "Local")"
Two independent fields can put a session here. The ad network type can say so, or the campaign type can say so. That OR is why the bucket catches traffic people don't expect: a campaign lands in Cross-network on its type alone, regardless of which surface the click actually came from.
Compare it with the neighbouring rules and the design becomes obvious. Paid Search is "Google Ads ad network type is one of ("Google Search", "Google Partners") OR Google Ads campaign type is one of ("Search", "Hotel", "Travel")". Display is the same shape with "Google Display Network" and "Google TV". Every other paid Google channel names a specific surface. Cross-network is the residual category for campaigns that refuse to sit on one.
One wrinkle worth knowing before you write a filter against it: the channel-grouping page uses the ad network type value "Google owned channels", while Google's Data API schema describes googleAdsAdNetworkType as "An enumeration which includes Google search, Search partners, Google Display Network, Youtube Search, Youtube Videos, Cross-network, Social, and (universal campaign)" (GA4 Data API schema, checked 4 August 2026). The two pages do not publish the same value list. Test any segment you build against real rows rather than trusting either list to be complete.
The campaign types that produce it include one you can no longer create
The rule names five campaign types: Performance Max, App, Smart, Demand Gen and Local. Google's own summary of the same channel says something slightly different — "Cross-network includes Demand Gen, Performance Max and Smart Shopping."
Smart Shopping is the odd one out, because Smart Shopping campaigns no longer exist. Google upgraded them to Performance Max, and states that accounts whose campaigns have been upgraded "are no longer able to create new Smart Shopping campaigns", with the old campaigns set to Removed status and uneditable (Google Ads Help, Smart Shopping and Local campaign upgrades, checked 4 August 2026). The explanatory note is describing a campaign type that was retired years ago. The machine-readable rule above it, which names "Smart" — the separate simplified campaign type — is the one that governs your data.
Demand Gen is the entry that keeps growing. It absorbed Discovery campaigns, then Video Action campaigns, and it now covers "YouTube (including Shorts), Discover, Gmail, Maps, and the Google Display Network" (Google Ads Help, About Demand Gen campaigns, checked 4 August 2026). Every absorption widens what Cross-network means without the definition changing a word.
Display spend is on its way into this bucket
This is the part that will move numbers in your reports, and it is barely discussed.
Google is migrating Display campaigns into Demand Gen. The documentation states that "New Google Display Ads campaigns can only be created within Demand Gen", that eligible advertisers "can begin moving existing Google Display Ads campaigns to Google Display Network on Demand Gen using a migration tool" from June 2026, and that automatic migration of remaining eligible campaigns will follow without advertiser action. Migrated campaigns cannot be reverted, and the originals are marked Removed while remaining available for five years of reporting (Google Ads Help, Google Display Ads campaigns have a new home in Demand Gen, checked 4 August 2026).
Put that next to the channel rule. Display campaigns are classified as Display. Demand Gen campaigns are classified as Cross-network. So a Display campaign that migrates changes GA4 channel, and the change is permanent because the migration is.
I could not find a Google page that spells out this reporting consequence, so treat it as what it is: a conclusion drawn from two documented facts rather than something Google has published guidance on. The practical implication holds either way. If your Display channel shrinks and Cross-network grows on roughly the same date, check your Google Ads change history for a migration before you go looking for a broken tag. And any year-on-year Display comparison that straddles the migration is comparing two different definitions.
Ads and GA4 disagree about this traffic because they are answering different questions
Google Ads reports on campaigns. GA4 reports on channels. Cross-network is not a campaign, so there is no row in Ads that should match it, and lining the two up in one table produces an argument nobody wins.
The gap widens because of when each platform books a conversion. Google Ads "reports conversions on the ad impression date", while other tools "attribute them to the conversion date" — Google calls this conversion delay, allows conversions to be reported "up to 90 days after the click", and asks for 24 to 48 hours of processing before results are compared at all (Google Ads Help, Data discrepancies, checked 4 August 2026). For Performance Max and Demand Gen, which are bought on long consideration journeys, that timing difference is largest exactly where Cross-network volume is largest.
None of this is a tracking fault, and the fix is not to make the numbers match. We have written separately about which conversion number should drive bidding and which should drive reporting — the short version is that they are different instruments and you should stop asking them to agree.
How to split it usefully
The dimensions you want exist, with a catch that matters.
GA4's Data API exposes googleAdsCampaignType, described as "The campaign type for the Google Ads campaign attributed to the key event", and googleAdsAdNetworkType, "The advertising network type of the key event" (GA4 Data API schema, checked 4 August 2026). Read those definitions again. Both are scoped to key events. They describe the campaign and surface behind a key event, not behind a session. Drop them into a report next to a session metric and you are asking a question the dimension was not built to answer.
So split it in this order:
- Start with campaign name, not channel. Session campaign is session-scoped and will separate your Performance Max campaigns from your Demand Gen ones inside the single Cross-network row. This is the split that works today with no configuration.
- Make the campaign name carry the information. Cross-network flattens the surface, so encode what you need in the name at creation time. If your naming convention already distinguishes prospecting from retargeting, or brand from generic, the flattening costs you much less.
- Use the Ads-scoped dimensions for key-event questions only. "Which campaign type produced our key events" is a fair question to put to
googleAdsCampaignType. "How many sessions came from Performance Max" is not. - Go to Google Ads for surface-level detail. GA4 is not going to give you a per-surface breakdown of a campaign type whose defining property is spanning surfaces.
The honest ceiling: you can separate campaigns inside Cross-network, and you cannot reliably separate surfaces from GA4 alone. Anyone promising you a clean YouTube-versus-Discover split out of standard GA4 reports is selling you a segment that the underlying dimension scoping does not support.
Cross-network volume is dominated by Performance Max and Demand Gen, which are the campaign types most dependent on Google modelling the conversions it cannot observe. That modelling only runs if your consent signals reach Google in the first place. The Google Ads consent checker loads your live site and reports whether ad_user_data and ad_personalization are actually being sent, which is the input the bidding runs on.
What to check before you file a bug
Cross-network appearing is not a fault. Cross-network changing is worth ten minutes.
Pull the last ninety days of the Cross-network channel next to your Google Ads change history. If the line steps rather than drifts, something changed campaign type on that date — a Smart Shopping upgrade completing, a Video Action campaign becoming Demand Gen, a Display migration. If it drifts, budget moved between campaign types and the channel is reporting it correctly.
Then check the thing underneath the reporting. If you are about to open DebugView to confirm your conversion events are firing, read what DebugView can and cannot tell you first, because it will not show you the consent state your actual visitors arrive with.
If your channel report changed and nobody can say whether the campaigns changed or the definitions did, that is the kind of thing we untangle.
Sources
- 1.Analytics Help — [GA4] Default channel group (the Cross-network, Paid Search, Paid Shopping, Paid Video and Display rules) · Checked 2026-08-04
- 2.Google Analytics Data API — dimensions and metrics schema (googleAdsCampaignType, googleAdsAdNetworkType) · Checked 2026-08-04
- 3.Google Ads Help — Google Display Ads campaigns have a new home in Demand Gen · Checked 2026-08-04
- 4.Google Ads Help — Data discrepancies: factors and troubleshooting · Checked 2026-08-04
- 5.Google Ads Help — Learn more about Smart Shopping and Local campaign upgrades to Performance Max · Checked 2026-08-04
- 6.Google Ads Help — About Demand Gen campaigns · Checked 2026-08-04