← Blog
Google Ads Shopping & PMax

Performance Max for Shopify Brands: How to Structure It Properly

August 18, 2026 · JB Marketing Team · 9 min read

Performance Max gets blamed for a lot of things that aren’t its fault.

An account stalls, spend drifts to placements nobody chose, and the conclusion is that PMax is a black box that eats budget. Sometimes that’s true. Far more often, in the accounts we inherit, Performance Max was handed the entire catalogue in a single campaign with one asset group, no brand exclusions, and a feed full of templated product titles, and then judged on the result.

That isn’t a Performance Max problem. That’s a structure problem wearing a Performance Max costume.

This article covers what Performance Max actually is, why the single-campaign default underperforms for a Shopify catalogue, how to split it properly, how it differs from Standard Shopping, and what it needs from your Merchant Center feed before any of the above matters. The examples come from accounts we run.

What is Performance Max?

Performance Max is a Google Ads campaign type that serves across every Google surface from one campaign: Search, Shopping, YouTube, Display, Discover, Gmail, and Maps. You supply conversion goals, a budget, a product feed, and creative assets. Google’s automation handles bidding, targeting, and placement allocation.

The trade is explicit. You give up granular control over where ads appear, and in return the system optimises across surfaces faster than a human managing six separate campaigns could. For a Shopify D2C brand with a decent catalogue and clean conversion data, that trade is usually worth taking.

The catch is in the last clause. Performance Max amplifies whatever inputs you give it. Good structure and a healthy feed, and the automation compounds. Bad inputs, and it compounds those instead, quickly and expensively.

Why one Performance Max campaign with your whole catalogue underperforms

The default setup is one Performance Max campaign, one asset group, every product. It’s what the interface nudges you toward and it’s what most accounts run.

Here’s what goes wrong with it.

Your margins aren’t uniform, but your target is. A single campaign carries a single target ROAS. If your catalogue spans a 70% margin hero product and a 25% margin accessory, one number cannot be right for both. Set the target for the hero and you starve the accessory; set it for the accessory and you overspend on the hero. Break-even ROAS is a per-product-economics question, not a per-account one.

Budget flows to whatever converts easiest, which is usually your own brand. Without brand exclusions, Performance Max will happily buy traffic from people already searching your name. Those conversions were coming anyway. The campaign reports a strong ROAS, the account looks healthy, and no new demand has been created.

You lose the ability to diagnose. One campaign holding 400 products gives you one row of data. When performance dips you can’t tell whether a product line died, a region softened, or a feed error took half the catalogue out of the auction.

We saw exactly this on a UK sports brand account. The numbers looked fine on a dashboard: strong ROAS, no obvious errors. Broken down, it was almost entirely brand traffic, harvesting demand that Meta had already created. Building a properly split non-brand engine took spend from £340 a month to over £21,000, and the account cleared break-even in 9 months out of 9.

How to structure Performance Max for a Shopify catalogue

The principle is simple: a Performance Max campaign should contain products that deserve the same target and the same story. Split wherever that stops being true.

Split by margin band, not just product type

This is the split most accounts miss. Product type is the obvious axis and it’s often the wrong one. Two categories can share a margin profile, and one category can contain both your best and worst contribution products.

Group products by what they can afford to pay for a customer. High-margin lines get an aggressive target and room to spend; thin-margin lines get a tighter one. In Shopify, custom labels in the product feed are how you express this, and it’s worth the afternoon it takes to set up.

Split by region where the economics differ

If you ship to the UK, US, and EU, those are three different businesses. Different shipping costs, different return rates, different competitive density, often different AOV. Running them in one campaign averages three sets of economics into a single target that fits none of them.

This was the change that moved the needle most on an Australian jewellery account: restructured by product and region after the tracking was fixed, it produced A$331,092 in tracked revenue at 3.0x blended ROAS against a 1.3x break-even, above break-even in every month including one lost to a stock shortage.

Set brand exclusions, always

Add your brand terms as account-level negative keywords applied to Performance Max. Without this, you are paying to re-acquire customers who already typed your name into Google.

Expect reported ROAS to fall when you do this. That is the point. The number was flattered before; now it reflects demand you actually created. If the campaign is judged on the inflated figure, nobody will ever agree to fix it.

Performance Max vs Standard Shopping

These get framed as competitors. They’re better understood as different tools with different failure modes.

Standard Shopping gives you control. You see search terms, you can bid by product group, you can exclude precisely. It serves on Shopping and Search only. When you need to understand exactly what is happening, it tells you.

Performance Max gives you reach and automation across every surface, and generally finds volume that Standard Shopping cannot. What it gives back in return is visibility.

Note that when both target the same products, Performance Max takes priority in the auction. So running them side by side on an identical catalogue isn’t a test, it’s PMax with a Standard Shopping campaign that rarely gets a look in.

In practice, for most Shopify brands at $2–5M, we run Performance Max as the primary engine and use Standard Shopping deliberately: for a product line that needs tight control, for diagnosing what PMax is actually matching, or for a category where the automation has repeatedly misjudged intent. The split is decided by what the data supports, not by a rule.

What Performance Max needs from your Merchant Center feed

Everything above assumes the feed is sound. It usually isn’t.

Performance Max reads your product data to decide which queries each item is eligible for. There are no keywords to compensate with. The feed is the targeting layer, which makes feed quality the ceiling on everything the campaign can achieve.

Bad feeds lose before campaigns even launch.

The failure we see most often on Shopify: forty colourways of one product, each carrying the same templated title from the theme. Google reads forty near-identical items, matches them to the same narrow set of queries, and they compete against each other while the long tail goes unserved. We wrote up that specific mechanic in our guide to Shopping feed optimisation for product variants.

Before restructuring campaigns, check the inputs. You can score your feed against 40 checks in about 15 seconds, free, and it will tell you whether titles, identifiers, or variant structure are the thing actually holding the account back.

How to read Performance Max reporting honestly

Three habits worth building.

Judge it on incrementality, not reported ROAS. With brand traffic excluded, a Performance Max campaign at 3.5x is often creating more profit than the same campaign at 7x was while quietly buying your own brand terms.

Use the asset group and listing group reports. Channel-level PMax reporting is thin by design, but product-level performance is visible if you go looking. If you have split by margin band and region, this is where that work pays off.

Measure against break-even, not against last month. A campaign improving month on month can still be unprofitable, and a campaign that dipped can still be comfortably above water. You can work out your break-even ROAS in a couple of minutes; without it, every PMax number is a ratio without a reference point.

The takeaways

Performance Max is neither a black box nor a magic button. It is an amplifier, and what it amplifies is your structure and your feed.

  • One campaign for the whole catalogue is the default, and it’s wrong for any brand whose products have meaningfully different margins.
  • Split by margin band and region, using custom labels in the feed. Product type alone is the wrong axis.
  • Always exclude brand terms. Reported ROAS will fall and actual profit will rise. Prepare whoever reads the report for that.
  • Performance Max beats Standard Shopping in the auction when both target the same products, so running them in parallel isn’t a test.
  • The feed is the targeting layer. Fix it before restructuring campaigns, because campaign structure can’t compensate for product data Google can’t match.

If your Performance Max campaigns have stalled and you suspect the reason isn’t the campaign type, it usually isn’t. Start with the feed, then the structure, then the targets, in that order. You can read more about how we manage Shopping and PMax for Shopify brands, or see the results from other brands we’ve done this for.

Want your PMax structure looked at?

We only work with Shopify D2C brands. No SaaS, no lead gen, no local services. If that's you, we'll audit your feed and campaign structure free, and you keep the findings either way.