The ROAS in your ads manager is not the ROAS in your bank account
Subramanyam 5 min read
Every ads conversation I have starts in the same place. Someone opens Meta Ads Manager, points at a number next to the word ROAS, and asks whether it's good.
It's the wrong question, and I've stopped pretending otherwise.
What most people think
The belief is simple enough: the platform reports revenue against spend, so that ratio tells you whether the money is working. A 4x is better than a 2x. Scale the 4x, kill the 2x.
If that were true, running Facebook and Google Ads would mostly be arithmetic. Most people I speak to have already worked out that it isn't, but they don't have a replacement — so they keep steering by the number they've got.
What actually happens
The platform is not lying to you. It's answering a narrower question than the one you're asking.
Meta counts a conversion when someone saw or clicked an ad inside its attribution window and later bought. Google counts the same purchase if it also touched a campaign. Both can be right at once, which is why the two dashboards added together often claim more revenue than the business actually made.
Then the things the platform can't see:
- Returns. Footwear and apparel take a real hit here. Revenue at checkout is not revenue kept, and the ads manager never finds out.
- Margin differences between products. Two campaigns at the same ROAS can contribute very different amounts, because the products underneath them don't earn the same.
- Delivery, payment fees, discounts. All real, all invisible in the ratio.
- People who would have bought anyway. Retargeting a warm cart is the clearest case — the sale gets attributed, but it isn't obviously incremental.
So you end up with a number that is internally consistent and still doesn't answer whether the spend made you money.
Why the gap exists
Attribution is built to justify the channel. That isn't a conspiracy, it's just what the tool is for. Meta's job is to show you Meta's contribution; Google's is to show you Google's. Neither has a view of your margin, your return rate, or each other.
The gap isn't a reporting bug. It's the difference between a channel's view and a business's view, and no amount of tightening the attribution window closes it.
What I do instead
Judge on contribution margin, not platform ROAS. The question I try to answer is: after cost of goods, returns, fees and ad spend, did this campaign leave money behind? That number usually lives in the client's own sheet, not in any ads manager, and getting to it is often the first real piece of work in an engagement. It's less flattering than a dashboard. It's also the only version that survives contact with the P&L.
Structure around cohorts, not campaign types. Grouping by "prospecting / retargeting / brand" tells you how the account is organised, not who is worth buying. I'd rather split by something the business recognises — product line, first-time versus repeat, city, price band — because those are the cuts where the margin actually differs. When a cohort turns out to be unprofitable, that's a decision you can act on. "Retargeting is at 6x" is not.
Treat creative as the targeting. This is the part I'm most confident about, because it's where I see the biggest swings. Once the account structure is sane, the lever that keeps moving is the creative. Not polish — angle. A different hook against the same audience behaves like a different audience.
That's why I keep a testing cadence rather than a testing project: a small number of fresh angles in market every week, most of which won't work. On the Shoe Plaza work, the useful spread wasn't one perfect ad — it was having UGC-style pieces and a cinematic brand film covering different jobs in the funnel.
Write in the language people actually use. In Chennai this is not a detail. A message that lands in Tamil or Tanglish is not the same message translated — the phrasing, the humour and the reference points change. I've written scripts and voiceovers across English, Tamil and Tanglish for Mona Poly Pack's Reels for exactly this reason, and I'd apply the same thinking to paid. Pretending one national English message covers a South Indian audience is how good budgets get spent politely.
Where this stops working
I'd rather be clear about the limits than oversell the method.
- Very low volume. If an account is doing a handful of orders a week, cohort splits fragment into noise. At that stage the honest answer is fewer campaigns, wider targeting, and patience.
- No clean cost data. If nobody can tell me the real margin on a product, contribution-margin thinking becomes guesswork wearing a better label. Then the first job is measurement, not media buying.
- Long consideration cycles. For B2B or high-ticket purchases, the sale may land months after the click. Judging a month's spend on a month's revenue will read as failure whether or not it was one.
- Brand-building spend. Some advertising is meant to be remembered, not clicked. Holding it to a margin target will kill it, and sometimes that's the wrong call.
The takeaway
Before you optimise anything, work out what one extra sale is actually worth to the business after returns and costs. Every decision — which cohort to scale, which creative to keep, what a campaign is allowed to cost — gets easier once that number exists, and most of them stay guesswork until it does.
None of this is settled. It's what's held up so far across the ads and creative work I've done for footwear and B2B manufacturing here in Chennai, and on my own brand, Drixft FPV, where I test things before recommending them. If you want the short version of how this runs for a client, that is my Facebook and Google Ads work. If I find a case where it doesn't hold, I'd rather say so than keep the framework tidy.