Google Shopping

National Workwear Retailer

A structural audit revealed 89% of the budget was running through broken ad groups and 478,000 negative keywords were blocking the retailer's own best-sellers. The fix wasn't more spend — it was stopping spend on what wasn't working. Two months later: ad spend down 19.7% year-on-year, ROAS up 6.4%, revenue stable.

89%
of Budget in Broken Ad Groups
−19.7%
Ad Spend vs Prior Year
3.82x
ROAS at Month 2 (vs 3.59x Prior Year)

Decent revenue. Hidden structural waste.

This national workwear retailer had been running Google Shopping for years across a large catalogue — hundreds of product variants, multiple supplier brands, and dozens of active ad groups. Revenue was consistent but efficiency had plateaued. ROAS was hovering around 3–3.5x and budget increases weren't delivering proportional returns.

The instinct in these situations is usually to adjust bids or test new creative. But the data pointed somewhere else. When the Shopping campaigns were audited at the ad group level, the scale of the structural problem became clear: the account was effectively working against itself.

The most striking find: a Shopping campaign where $6,499 of $7,274 in total spend — 89.3% — was flowing through ad groups that were structurally broken. Five had no-index products incorrectly included. Seven were missing product subdivisions entirely. And layered across the whole account were 478,149 ad-group-level exact match negative keywords — added over the years to reduce irrelevant traffic — of which 62.7% contained terms the retailer's own best-selling products showed up for. The campaigns were blocking themselves.

What we found

478,149 negative keywords audited. 62.7% were blocking the retailer's own best-selling products from appearing in search results. The campaigns had been optimised into irrelevance, one negative at a time.

Fix the structure. Then let the budget work.

The priority wasn't spending more or changing bids — it was removing the structural barriers that were suppressing what the campaigns could already do.

1

Shopping Campaign Structural Audit

Audited every ad group across all Shopping campaigns at the product level. Identified the 12 broken ad groups consuming 89%+ of spend — corrected no-index inclusion errors and rebuilt missing product group subdivisions using custom_attribute0 segmentation.

2

Negative Keyword Purge

Reviewed all 478,149 ad-group-level exact match negatives. Removed every negative that contained a term matching the retailer's own products — stopping the campaigns from suppressing their own relevant traffic. Kept only legitimate exclusions (competitor brands, irrelevant categories).

3

Dynamic Product Performance Structure

Built new campaigns using a dynamic product performance framework — segmenting SKUs by velocity and margin using custom_attribute0 labels. High-performing products were separated into priority campaigns with tighter ROAS targets; slow-moving or low-margin inventory was isolated to reduce wasted spend. New campaigns generated $30,740 in the first month at 3.08–3.22x ROAS with no ramp-up.

4

Performance-Weighted Bid Strategy

Applied target ROAS settings calibrated to each campaign's performance profile — moving from flat Max Conversion Value to tROAS targets that directed budget toward higher-returning segments. Eliminated spend on product groups with persistent zero-conversion signals.

Structural fixes. Immediate results.

The account was already generating demand — removing the structural barriers let more of that demand convert efficiently. Within the first month after the audit, new cleanly-built campaigns generated $30,740 in revenue at 3.08–3.22x ROAS, with no ramp-up period.

The clearest signal came from DSA campaigns: after the negative keyword purge, revenue grew from $1,428 to $5,588 in a single month — a 291% increase — without touching bids or budgets. The traffic had always been there; the campaigns were simply blocking themselves from reaching it.

DSA Campaign Revenue (1 Month)
$1,428 $5,588
+291% after negative purge
No bid changes — just removing the blockers
New Campaign Revenue (Month 1)
$0 $30,740
From audit → launch in weeks
Shopping (All Products) + AS Colour brand split
New Campaign ROAS
3.1–3.2x
Strong from day one
Clean structure = no wasted learning period
Performance Max ROAS
1.75x 3.57x
+103% improvement
No-index product exclusion + bid recalibration
Campaign-level results (Feb 2026)
Where the revenue came from after structural fixes.
CampaignRevenueROASNotes
Brand Search$25,84643.6x99% impression share
Shopping — All Products$24,2863.08xNew campaign, immediate results
Shopping — AS Colour$6,4543.22xNew campaign, brand-segmented
DSA Campaigns$5,588+291% after negative purge
Performance Max (No-Index)varies3.57x+103% ROAS improvement vs prior period

Doing more with less.

The goal was never to spend more — it was to stop spending on what wasn't working. Campaigns running on no-index and under-index products were consolidated or paused. The budget that remained was directed toward SKUs with proven conversion signals. The account went from 12 campaigns to 8.

Month-on-month, revenue continued to grow. The more important comparison is year-on-year: the account is spending 19.7% less than the same period the prior year, generating revenue at a higher ROAS, with average order value up 17.9% — driven by the shift in Shopping visibility toward higher-margin, over-index products.

Ad Spend — Year on Year
$49,208 $39,493
−19.7% YoY
Eliminated spend on non-converting product groups
ROAS — Year on Year
3.59x 3.82x
+6.4% YoY
Less spend, better returns — tighter structure
Average Order Value — Year on Year
~$158 $186.72
+17.9% YoY — 12-month high
Higher-value products gaining visibility in Shopping
Campaign Consolidation
12 8
Fewer, better-targeted campaigns
Non-converting product campaigns paused or merged
Month-on-month (Jan → Feb 2026)
Revenue growing while efficiency holds above the 3.25x target.
MetricJanuary 2026February 2026Change
Revenue$141,089$150,838+6.9%
Spend$35,399$39,493+11.6%
ROAS3.99x3.82xAbove 3.25× target
Conversions818808−1.2%
Avg Order Value$172.49$186.72+8.3%

Structural problems don't respond to bid changes.

When 89% of your Shopping budget is running through the wrong product groups and your negative keywords are filtering out your own best-sellers, you're not in an optimisation problem — you're in a structural one. No amount of bid adjustment or budget increase will fix a campaign that's actively blocking itself from converting.

The fix wasn't more spend. It was a thorough audit, a purge of years of accumulated bad negatives, and a clean rebuild using dynamic product performance segmentation — separating high-velocity, high-margin SKUs from slow-moving and non-converting inventory, then stopping budget from following the latter. The account went from 12 campaigns to 8. Spend dropped 19.7% year-on-year. Revenue stabilised and kept growing. ROAS improved. Average order value hit a 12-month high.

Doing more with less isn't a slogan — it's what happens when the budget stops chasing products that don't convert.

Ready to Find What's Costing You?

The Gap Analysis identifies exactly where your budget is going to waste — and which products are worth spending on.