The second typical case: an ecommerce site with thousands of SKUs, one "everything" PMax at target ROAS 4 that "works" (actual ROAS 4.3) and a profit that refuses to grow. The rebuild, in steps, towards an architecture that manages by margin rather than by revenue.
Starting point
- 1 PMax with the whole catalogue (5,000 products), target ROAS 4, €25,000 a month; 1 residual standard Shopping campaign (drained by the PMax); a brand Search campaign; 2 countries with one EUR feed for both.
- Conversion value = revenue including VAT; no returns deducted.
- Margins: from 12% (electronics) to 55% (own-brand textiles).
Step 1 · Economic truth (month 1)
- Values excluding VAT; adjustments for returns (by order ID).
- Margin table by category (from finance) →
custom_label_0. - POAS calculated per product from real sales (Shopping Ninja): the finding was that 28% of the spend was going to products with POAS < 1 (low margin, pushed by the PMax because they generated revenue).
- Brand excluded in PMax: PMax's "real" ROAS dropped to 3.4 once it lost the brand searches.
Step 2 · Structure by margin (months 2-3)
SEARCH · Brand 90% share
PMAX · Own-brand textiles (high margin) target ROAS 2.8 (listing group by label)
PMAX · Home (medium margin) target ROAS 4.5
SHOP STD· Electronics (low margin) target ROAS 9 (fine control; branches excluded)
SHOP STD· New products (< 30 days, no data) maximise clicks → loose ROAS after a month
DG · Dynamic catalogue remarketing its own target CPA
Disjoint listing groups: each product in ONE campaign (PMax always wins)
Why: high margin deserves reach (PMax); low margin deserves control and a ROAS that only "self-serve" sales can meet (standard Shopping with branches excluded); new products get their grace period. Migration by label and by week (one family a week), with their own budgets and two weeks of observation.
Step 3 · Dynamic labels and the matrix (months 4-6)
custom_label_1 = performance (star / profitable / neutral / loss / no
data) recalculated every night from POAS with hysteresis; the margin ×
performance matrix moves products between campaigns and targets (module
7 of this level). Effects: 310 loss-making products excluded (via
checkbox) in the first month; 40 medium-margin "star" products moved to
a loose target and grew sales by 35%.
Step 4 · Country feeds and titles (months 6-9)
- A dedicated FR feed (language, EUR with French VAT, FR shipping).
- Titles by template and by each market's vocabulary (the AI lesson in module 7): +45% impressions in the pilot category, with CTR stable.
- Merchant: seller ratings switched on; promotions during the sales.
Step 5 · Prospecting Demand Gen and video (months 9-12)
With buyer lists as the seed, narrow lookalikes and the product feed in Demand Gen: catalogue prospecting at its own CPA, judged on new customers and incrementality (a geo experiment across two regions). It contributed 9% incremental sales at ROAS 3.1 — acceptable at high margin, not at medium: it was confined to textiles.
Before and after (12 months, the same €25,000 spend)
| Before | After | |
|---|---|---|
| Account ROAS (revenue excl. VAT) | 4.3 | 4.1 |
| Account POAS | 1.05 | 1.62 |
| Gross profit generated by Ads / month | ~€26,000 | ~€40,000 |
| Active products with POAS < 1 | ~1,400 | ~120 |
| Campaigns | 3 | 7 + the FR country |
| Catalogue management hours / month | ~20 | ~8 |
ROAS fell and profit rose by 50%: proof that ROAS was the wrong metric.
Mistakes that were avoided
- Moving the whole catalogue in one go (it was done family by family).
- Keeping PMax and standard Shopping on the same products.
- Judging Demand Gen on view-through.
- One feed for two countries.
💡 Ninja trick: Shopping Ninja was the tool for steps 1 and 3 (POAS per product, traffic light, exclusions via checkbox, the performance label exported as a supplemental feed) and Ninja Shield kept the PMax and Demand Gen placements clean throughout. The architecture was designed by a person; it is maintained every night by a script.
What you should remember
- Economic truth first: values excluding VAT, returns, margins, POAS.
- Structure by margin: PMax for high, standard for low, new products with grace, dynamic remarketing; disjoint listing groups.
- Dynamic labels + the matrix move products on their own; country feeds and titles per market.
- ROAS fell and profit rose: the metric was the problem.