In short: "All products" with a single bid is the structure that loses the most money: the cheap product eats the expensive one's budget and your brand pays the same as generic searches. Subdivide by different economics — above all by a margin label —, use campaign priority to decide who gets in, and always watch the "Everything else" branch.
A freshly created Shopping campaign has a single group, "All products", with a single bid. It is the structure that loses the most money: the cheap, low-margin product eats the budget of the expensive one, and searches for your brand pay the same as generic ones. This lesson builds the structure that separates what deserves different bids.
How do you subdivide the catalogue into product groups?
Inside a Shopping ad group, the catalogue is subdivided into a tree by feed attributes:
| Subdivision criterion | What for |
|---|---|
Category (google_product_category) or product type (product_type) |
Bidding differently by family (running shoes vs accessories) |
| Brand | Own brands vs distributed ones; brands with different margins |
Custom labels (custom_label_0..4) |
Whatever you want: high/medium/low margin, season, best sellers, stock, new arrivals |
| Item ID | A specific product (hero products, clearance) |
| Condition / channel | New vs refurbished; online vs local |
Each leaf of the tree has its own bid (manual) or inherits the strategy's target (Smart Bidding), and any leaf can be excluded (not advertised). Rule: subdivide by what has different economics, not by taste; five or six well-thought-out groups beat fifty.
Custom labels are the key tool: you fill them in the feed (or with
rules, module 6) with the criterion the business knows and Google does
not — the margin. custom_label_0 = high_margin / medium / low is the
most profitable subdivision that exists.
What is campaign priority for in Shopping?
When several campaigns advertise the same product, the priority (high / medium / low) decides which one enters the auction: always the highest-priority one that still has budget, regardless of the bid. It looks like a technical detail and it is the basis of the architecture by intent.
What is the classic three-tier Shopping structure?
The idea: the same product listing can show for «running shoes» (generic, converts poorly), «nike pegasus running shoes» (specific product, converts well) or «nike pegasus shop X» (brand, converts enormously). With one campaign you pay the same for all three. With three campaigns and priorities + negatives, each intent pays its own way:
| Campaign | Priority | Negatives | What it captures | Bid/target |
|---|---|---|---|---|
| Generic | High | Product/model names + your brand | Generic searches («running shoes») | Low / demanding ROAS |
| Product | Medium | Your brand | Searches with the product's model/brand («nike pegasus 41») | Medium |
| Brand | Low | None | Searches with your brand | High / relaxed ROAS |
How it flows: a generic search enters the High campaign (it is not negativised there). A search with a model is negativised in High → it drops to Medium. A search with your brand is negativised in High and Medium → it drops to Low, where you pay what it is worth. Priority directs; negatives filter. Maintenance: the negative lists for High and Medium are fed from the search terms report (lesson 3).
Does that structure still hold with Smart Bidding?
Yes, with caveats. Target ROAS already bids differently per search depending on the probability of conversion; but the architecture by intent still delivers separate reporting (you know what brand sells and what generic sells), different targets per intent and brand protection. The simplified 2026 version: two campaigns (brand / the rest) with priorities and negatives, each with its own target ROAS.
Which Shopping structures fail?
- Everything in one group with one bid: the starting mistake.
- One group per product in large catalogues: unmanageable and with no data per group.
- Subdividing by attributes with no economic difference (colour, size).
- Priorities without negatives: priority alone does not separate intents, it only decides which campaign spends first.
- Forgetting the products with no category in the tree: the "Everything else" branch must have a deliberate bid or exclusion.
💡 Ninja trick: the margin label is what makes it possible to judge Shopping by profit rather than by revenue. The Shopping Ninja reads the margin
custom_label(or a margin table in its spreadsheet) and calculates POAS (return on profit) as well as ROAS per product: a product with a ROAS of 4 and a 15 % margin is running at a loss, and the script flags it red. Without the label, that truth does not exist.
What you should remember
- Subdivide by different economics: category, brand and above all the margin label.
- Priority decides which campaign enters (ignoring the bid); negatives filter the intent.
- Three-tier architecture: generic (high) → product (medium) → brand (low); in 2026, at least brand / the rest.
- Check the "Everything else" branch.