Performance Max is the campaign type people either swear by or quietly blame. It is a black box, it cannibalises your brand traffic, it spends your budget in places you cannot see. All of those complaints are fair, and none of them are the actual problem.
Across four ecommerce brands, P-Max sat at the centre of campaigns that produced roughly £3.8M in tracked sales:
| Brand | Sales | ROAS | Orders |
|---|---|---|---|
| Zonky | £1,578,018 | 9.59x | D2C Shopify |
| Gardenista | £944,477 | 7.65 | 14,084+ |
| Game Over | £704,477 | 4.59x | 10,124+ |
| Ready Steady Bed | £671,750 | Aggregated | 15,043+ |
Same campaign type, four very different ROAS figures. The spread is the interesting part, and it has almost nothing to do with bidding.
P-Max is a campaign wearing a costume
The single biggest determinant of P-Max performance on an ecommerce account is the quality of the product feed. Google is going to make matching decisions on your behalf either way. The only real leverage you have is the quality of the information it makes them with.
Things that consistently moved the numbers:
- Titles written for search, not for the website. Your product page can call it "The Aurora". The feed title needs the category, the material, the size and the colour, because that is what people type.
- Every optional attribute filled. GTIN, brand, condition, colour, size, age group, material. Blank attributes narrow where you can show.
- Custom labels that mean something. Margin band, seasonality, bestseller status. Without these you cannot segment asset groups by anything commercially meaningful.
- Ruthless exclusion. Out of stock, low margin, poor review scores. They will absorb budget in an automated campaign precisely because the algorithm cannot see that you do not want the sale.
If a product cannot be described properly in the feed, it will not be advertised properly by P-Max. Fixing feed quality is usually worth more than any bid strategy change you are considering.
Structure by , not by category
The instinct is to build asset groups that mirror site navigation. It feels tidy and it produces bad results, because a category contains products with wildly different economics and a single ROAS target applied across them optimises for the cheap, easy conversions.
Grouping by commercial reality works better. High-margin hero products get their own asset group and an aggressive target. Volume drivers get a separate one. Long tail gets a third, with a target that reflects the fact you are buying incremental revenue, not flagship profit. On Gardenista this is also where bundles earned their place: they lifted average order value, which meant the same click could clear a higher ROAS target without touching the bid.
Conversion data is the
Smart bidding is only ever as good as the signal you hand it. Three fixes that matter more than they sound:
- Send real values, not static ones. A campaign optimising to a flat conversion value is optimising to volume with extra steps.
- Report profit where you can. Passing margin rather than revenue changes which products the system chases.
- Exclude what you do not want more of. Returns, cancellations and fraud all get counted as success unless you tell Google otherwise.
P-Max does not work
On every one of these accounts, P-Max was the engine and something else was the fuel. On Game Over it was creator campaigns and Instagram building the branded demand that P-Max then harvested efficiently. On Ready Steady Bed it was Amazon and TikTok Shop presence making the brand look established wherever a shopper happened to land.
This is worth being honest about, because it is where P-Max ROAS reporting gets flattering. A campaign that converts demand someone else created will always look more efficient than the activity that created it. Judge the account, not the campaign.
The short
- Fix the feed before you touch anything else.
- Build asset groups around margin, not menu structure.
- Feed real conversion values, and exclude outcomes you do not want repeated.
- Keep a demand-generation channel running, or P-Max eventually runs out of people to convert.
- Read blended account ROAS, not campaign ROAS, before declaring victory.
Zonky — Precision Google Ads and influencer seeding scaled Zonky to £1,578,018 in D2C sales at a 9.59x ROAS.
Read the full Zonky case study