Performance Max reports on itself. It picks the channels, it picks the searches, it picks the placements, and then it tells you how well it did, in a report that hides most of what it picked.
An 800% ROAS in week two is almost always brand traffic wearing a PMax hat. The campaign did not find those buyers. It stepped in front of people who were already typing your name.
This is the audit I run before I trust a Performance Max number. On 30 August 2026 I pulled the settings of 84 live PMax campaigns across 42 accounts, so every check below comes with what I found.
👉 The short version
Pull the data with one script, then run seven checks in order. Brand cannibalisation first, because it decides whether any of the other numbers are real. Channel split, search categories, assets, product tiers, governance settings and the change history follow.
The audit checklist is at the bottom, and the verdict is one of four words.
Why a Performance Max audit is not a search audit
A search campaign shows you every keyword, every search term, every bid and every placement. When it wastes money, you can point at the row that wasted it.
Performance Max runs across Search, Shopping, YouTube, Display, Discover, Gmail and Maps from one campaign, with one budget and one bid strategy. The interface shows you asset groups, search themes, a handful of insights, and totals. It does not show you the channel split in a column. It does not show you how much of the spend went to searches for your own brand.
So the audit has a different job. In a search audit you are looking for the waste. In a Performance Max audit you are first working out whether the campaign’s own numbers mean anything, and only then looking for the waste.
Google’s own framing is that PMax multiplies conversions by finding buyers the other campaigns miss. That is the claim to test. A PMax campaign that only redistributes conversions your Search and Shopping campaigns were already winning has moved the credit and added a fee.
| Check | The question it answers | Where the data is | What a fail looks like |
|---|---|---|---|
| 1. Brand cannibalisation | Are these conversions new, or moved? | Brand analysis tab, brand Search history | Brand Search fell by what PMax “gained” |
| 2. Channel split | Where did the money go? | Channel split tab | A third of spend on Display and Video with no conversions |
| 3. Search categories | Who does the campaign think you sell to? | Search terms tab | Top categories are not your customer, or are your own name |
| 4. Assets | Do the assets work, or just fill slots? | Asset performance tab | ”Excellent” strength, flat results |
| 5. Product tiers | Which SKUs spend with no return? | Product tiers, waste report | Dogs with real spend, zero sales |
| 6. Governance | Which defaults are spending for you? | Campaign settings | URL expansion on, presence or interest, no brand exclusion |
| 7. Change history | Is anyone home? | Change history, 90 days | Untouched for a month, or reset every week |
Before the audit: should this account be running PMax at all?
Half the failed Performance Max campaigns I have audited failed at qualification, before a single setting was wrong. PMax needs volume to learn from and a baseline to beat. Without both it spends the budget teaching itself on your money.
I put every account through 5 gates before I look at the campaign itself. These come from my Performance Max playbook , and an account has to pass all five.
- Business model fit. Ecommerce, or lead generation with a sales cycle under six months. Long-cycle B2B gives PMax a conversion signal months after the click, which is too late to learn from.
- Conversion volume. Fifty or more purchases a month for ecommerce, thirty or more qualified leads for lead gen, on the account as a whole. Below that, the bid strategy never leaves learning.
- A profitable Search and Shopping baseline. If the account is not yet profitable on the campaigns you can see into, adding one you cannot see into does not fix that.
- Conversion tracking integrity. One primary action that means money. A PMax campaign optimising to page views will find you an enormous number of page views.
- Budget. Five thousand dollars a month or more. Below that, the campaign cannot buy enough data across seven channels to learn anything.
My wife’s travel business spends about £1,500 a month on Google Ads and gets a qualified lead for around $7. It fails gate five, and I would not run PMax on it. Search does the job, and I can see every search term that spent her money.
If the account fails any gate, the audit ends here and the verdict is “not yet”. Run Search and Shopping until it passes. The readiness assessment scores the six foundations and returns a yes with protections, a not yet with prerequisites, or a no with alternatives. It takes ten minutes and it saves the month you would otherwise spend proving the same thing with budget.
Pull the data first: the eight-tab export
The interface will not give you the numbers the seven checks need, so do not start in the interface.
I wrote a Google Ads script for exactly this, because I got tired of rebuilding the same spreadsheet for every audit. The PMax Insight Engine runs inside the account, needs no configuration, and writes a Google Sheet with eight tabs:
- Summary, with a health score and alerts.
- Channel split: Shopping, Search, Display and Video, with spend and conversions for each.
- Brand analysis: brand against non-brand performance.
- Product tiers: stars, cash cows, question marks and dogs, by SKU.
- Asset performance: which creative assets are working.
- Search terms: the query categories triggering the campaign.
- Audience signals: which audiences convert.
- Waste report: zero-conversion spend by segment.
Paste it in as a new script, authorise it, run it, and look in Drive under recent files. Everything below reads from that sheet.
If you would rather use someone else’s script, Mike Rhodes’ PMax script is the one most of the industry runs, and the free version is on GitHub . It splits spend by channel and buckets search categories into brand, close-to-brand and non-brand, which is check one and check two in one sheet. The Performance Max scripts post lists ten, mine included, and PPC Mastery’s roundup covers five more from a different angle.
What 84 live Performance Max campaigns look like
Before the checks, here is what I found when I pulled the settings of every PMax campaign with over $500 of spend in the 90 days to 28 August 2026, across the 100 accounts under the manager accounts I hold. That is 84 campaigns in 42 accounts. No client is named and the pull was read-only.
| Finding | Share | What it means for the audit |
|---|---|---|
| No target ROAS or target CPA set | 45 of 84 (54%) | The bid strategy has no number to hit. Check six. |
| Final URL expansion served at least one page the advertiser did not pick | 42 of 84 (50%) | Traffic went to blog posts and policy pages. Check six. |
| Location set to presence or interest | 34 of 84 (40%) | The default, and it reaches people abroad. Check six. |
| Zero edits in the last 28 days | 41 of 84 (49%) | Nobody has opened the campaign in a month. Check seven. |
| Over 20% of clicks on search categories containing the brand name | 32 of 84 (38%) | The reported ROAS is inflated. Check one. |
| Over 50% of clicks on brand categories | 12 of 84 (14%) | The campaign is mostly a brand campaign. Check one. |
| Asset groups rated Average | 95 of 147 (65%) | Asset Strength tells you almost nothing. Check four. |
These are managed accounts. Every one of them has an agency or a consultant on it, and 96 of the 100 carry a shared negative keyword list, so this is not a sample of abandoned self-serve accounts. The defaults still won, because PMax defaults are set to the version that spends more.
The seven checks
1. Brand cannibalisation
This check goes first because it decides whether the campaign’s reported numbers are real.
Open the brand analysis tab. Read the share of spend and conversions that came from searches containing the brand name. Then open the brand Search campaign, if there is one, and compare its impression share and conversions for the 30 days before PMax launched against the 30 days after.
What you are looking for is the swap. Brand Search impression share falls, brand Search conversions fall by roughly the same number that PMax reports as new conversions, and the account total barely moves. That is the same customers, billed through a different campaign at a higher cost per click.
In my 84 campaigns, the median share of clicks on search categories containing the account’s own name was 14%. Twelve campaigns were over 50%, which means the campaign was mostly a brand campaign with a Shopping feed attached. The match is rough, because I matched category labels against words in the account name, but it is the same test the brand analysis tab runs properly.
This is not a quirk of my client list. Optmyzr looked at 503 accounts in February 2025 and found 91% had keyword overlap between Search and PMax, with 56% of Search campaigns affected. And when Haus ran incrementality tests on the question, the answer was clear enough to quote:
Excluding brand terms drove new customers more efficiently in 100% of experiments.
Haus also found brand exclusion drove 24% more incremental revenue on average across the tests. So recompute the ROAS on non-brand traffic only. That number is the campaign’s real performance, and it is the only PMax ROAS I will put in a client report. A campaign that shows 800% overall and 180% on non-brand is a 180% campaign.
The PMax health check agent does this arithmetic for you. Paste the campaign metrics and the brand Search figures before and after launch, and it returns the cannibalisation-adjusted performance with a verdict attached. I built it because the sum is the same on every account and the client always wants to see the working.
2. Channel split
Open the channel split tab. Read where the money went.
For an ecommerce account, most of the spend should sit in Shopping, with Search next. Smarter Ecommerce’s study of 4,000 PMax campaigns found feed-based ads take a median 90% of cost in retail accounts, so if yours shows a third on Display and Video, that is unusual and it is where to look. For lead gen, Search should dominate. On most of the accounts I audit, a large Display or Video share produced almost no conversions.
There is no channel setting to fix this directly, which is the point of the check. The levers are indirect: the asset groups you give it, the audience signals, the URL expansion setting, and whether a brand exclusion is in place. If the split is wrong, the fixes come in checks four and six.
3. Search categories and search themes
Open the search terms tab. PMax groups queries into categories rather than showing you every term, but the categories are enough to find the leaks. The median campaign in my pull had 60 categories, and the single biggest one took 43% of the clicks.
Sort by spend and read the top twenty. You are looking for three things: categories that are plainly not your customer, categories that are your brand name, and categories that are a competitor’s brand name. The first is waste, the second is check one again, and the third is a decision rather than a defect.
Anything in the first group becomes an account-level negative keyword. Search themes are the other side of the same coin: they tell the campaign where to look, and an audit that finds the themes are generic (“marketing software”) rather than specific (“email marketing software for Shopify”) has found why the search categories are generic too.
4. Asset groups and asset performance
Open the asset performance tab. Ignore the Asset Strength label in the interface.
Asset Strength measures whether you have filled every slot: enough headlines, enough images, a video. It does not measure whether any of them work. Across the 147 asset groups in my pull, 95 are rated Average, 19 Good, 12 Excellent and 18 Poor. A label that says the same thing about two thirds of everything is not a measurement.
Read the performance labels instead: low, good and best, per asset. Anything rated low for more than a month is either replaced or removed. Anything the campaign never serves is telling you it does not fit the audience. The asset dump script exports every asset grouped by campaign so you can do this in a sheet rather than clicking through each group.
The other thing to check here is the auto-generated video. If you did not supply one, PMax made one from your images, and it is running on YouTube. Watch it. Then decide whether you want that representing the brand.
5. Product tiers and the waste report
For ecommerce, open the product tiers tab. Every SKU sits in one of four boxes: stars, cash cows, question marks and dogs, by spend and return.
The dogs are products with real spend and no conversions. The waste report tab totals them, by segment, as a dollar figure. That figure is the second number I put in the client report, right after the cannibalisation-adjusted ROAS, because it is the one the client can feel.
The fix is structural rather than a bid: split the feed. Stars and cash cows keep the main campaign. Question marks get their own asset group with a smaller budget and a chance to prove themselves. Dogs get excluded from PMax and go back to a Standard Shopping campaign at a low bid, or get paused. Performance Max against Standard Shopping covers when each one wins, and the answer is usually both, split by product tier.
6. Governance settings
These are the settings Google defaults to the version that spends more. Check each one. The percentages are from my 84 campaigns.
- Final URL expansion. Off, for lead gen. Left on, the campaign sends traffic to any page on the site it decides is relevant, which includes the blog, the careers page and the privacy policy. Half of my 84 campaigns had served at least one expanded URL. For ecommerce it can stay on, with the pages you never want traffic sent to listed as exclusions.
- Location targeting. Presence only. The default of presence or interest leaks budget to people abroad who searched for your city. 40% of the campaigns were on the default.
- A bid target. 54% of the campaigns ran Maximise Conversions or Maximise Conversion Value with no target CPA or ROAS. That is a campaign told to spend the budget and see what happens. Set the target from the Search baseline.
- Brand exclusions. Brand terms excluded from the campaign, so the cannibalisation in check one cannot happen again next month.
- A brand Search campaign at 90% or more impression share. This is the defence that makes the exclusion work. With brand Search defended, PMax has to find traffic that is actually new.
- Auto-applied recommendations. Off. Google can apply its own recommendations automatically , and 32 of the 100 accounts had at least one subscription switched on.
7. Learning period and change history
Open the change history for the campaign and set the range to 90 days.
I expected to find campaigns being reset every week, because that is the failure I was taught to look for. The pull found the opposite. Of 84 campaigns, 41 had zero edits in 28 days, 37 had been touched on one to three days, 6 on four to seven, and none on eight or more. Nobody is fiddling. Half of them have not been opened in a month.
So the check has two halves. If the change history shows weekly budget and bid target changes, the campaign never leaves learning, and the fix is to batch the changes monthly. If it shows nothing for a month, the campaign is running on whatever it learned in its first weeks, and the audit is the first time anyone has looked at where the money went. Both are findings.
While you are in there, check which conversion actions the campaign is optimising to. Primary actions are the ones Smart Bidding optimises to . The median account in my pull has 9 primary actions, and a PMax campaign with nine is optimising to whichever one is easiest.
The verdict: keep, fix or kill
Seven checks produce a lot of findings. The client needs one word. I use four.
Healthy. Passed qualification, cannibalisation-adjusted ROAS beats the Search baseline, channel split makes sense for the business, waste report under a tenth of spend. Leave it alone and audit again next month.
Concerning. Passed qualification, but one or more of checks two to six failed. The campaign has a future once the governance settings and asset groups are fixed. Do the fixes in one batch and give it four weeks.
Underperforming. Cannibalisation-adjusted ROAS is below the Search baseline, and it has been for two months. Cut the budget by half, split the product tiers, defend brand Search, and set a date to decide.
Kill. Failed qualification, or the non-brand performance is below what Search and Shopping do on the same budget. Move the budget back to the campaigns you can see into and revisit when the account passes the five gates.
The health check agent returns one of these four with the arithmetic attached, which is what makes it useful in a client conversation. “Kill” is an easier word to say when the cannibalisation sum is on the same page.
Running it monthly without doing it by hand
The first audit takes an afternoon. The monthly one should take twenty minutes, because the data pull is the slow part and the script does that.
- Run the Insight Engine on the first of the month. The summary tab’s health score and alerts tell you which of the seven checks moved.
- Run the asset dump once a quarter, or whenever a new asset group launches.
- Paste the summary into the health check agent and file the verdict with the date.
- Read the change history for anything that reset the learning period, or for a month of silence.
Google’s scripts documentation covers scheduling, and both scripts can run on a monthly schedule so the sheet is waiting for you. If you manage several accounts, the full audit checklist has the rest of the account, and PMax is one section of it rather than the whole job.
The Performance Max audit checklist
Performance Max audit, to paste into a doc
PMAX AUDIT: [account] campaign: [name] date: [today]
QUALIFICATION (all five, or the verdict is NOT YET)
[ ] Business model: ecom, or lead gen with a sales cycle under 6 months
[ ] Volume: 50+ purchases/mo (ecom) or 30+ qualified leads/mo (lead gen)
[ ] Search + Shopping already profitable
[ ] One primary conversion action that means money
[ ] Budget $5,000+/mo
DATA: Insight Engine sheet dated ______ Asset dump dated ______
1. BRAND CANNIBALISATION
brand share of PMax spend ___% brand share of PMax conv ___% (median in the wild: 14% of clicks)
brand Search IS before launch ___% after ___%
brand Search conv before ___ after ___
reported ROAS ___% NON-BRAND ROAS ___% (this is the real number)
2. CHANNEL SPLIT Shopping ___% Search ___% Display ___% Video ___%
Display + Video conversions: ___
3. SEARCH CATEGORIES top 20 read: Y/N not-a-customer categories: ___ added as negatives: Y/N
search themes specific or generic: ___
4. ASSETS groups rated Excellent with flat performance: ___ assets rated Low over 30 days: ___
auto-generated video watched: Y/N
5. PRODUCT TIERS stars ___ cash cows ___ question marks ___ dogs ___
waste report (zero-conversion spend): $______
6. GOVERNANCE URL expansion: ___ location: presence only Y/N brand exclusions Y/N
target ROAS / CPA set: Y/N brand Search IS ___% auto-apply recommendations OFF Y/N
7. CHANGE HISTORY weeks in learning: ___ edits in last 90 days: ___ days since last edit: ___
primary actions: ___
VERDICT: HEALTHY / CONCERNING / UNDERPERFORMING / KILL
Reason in one line: ____________________________________________ Four mistakes that make a PMax audit worthless
Trusting the overall ROAS. It is the first number in the interface and the last number you should quote. Non-brand ROAS or nothing.
Killing PMax without defending brand Search first. Pause the campaign with no brand campaign in place and the brand traffic it was capturing goes to whoever bids on your name next. Defend, then decide.
Treating Asset Strength as a KPI. Excellent means the slots are full. Sixty-five percent of live asset groups say Average. Check four is the only asset measure that matters.
Auditing a campaign that is being edited weekly. You are measuring a strategy that has never finished learning. Stop the edits, wait four weeks, then audit.
If you would rather have the audit run for you
Want the seven checks on your account?
I run this audit before any contract, free, on read-only access. You get the cannibalisation-adjusted ROAS, the waste figure and the verdict, in plain English, with what I would fix first.
The audit page explains what it covers, or send me the account and I will reply with what I found.
- How do I audit a Performance Max campaign?
- Check qualification first, then pull the data with a script, because the interface hides the channel split and the brand share. Run seven checks in order: brand cannibalisation, channel split, search categories, asset performance, product tiers, governance settings, and the change history. End with one verdict: healthy, concerning, underperforming or kill.
- Why is my Performance Max ROAS so high?
- Usually because the campaign is capturing searches for your own brand that a brand Search campaign was already winning. Across 84 live campaigns I pulled, the median share of clicks on brand categories was 14% and 12 campaigns were over 50%. Compare brand Search impression share and conversions before and after PMax launched, and recompute the ROAS on non-brand traffic only.
- How do I see where Performance Max is spending my money?
- The interface does not show the channel split in a column. A Google Ads script can read it. The PMax Insight Engine on this site exports spend and conversions by channel, brand against non-brand, product tiers, assets, search categories and a waste report into one Google Sheet. Mike Rhodes' free PMax script does the channel split and brand buckets too.
- What settings should I check on a Performance Max campaign?
- Final URL expansion (off for lead gen), location targeting (presence only), a target ROAS or CPA (54% of live campaigns I pulled had none), brand exclusions, a defended brand Search campaign, and auto-applied recommendations switched off. These are the defaults that spend more.
- When should you turn off Performance Max?
- When the account fails qualification (too little conversion volume, no profitable Search baseline, weak tracking, or a budget under about five thousand dollars a month), or when the cannibalisation-adjusted ROAS has been below what Search and Shopping return on the same budget for two months. Defend brand Search before you pause it.
- How often should you audit Performance Max?
- Monthly, in about twenty minutes, once the scripts are scheduled. Half the live campaigns I pulled had not been edited in 28 days, so the monthly audit is often the first time anyone looks. Run the Insight Engine on the first of the month, read the health score, paste the summary into the health check agent, and check the change history.