Performance Max is the campaign type Google built to make Search-team headcount obsolete. It works — but only if you treat it like the cannibalisation engine it actually is. Most accounts deploy it with no brand exclusion list, no audience signals, no asset-group structure, and no diagnostic for how much branded search it's quietly eating. Then the team reports a 4× blended ROAS on a number that's overstated by 25–40%, and the real non-brand campaigns starve because PMax took the budget.
What cannibalisation actually means in PMax
Cannibalisation is when one campaign gets credited for a conversion that another campaign (or organic) would have closed anyway. PMax is uniquely good at this because it bids across Search, Shopping, Display, YouTube, and Discover all at once — including on your branded queries. If a buyer searches your brand name and PMax is eligible, it will bid against your branded Search campaign, win the auction with assets it pulled from your feed, and claim the conversion. You pay Google for traffic that was already yours.
The reason this is silent: Google reports each campaign's conversions independently, summed at the account level. Branded Search reports its conversions. PMax reports its conversions. The total looks fine. But if you sum the campaign-attributed ROAS across your account and divide by total revenue, you'll often find platform-attributed conversions exceed Shopify net revenue by 15–35%. That gap is where the cannibalisation lives.
How to detect it: the four diagnostics
- 01Compare platform-attributed conversions across all campaigns to Shopify (or Stripe) net revenue for the same window. A gap >15% is a flag. >25% is a fire alarm.
- 02Run an N-day pause test on PMax (start with 7 days) and watch what happens to branded-Search impression share, click volume, and revenue. If branded volume is unchanged or up, PMax was harvesting branded traffic.
- 03Check the PMax search-terms report (now available via the Insights tab + the Account-level Search Terms report). Manually flag every brand-named query and quantify the spend on it.
- 04Run an MMM read or geo-test on a branded-search hold-out. If branded paid spend can be pulled by 40% with <5% revenue impact, PMax is doing the cannibalisation work for you.
How to fix it: the architecture rebuild
1. Brand exclusion list — non-negotiable
Add every variant of your brand name (and common misspellings) to the PMax brand-exclusion list. This is account-level, not campaign-level. Google will route those queries to your branded Search campaign instead, where you can manage match types, bid strategy, and copy explicitly. This single change typically reclaims 20–35% of PMax's reported conversions for the rest of the account architecture.
2. Asset groups by theme, not SKU dump
Most PMax accounts have one asset group with every product feed-pulled into it. The algorithm has nothing to learn from. Build asset groups by theme — by margin tier, by category, by audience signal — with distinct creative and audience signals per group. PMax with 5 well-structured asset groups outperforms PMax with one dump in 9 out of 10 accounts at $50K+/month spend.
3. Audience signals — even imperfect ones
Audience signals are the closest thing PMax gives you to targeting. They're hints, not constraints — but they meaningfully shift bid behaviour. Upload your high-LTV customer list (segmented by purchase frequency or AOV), your competitor-conquest list, and your category-interest custom segments. Even directionally-correct signals beat the default.
4. Bidding strategy chosen against payback math
tCPA and tROAS are not interchangeable. tROAS optimises against the value-per-conversion you uploaded — which means it's only as good as your conversion data. If your tracking double-counts refunds or misses server-side events, tROAS will optimise against a fiction. tCPA optimises against acquisition cost — useful when LTV varies by customer. Pick against your actual P&L unit economics, not Google's recommendation.
What to expect after the fix
Hygiene wins land in 30–45 days. Architecture changes compound over 60–90. Below is a representative pattern from a $25M GMV DTC home-goods account where this exact playbook was run as part of a Performance retainer engagement (illustrative; real-account specifics anonymised):
| Metric | Before | After |
|---|---|---|
| Blended ROAS (Shopify net rev) | 2.1× | 3.6× |
| MER | 1.8× | 2.9× |
| Paid CAC | $87 | $52 |
| PMax wasted spend (post-exclusion list) | ~38% of campaign spend | <6% |
Why most agencies skip this
Two reasons. First, exclusion lists feel destructive — pausing or excluding spend looks like 'doing less,' which doesn't bill well. Second, Google's account managers actively recommend against them, because PMax cannibalisation looks great in Google's own metric of platform-reported revenue. The merchant pays. The agency reports a number. The CFO eventually figures it out.
Want the diagnostic run on your account?
We run this as part of every Paid Search audit. Two weeks. $5K, fully refundable. The PMax cannibalisation diagnostic alone is usually worth more than the audit fee.
Questions readers ask.
What is PMax cannibalisation?
When Performance Max bids on your branded search queries (or other already-warmed traffic), it wins the auction with assets pulled from your feed and claims the conversion that branded search or organic would have closed anyway. The merchant pays Google for traffic that was already theirs.
How do I detect PMax cannibalisation?
Compare platform-attributed conversions across all campaigns to Shopify (or Stripe) net revenue for the same window. A gap >15% is a flag. >25% is a fire alarm. Then run a 7-day PMax pause test and watch branded-search impression share. If branded volume is unchanged or up, PMax was harvesting branded traffic.
Will excluding brand terms from PMax hurt revenue?
Almost always no. The conversions move to your branded Search campaign, where you have explicit control over match types, copy, and bid strategy. Most accounts see a 15–35% uplift in non-brand campaign efficiency within 60 days because budget previously consumed by PMax-on-brand is reallocated to net-new demand.
Samarth Sawhney
Senior performance and brand operator with a decade across DTC and SaaS. Built the AI-native operator stack that powers the firm — 80+ Claude Code skills, 14 MCP integrations, direct platform APIs across Google, Microsoft, Meta, TikTok, LinkedIn, Amazon, Klaviyo, Customer.io, and Triple Whale. Personally accountable on every audit and retainer.
See more from Samarth →