Cover reading Audit Performance Max before you trust its ROAS, beside a channel split chart on a dark background

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.

CheckThe question it answersWhere the data isWhat a fail looks like
1. Brand cannibalisationAre these conversions new, or moved?Brand analysis tab, brand Search historyBrand Search fell by what PMax “gained”
2. Channel splitWhere did the money go?Channel split tabA third of spend on Display and Video with no conversions
3. Search categoriesWho does the campaign think you sell to?Search terms tabTop categories are not your customer, or are your own name
4. AssetsDo the assets work, or just fill slots?Asset performance tab”Excellent” strength, flat results
5. Product tiersWhich SKUs spend with no return?Product tiers, waste reportDogs with real spend, zero sales
6. GovernanceWhich defaults are spending for you?Campaign settingsURL expansion on, presence or interest, no brand exclusion
7. Change historyIs anyone home?Change history, 90 daysUntouched 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Summary, with a health score and alerts.
  2. Channel split: Shopping, Search, Display and Video, with spend and conversions for each.
  3. Brand analysis: brand against non-brand performance.
  4. Product tiers: stars, cash cows, question marks and dogs, by SKU.
  5. Asset performance: which creative assets are working.
  6. Search terms: the query categories triggering the campaign.
  7. Audience signals: which audiences convert.
  8. 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.

The seven Performance Max audit checks in order, with the question each one answers and the tab of the export it reads from

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.

What 84 live PMax campaigns have switched on: 54% have no ROAS or CPA target, 50% served an expanded URL, 40% use presence or interest location targeting, 49% were untouched for 28 days

FindingShareWhat it means for the audit
No target ROAS or target CPA set45 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 pick42 of 84 (50%)Traffic went to blog posts and policy pages. Check six.
Location set to presence or interest34 of 84 (40%)The default, and it reaches people abroad. Check six.
Zero edits in the last 28 days41 of 84 (49%)Nobody has opened the campaign in a month. Check seven.
Over 20% of clicks on search categories containing the brand name32 of 84 (38%)The reported ROAS is inflated. Check one.
Over 50% of clicks on brand categories12 of 84 (14%)The campaign is mostly a brand campaign. Check one.
Asset groups rated Average95 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.

How much of PMax is the advertiser's own name: median 14% of clicks on brand categories, 32 of 84 campaigns over 20%, 12 of 84 over 50%, and the single top category takes a median 43% of clicks

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.

–Tyler Horner and Nick Doren, Haus , PMax experiments: including vs excluding branded search terms

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.

Ad Strength across 147 live asset groups: 18 Poor, 95 Average, 19 Good, 12 Excellent, 3 Unknown

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.

Bid strategies across 84 live PMax campaigns: 45 with no target, 27 with a target ROAS, 12 with a target CPA

  • 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.

The four governance settings a Performance Max audit checks first: URL expansion off for lead gen, presence-only locations, brand exclusions, and a defended brand Search campaign

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.

Days with at least one edit per campaign in the last 28 days: 41 campaigns on zero days, 37 on one to three, 6 on four to seven, none on eight or more

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.

  1. 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.
  2. Run the asset dump once a quarter, or whenever a new asset group launches.
  3. Paste the summary into the health check agent and file the verdict with the date.
  4. 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.
Stewart Dunlop

Stewart

CEO