ROAS explained: is your ad spend actually making money?
ROAS tells you whether an ad rupee comes back with friends. Here is how to calculate it, why break-even ROAS depends on your margin, and why the revenue number has to be real.
Return on ad spend (ROAS) is the revenue a campaign generated divided by what you spent on it, expressed as a multiple, so a ROAS of 4 means four rupees back for every rupee spent. It is only trustworthy when the revenue comes from confirmed sales, not from a pixel that can be blocked or a click that never bought.
Return on ad spend is the metric that decides whether a campaign lives or dies. It answers one question in one number: for every rupee I put into this, how many came back? A ROAS above your break-even point means the campaign pays for itself and then some. Below it, you are buying revenue at a loss.
It is a simple ratio, and that simplicity is why it gets misused. A ROAS built on inflated or estimated revenue will greenlight campaigns that quietly lose money.
The formula
ROAS is revenue from the campaign divided by spend on the campaign. Spend 10,000 rupees and get 40,000 rupees of sales, and your ROAS is 4, often written as 4x. That is four rupees of revenue for every rupee spent.
Note that ROAS uses revenue, not profit. It tells you the top-line return, which is why a healthy-looking ROAS can still lose money once you subtract the cost of the product itself.
ROAS is not ROI, and break-even is not 1x
ROI subtracts your costs; ROAS does not. A 3x ROAS on a product with a 40% margin is doing better than a 5x ROAS on a product with a 15% margin, because margin decides how much of that revenue you actually keep.
That is why break-even ROAS is almost never 1x. If your gross margin is 50%, you keep half of every sale, so you need roughly a 2x ROAS just to cover the ad spend. Work out your break-even ROAS from your margin first, then judge every campaign against that line rather than against a generic benchmark.
ROAS vs ROI at a glance
| ROAS | ROI | |
|---|---|---|
| Uses | Revenue ÷ ad spend | Profit ÷ total cost |
| Counts product cost | No | Yes |
| Break-even | Depends on margin, usually above 1x | Always at 0% |
| Best for | Judging a campaign fast | Judging whether it made money |
Why the revenue number has to be real
ROAS lives or dies on the top of the fraction. If your revenue figure comes from a browser pixel that ad blockers can drop, or from a platform that claims every sale within a week of a click, your ROAS will read higher than the truth and you will scale a loser.
The reliable way to capture revenue is server-side, from the order itself. A payment webhook reports the real amount after the money moved, which is the whole point of choosing a postback over a pixel. When the revenue matches your bank, so does your ROAS.
Making ROAS bankable
directinapp ties each sale in rupees back to the campaign that drove it through a click id and a signed gateway webhook, so the revenue in your ROAS is confirmed order value rather than a browser estimate. Pair that with your spend per channel and you get a ROAS you can act on: scale what clears your break-even line, cut what does not, and stop guessing which ads pay for themselves.
Found this useful? Tell Google to show you more of it.
Add us as a preferred sourceRelated guides
Put this into practice
Create smart short links that open the right app, with analytics built in. No credit card required.
Start free