17xROASandFlatProfit:HowGoogleShoppingAttributionDistortsSKUEconomics
Here's a product row from a real Google Shopping account:
£130.14 cost
£1,435.48 revenue
12.68 conversions
17.53x ROAS
Looks like a hero SKU.
Most agencies would sort by conversions, see 17.5x ROAS, increase budget, push bids. Case closed.
Except here's what that "conversion" actually means.
It means this product advert was clicked. Not that it was purchased.
If a shopper clicks Product A, browses your site, and buys Product B - or buys multiple items - Google credits Product A. Because it tracks the click tied to the product ID.
So this row might be:
- A click magnet
- A lower-priced entry product
- A variant shoppers use to start browsing
- A substitute that drives traffic but not margin
Yet it gets credited with the full basket value.
Now imagine the margin gap.
Product A has 28% margin. Product B, the one actually sold in volume, has 62% margin. If you optimise off this report alone, you start scaling the wrong economic engine.
You increase bids on the thing that attracts clicks. Not the thing that generates profit.
In simple catalogues, this distortion is small. In complex ones, it compounds fast.
In accounts with variants, bundles, substitutes, cross-sell behaviour, and meaningful margin gaps, you end up:
- Scaling low-margin SKUs
- Crowding out budget from real profit drivers
- Telling leadership performance is strong
- Wondering why cash doesn't feel stronger
Google Ads reports ad interaction. Your P&L reports what actually made money.
If you're making SKU-level budget decisions without reconciling clicked product vs purchased product vs contribution margin, you're optimising platform logic, not commercial reality.
And that's how "17x ROAS" turns into flat profit.