Your ROAS looks good.
So why isn't there any money?
It's the most common conversation we have with founders. The dashboard says 4.2×. The agency deck says “strong month.” The bank balance says otherwise.
Nobody is lying to you. ROAS is doing exactly what it was designed to do: measure revenue per pound of ad spend. The problem is that revenue isn't money. Revenue is what happens before the costs that decide whether you made anything.
Here's where the gap goes, and how to find yours in half an hour.
The maths nobody runs
Take a 4× ROAS on a product with a 30% gross margin. £1 of spend brings in £4 of revenue. The product costs you £2.80 to buy. You've made £1.20 of margin against £1 of spend, before fulfilment, before payment fees, before returns.
Add 12% fulfilment and a 15% return rate and you're underwater. The campaign reports 4×. The campaign loses money. Multiply by twelve months and you've funded Google's growth, not yours.
Break-even ROAS for the example above
Roughly 4.4×. Nobody calculated it, so 4.2× looked like winning. Run your own numbers in the POAS calculator. It takes 30 seconds and it's the single most clarifying thing you'll do this week.
1. Margin mix
Account-level ROAS is a weighted average, and averages hide the leak. Your 60%-margin hero products subsidise the 15%-margin traffic-getters inside the same campaign. Smart Bidding can't tell them apart unless someone feeds it margin data, so it happily buys more of whatever converts cheapest, which is usually the thin-margin stuff.
This is why we assign every SKU one commercial job and bid each job differently. It's the core of our BOI® (Bid On Intent) method.
2. Returns
Google counts the sale at checkout. It never finds out the box came back. In fashion and footwear, return rates of 25–40% mean reported conversion value can overstate real revenue by a third.
If your targets aren't net-of-returns
Your bids are systematically too high on exactly the products that come back most. The campaign rewards the products with the highest hidden cost.
3. Brand cannibalisation
A chunk of your “performance” is sales you'd have got anyway. Performance Max in particular will route spend toward branded searches, the cheapest conversions available, and book them as wins. Your blended ROAS rises. Your incremental profit doesn't.
We've written up the three PMax cannibalisation surfaces and the fixes in How to fix PMax cannibalisation.
4. Discount and promo stacking
The ad gets credit for the £80 order. The 20% welcome code, the free shipping threshold and the bundle discount come out of a margin column nobody reconciles against ad spend.
The promo-month paradox
Promo-heavy months are reliably the months where ROAS looks best and cash looks worst. That's not a coincidence. It's the metric working as designed.
The 30-minute diagnostic
You don't need new software to find the leak. You need one spreadsheet and honest inputs.
Pull your top 20 SKUs by ad spend over the last 90 days. For each: revenue from ads, true unit margin after COGS, fulfilment, payment fees, and your actual return rate for that SKU. Calculate profit per SKU against the spend on it.
Two things happen every time we run this with a new client. A handful of SKUs turn out to fund the entire account. And several “good performers” (fine ROAS, solid volume) turn out to be paying for the privilege of shipping boxes both directions.
The fix isn't pausing the losers
Some thin-margin SKUs earn their place by acquiring customers who come back. The fix is knowing which job each SKU is doing, and bidding to that job, not to a blended average that pretends they're all the same.
What to measure instead
POAS (Profit on Ad Spend) is the same calculation as ROAS with the lie removed: contribution margin divided by spend, instead of revenue divided by spend. A POAS above 1.0× means the ads made money. Below it, they didn't, whatever the ROAS said.
It's not a reporting cosmetic. When margin data flows into bidding, the account starts behaving differently: spend migrates from the products that inflate revenue to the products that generate cash. Across our client base, that shift (not cleverer ad copy, not a new campaign type) is what moves the P&L.
The shift, in our data
Median POAS at handover is 0.9×. Twelve months later, 1.8×.
If you want the fuller comparison, POAS vs MER vs ROAS covers when each one is the right tool.
The uncomfortable question for your next agency call
Ask whoever runs your account: “Which of our SKUs lost money on ads last month?”
If the answer is a list, you're in good hands. If the answer is a blended ROAS figure and a change of subject, you've found your leak, and it isn't in the account.
JudeLuxe runs Google Ads for UK ecommerce brands where the P&L is the scoreboard. If your ROAS and your bank balance are telling different stories, book a Profit Audit: we'll show you the SKU-level truth in 5–7 days, whether or not we work together.