Your Performance Max campaign is hiding something from you.
Performance Max works. That is what makes it dangerous. It reports a strong return, and a meaningful slice of that return is often traffic you were going to get for free.
The cannibalisation problem
PMax serves across Search, Shopping, Display, YouTube, Discover and Gmail. Given a conversion goal and no constraints, it will find the cheapest conversions available — and the cheapest conversions available are people already searching for your brand name. Those people were going to buy anyway. PMax bills you for them and reports a spectacular ROAS.
Your blended numbers look great. Your incremental numbers are worse than before you started.
Six things to do about it
1. Add brand exclusions. Account-level brand exclusion lists exist now. Use them, unless you have deliberately decided to defend your brand terms — in which case do that in a dedicated brand Search campaign where you can see the cost.
2. Run a separate brand Search campaign. Not because you need it to win the auction, but because it is the only way to see what brand traffic actually costs you.
3. Pull the search terms. They are not in the standard UI in any useful form. Use the Insights report and a script to export search categories, then look at what share of spend maps to brand-adjacent queries.
4. Check the asset group split. If one asset group is eating 80% of budget, PMax has found a shortcut. That shortcut is usually Shopping on your best-selling SKU, which was already selling.
5. Watch the Display and Gmail share. Cheap impressions with view-through conversions attached will flatter the report. Look at click-through conversions only when judging incrementality.
6. Run a geo holdout. The only honest test. Turn PMax off in a matched set of regions for four weeks and compare total revenue, not platform-reported revenue. This is the number that tells you whether the campaign is generating demand or invoicing you for it.
The honest position
PMax is not a scam and turning it off is usually wrong. It genuinely finds demand you cannot reach manually. But it will take the easy conversions first, and it will not volunteer that it did. Constrain it, then judge it on incrementality.