A 3× return on ad spend sounds like a win. On a 30% margin it is exactly break-even — you have run the campaign for nothing. Most ROAS calculators divide revenue by spend and stop there, which is the one number that cannot tell you whether the money came back.
This one asks what the order is worth to you after costs, then tells you the ROAS you actually have to beat, and the most you can afford to pay for one sale.
Free tool
Facebook Ads ROAS calculator
Spend, sales and your margin go in. The ROAS you have to beat, and the most you can pay for one sale, come out. Nothing is sent anywhere — it all runs in your browser.
| Revenue from these ads | — |
| Gross profit on that revenue | — |
| Ad spend | — |
| ROAS you have to beat to break even | — |
| What each sale cost you | — |
| The most one sale can cost and still pay | — |
| Profit after the ads are paid for | — |
Break-even ROAS is just 1 ÷ your margin
Every dollar of revenue an ad produces only hands you your gross margin. If you keep 30 cents of every dollar before advertising, then a dollar of ad spend has to produce $3.33 of revenue before you are level. That is the whole formula: break-even ROAS = 1 ÷ gross margin.
| Your gross margin | Break-even ROAS | What a 3× ROAS really is |
|---|---|---|
| 20% | 5.00× | a loss |
| 30% | 3.33× | a loss |
| 40% | 2.50× | a thin profit |
| 50% | 2.00× | a real profit |
| 60% | 1.67× | a good campaign |
The second number worth having is the ceiling: the most you can pay for one sale is the order value times your margin. On a $38 order at 35% that is $13.30. Pay $14 and the sale cost you money, however good the ROAS screenshot looked.
Both of those are arithmetic, and neither appears anywhere in Ads Manager. Ads Manager knows your spend and your revenue. It does not know what your product costs you to make, so it cannot tell you the only thing you need to know.
Where the numbers in this post come from
The formulas above are arithmetic. The figures below are read from a real Meta Ads account — mine — for my silver shop, a Bangladeshi WooCommerce store where almost every piece sells exactly once. The date range is the account’s maximum: August 2023 to September 2026.
One caveat that matters more than anything else on this page. The costs in my account are Bangladeshi market prices. A page like costs about a US cent here; it costs many times that in the United States. Do not take my cost-per-outcome figures as benchmarks for your own market — they are not, and anyone presenting them that way would be misleading you. What transfers is not the price. It is the shape of the mistake.
Three years, nineteen campaigns, ৳130,477 of lifetime spend — about $1,061. Of that, 77.5% went to one campaign buying page follows: ৳101,098, or roughly $822, for 76,294 follows at ৳1.33 each — a little over one US cent apiece. The campaign actually built to drive sales got 1.4% of the budget: ৳1,853, about $15, which bought 22 adds-to-cart at ৳84.21 — roughly 68 cents — each. And one campaign sat switched on for nearly three years with an error on it, delivering nothing at all.
Converted at 1 USD = 122.96 BDT, read 4 October 2026. The taka figures are what the account shows; the dollar figures are converted at that one rate on that one day.
The expensive mistake is not a bad ROAS. It is buying the wrong outcome.
Notice what is missing from those numbers: a return on ad spend. I cannot calculate one for the follows campaign, because it never had a sale attached to it. It optimized for follows, so Meta delivered follows, cheaply and in enormous quantity, exactly as instructed.
And the followers were real. They were not bots from cheap-click countries — 76,294 of them were in Bangladesh, which is the market the shop actually sells to. The targeting was right. The objective was wrong. Following a page and buying from it are two different actions, and three years of budget paid for the first one.
This is the same error a US handmade seller makes chasing Instagram followers, or boosting a post because the “boost” button is right there and the campaign builder is not. The platform is not cheating you. It is giving you precisely what you asked for, at the lowest possible price, and the cheapest thing on the platform is almost never a purchase.
Which is why the calculator above asks for sales rather than clicks, views, follows or adds-to-cart. If the number you are optimizing for cannot be put in that box, the campaign has no ROAS — it has a cost.
What this calculator leaves out, on purpose
- Attribution. Meta decides which sales to claim, and it claims generously. If half of your “ad sales” would have happened anyway, your real ROAS is half what the dashboard says. There is no honest formula for this; the only way to find out is to turn the campaign off for two weeks and watch the total, not the dashboard.
- Returns and refunds. A sale that comes back is revenue that leaves, and the ad spend stays spent. If you have a measurable return rate, put the revenue in net of it.
- Repeat purchases. A first order bought at a loss can still be a good trade if the customer comes back. That is a real argument, and it is also the argument every unprofitable campaign uses about itself. It only counts if you can show the repeat rate.
- Your time. Not in the margin figure unless you put it there. The pricing calculator handles that properly.
Three things to do with this
- Work out your break-even ROAS before you set a budget, not after. It takes one division. If you do not know your gross margin to within a few points, that is the problem to fix first — the advertising question cannot be answered until it is.
- Write your maximum cost per sale on a piece of paper and put it next to the screen. Order value times margin. When Ads Manager shows a cost per purchase above that line, the campaign is losing money no matter how healthy everything else looks.
- Check what each live campaign is actually optimizing for. Not what you meant it to do — what the objective field says. Mine said follows for three years and I did not look, and that is how 77.5% of a budget goes somewhere that cannot produce a sale.
The long version of what that budget bought is in its own post, with the campaign table. If the margin you typed in was a guess, start at the working on my own shop’s margin instead — it came out at 6%, and that changes what any advertising is allowed to cost.
Sources: the spend, campaign and cost-per-outcome figures are read from my own Meta Ads account, ID 137811066560103, date range Maximum, read 4 September 2026. Currency converted at 1 USD = 122.96 BDT from exchange-rates.org, read 4 October 2026.
Questions people ask about ad returns
What is a good ROAS?
There is no such number, and anyone quoting one without asking your margin is guessing. A 3× ROAS is a loss at a 30% margin and a solid profit at 50%. The only honest version of the question is what is my break-even ROAS, and that is 1 ÷ your gross margin.
Why does my ROAS look fine but my bank balance doesn’t?
Three usual reasons. Your margin is thinner than you think, so break-even is higher than you think. Meta is claiming sales that would have happened anyway. Or the revenue figure includes orders that were later refunded. The first you can fix with arithmetic; the second needs the campaign switched off for two weeks; the third needs your refund rate.
Should I optimize for purchases or for something cheaper?
Purchases, unless you have a specific reason and a way to measure what the cheaper thing is worth. Meta will deliver whatever you ask for at the lowest price it can find, and follows, views and clicks are always cheaper than sales. That is not generosity. It is the objective doing its job.
How much can I afford to pay for one sale?
Your average order value times your gross margin. On a $38 order at 35%, that is $13.30. Anything above that and the sale costs you money — which is worth writing down, because Ads Manager will never tell you.
Do followers ever turn into sales?
Some, and I cannot tell you how many from my own account because the campaign was never set up to find out. That is the honest answer and it is also the point: if a campaign cannot report what it produced, it cannot be judged, only paid for.
Are your cost figures a benchmark I can use?
No. They are Bangladeshi market prices from a Bangladeshi ad account, and they are far below what the same outcomes cost in the US, UK or Canada. Use the structure — break-even ROAS, cost ceiling per sale, check your objective — and your own numbers.