What you'll learn in this article
- Why my whole pmax product group strategy starts from one question where does the money actually come from rather than from the catalog tree Google hands you
- How I segment the feed with custom labels so performance max product groups map to bestsellers, margin bands and dead weight instead of arbitrary categories
- The reasoning behind each listing group split: what earns its own group, what stays folded in, and why "all products" is almost never where I stop
- How I use exclusions to stop budget bleeding into products that will never convert, and why that is half the strategy
- The default listing group shape I reach for on a new account, and how I let the data not a diagram decide when to subdivide further
The pmax product group strategy I actually use has almost nothing to do with the neat category tree Google shows you when you open the listing groups panel. It starts from a much blunter question: in this catalog, where does the revenue really come from, and where is spend quietly leaking into products that will never pay it back? Every listing group I build is an answer to that question. I have inherited enough accounts sitting on the default "All products" node one undifferentiated bucket, budget spraying evenly across five thousand SKUs to know that this single setting is where most Performance Max e-commerce money goes to die.
So this is not the theory of listing groups. It is the reasoning I run through when I open a real feed: how I decide what deserves its own group, what I collapse together, and what I cut out entirely. The mechanics live inside the asset group, but the logic lives in the feed and in the numbers, and if you want the ground-level view of what this campaign type even hands to automation first, my piece on what Performance Max is is the backdrop I'm assuming throughout.
The principle: product groups are budget routing, not tidiness
Here is the thing I wish more people internalised before touching a listing group: performance max product groups don't change how well an individual product performs they change how the budget gets distributed across products, and which ones the algorithm is even allowed to spend on. That reframing decides everything downstream. When I subdivide, I am not organising a catalog for my own comfort; I am telling the campaign which slices of the feed to concentrate money on and which to starve.
Because bidding sits at the campaign level in Performance Max, a single listing group tree inside one asset group can't set different ROAS targets per slice on its own that split has to happen at the campaign boundary. What the listing group tree can do, and what I lean on hard, is inclusion and exclusion: deciding which products are in the auction at all, and which are cut. A well-built pmax product group strategy is therefore mostly two moves repeated promote the products that earn, exclude the ones that only spend. Everything else is decoration, and in this campaign type decoration is expensive because it fragments the very conversion data the algorithm needs. This is the same signal-density logic that governs the wider Performance Max campaign structure for ecommerce product groups are just where it plays out at the feed level.
How I actually segment the catalog
When I sit down with a feed, I segment along the axes that change what a good outcome means not the ones that merely look organised. Google lets you subdivide listing groups by category, brand, item ID, condition, product type, channel and custom label, and each attribute is available because it maps to a real product attribute in Merchant Center. But the fact that an attribute exists doesn't mean it earns a split. Most don't.
What I split, and why
The first axis I care about is proven performance. Products that already convert reliably get pulled out of the general pool so I can see them, protect their budget, and stop them competing for spend against thousands of SKUs that have never produced a sale. The second axis is margin: a product that converts at a healthy value but a thin margin is not the same "win" as one that converts at the same value with three times the margin, and the campaign is completely blind to that difference unless I encode it into the feed. The third and it is more important than people expect is the dead weight: the long tail of SKUs that draw impressions and clicks but effectively never convert. That tail is a candidate for exclusion, not a group to nurture.
Notice what is missing from that list: I rarely split simply "by category" for its own sake. Category-level subdivision keeps creative coherent at the asset-group level, and it's the right tool there, but as a budget-routing lever it's crude a category contains bestsellers and dogs side by side, so splitting by it alone doesn't separate the products that earn from the ones that drain. That's why I treat catalog segmentation and asset group structure as two different problems solved with two different tools.
Custom labels are the backbone of the whole strategy
Everything above is only practical because of custom labels. Google's own guidance is blunt about this: it recommends using custom labels to group items and then targeting those labels in listing groups, and it explicitly warns that a large number of listing groups north of a thousand in a single asset group is not a best practice and can hurt performance, as documented in Google's help page on managing Performance Max campaigns with listing groups. You get five custom label slots, and how you spend them is, functionally, your entire pmax product group strategy.
The way I use those five slots is deliberate. One label almost always encodes a performance tier something like bestseller, steady, and tail computed from actual conversion history rather than gut feel. Another encodes a margin band, so I can route thin-margin ranges into their own campaign under a stricter target when the numbers justify it. I'll spend a third on seasonality or a hero-launch flag when the catalog has a strong seasonal shape. The point is that these labels turn a chaotic five-thousand-SKU feed into a handful of clean, meaningful performance max product groups I can actually reason about a bestseller group I feed, a tail group I watch or exclude, a thin-margin group I fence off. Building those labels correctly is a feed job, and it's the point where good product feed optimisation stops being about disapprovals and starts being about strategy.
The reasoning behind each listing group
This is the part I care about most, because it's what separates a strategy from a checklist. Every listing group in my accounts has a one-sentence justification, and if I can't state it, the group shouldn't exist.
The bestseller group exists so my proven earners have protected visibility and aren't drowned out by the tail its job is to keep the budget flowing to what already works. The margin-band group exists only when margins diverge enough that one blended target would quietly fund the wrong products; if the catalog is roughly uniform on margin, I don't build it, because a split with no different economics behind it is pure fragmentation. The excluded tail exists because those SKUs were provably burning budget without returning conversions, and cutting them concentrates the remaining spend where it can compound. Each of those is a defensible reason tied to money, not tidiness.
What I refuse to do is the mirror image of the "All products" mistake: over-subdividing into dozens of tiny listing groups that each see a handful of conversions. That shatters the signal every bit as badly as leaving everything in one bucket, and it's why Google caps and cautions against sprawling group counts. The honest test I apply to every subdivision is the same one I use across the account: does this group get a different budget priority, a different target, or an exclusion decision? If the answer is no, it collapses back into the parent. Reading whether the split is actually working then becomes a reporting discipline which segments earn their spend and which quietly bleed and how you route conversion value back to the machine through audience signals is part of the same feedback loop that makes these groups optimise well.
The default structure I start from
Because the right answer always depends on the catalog and the conversion volume, I work from a default I deviate from rather than a blank tree. On a fresh account I usually start closer to consolidated than people expect: the full catalog in play, with the tail's worst offenders excluded on day one if the historical data already flags them, and a single custom-label subdivision separating proven bestsellers from everything else so the campaign has a clear "spend here first" signal. That's often the whole listing group map at launch.
From there, deviation is earned, not assumed. A margin-band split goes in only once I can point to the spread that justifies it. A seasonal group goes in only when the season is close enough to matter. And a category-level subdivision goes in at the asset-group level for creative coherence, not as a budget lever. The budget itself is the other half of this a product group strategy that concentrates spend correctly is wasted if the campaign is starved or over-capped, which is why I design segmentation and Performance Max budget together rather than in sequence.
None of this is exotic. The discipline is simply refusing to let a tidy-looking tree cost you data or bury your earners, and making every listing group prove in money that it deserves to exist. Get that ordering right and the product group strategy mostly takes care of itself.