Champion
Strong revenue drivers with healthy return on ad spend.
Recommended action: Scale aggressively. Promote into Performance Max top-tier.
Sync Google Ads metrics back into your feed and auto-label every product as a Champion, Contender, Underperformer or Zombie. Route only the winners into your top campaigns. Cap the zombies. Reclaim the budget.
AM90-WHT-42
Air Max 90 · White / Grey
AM90-BLK-44
Air Max 90 · Triple Black
DUNK-LOW-WHT
Dunk Low · White / Black
PG4-OBS-43
Pegasus 40 · Obsidian / Mint
BLZ-MID-77
Blazer Mid '77 · White
CTAS-LO-NVY
Chuck Taylor All Star · Navy
+0%
ROAS uplift
Champion-only campaigns
−0%
wasted spend
zombies capped
0 labels
auto-assigned daily
from Google Ads metrics
0-day
lookback windows
7 / 30 / 60 / 90 day
Used by feed teams at ambitious brands and agencies
The 80/20
Twenty percent of your SKUs drive eighty percent of revenue. The rest drink budget at the same bid level, dragging average ROAS down across the campaign.
Performance Max blindness
PMax learns at the campaign level. Without product-level signals it spreads spend evenly across SKUs that perform very unevenly.
Zombies
Products that get clicked but never convert. They keep eating impressions because Google sees the engagement and keeps serving them.
What the labeliser does about it
Label every product by performance. Route bids by label. Daily.
The labeliser pulls clicks, conversions, cost, and conversion value per SKU from Google Ads, computes ROAS over a window you choose, and writes a label to one of your five custom_label fields. Your campaigns segment on those labels and bid accordingly. Re-runs daily so winners stay winners and zombies don't sneak back.
Default thresholds are tuned to what works for most ecommerce shops on Google Shopping. Override them per brand. The label that wins is the highest-priority one a product qualifies for.
Strong revenue drivers with healthy return on ad spend.
Recommended action: Scale aggressively. Promote into Performance Max top-tier.
Reliable contributors worth scaling next.
Recommended action: Grow with caution. Mid-tier bidding, monitor weekly.
Spending real money for weak return. Cap or pause.
Recommended action: Cap bid or pause. Send the title back to Product Optimisation.
Traffic with zero conversions. Drain on impression share.
Recommended action: Exclude from campaign. Investigate why they don't convert.
End to end in under five minutes. After the first sync the labeliser runs on its own every night, so your campaigns always see today's performance, not last quarter's.
Authorise the connection in two clicks. Pick the Ads account that runs your shopping campaigns.
7, 30, 60 or 90 days. Shorter windows catch trends fast, longer windows give stable labels for volatile catalogues.
Defaults work for most. Override per brand: maybe your AOV makes 2x ROAS the new floor for Champions.
The labeliser writes to custom_label_0 by default. Campaigns segment on it. Re-syncs nightly so labels stay current.
What follows is what we set out of the box. Edit any threshold per brand. The labeliser re-runs the moment you save, so you see the impact on tonight's segmentation.
Zombie threshold also requires 1,000+ impressions to avoid mislabelling low-traffic products.
+31%
tROAS on Champion tier
Build a Performance Max asset group filtered to custom_label_0=champion. Set the ROAS target to the level only your winners can hit. Watch tROAS climb without losing volume.
−42%
wasted spend
Add a campaign-level negative for custom_label_0=zombie. Spend that was going on dead-end SKUs gets reallocated to Champions and Contenders the same day.
3 tiers
from one labeliser run
Three campaigns, three label filters: Champions at tROAS 5.0, Contenders at 3.0, everything else at 2.0. Google's bidding learns faster when each campaign is internally homogeneous.
Connect Google Ads, pick a lookback, run a sync. Your campaigns will know which SKUs are worth bidding harder on by tomorrow morning.
Have a question first?
Pricing edge cases, migrations, multi-brand setups. We'll answer in your inbox, not in a queue.
Get in touch