The ROAS in your Meta Ads Manager is almost always higher than the ROAS in your bank account. Ads Manager reports attributed sales inside its own window, before returns, before cash-on-delivery (COD) failures, and before the overlap with your other channels. To calculate your real Facebook ads ROAS, start from collected revenue — money actually in the account — and divide by total ad spend. The gap between that and the dashboard number is the most important figure in your account.
This guide shows you how to find the real number and what to do with the gap.
Why Ads Manager flatters
Ads Manager is not lying. It is reporting what it can see, which is not the same as what you keep.
Three things inflate the reported number:
- Attribution windows. Meta counts conversions within a click or view window. Some of those buyers would have purchased anyway; some are double-counted with another channel.
- Returns and COD failures. In COD markets, a large share of "sales" never complete. The order is placed, the courier knocks, and the package comes back. Ads Manager counted it. You did not collect it.
- Gross, not net. The reported figure is revenue before refunds, shipping losses, and the cost of goods. It is the top of the funnel dressed as the bottom.
None of this means paid ads do not work. It means the dashboard number is the start of the analysis, not the end.
How to calculate your real, delivered ROAS
Work through these four numbers in order.
1. Gross ROAS (the dashboard). Attributed revenue divided by ad spend. Write it down as the starting point.
2. Spend-aligned ROAS. Match the revenue to the exact period and campaigns that drove it, removing organic and returning-customer noise where you can.
3. Channel-attributed ROAS. Strip out the sales another channel can also claim. This corrects for overlap.
4. Delivered-cash ROAS. Take collected revenue only — after returns and COD failures — and divide by spend. This is the number that matters.
You now have a range, from flattering to real. The distance between number one and number four is your honesty gap. Managing the account means shrinking that gap, not admiring number one.
Worked example: when 4.1x was really 1.9x
I managed paid social for an Egyptian mobile-accessories store (an anonymized client). The account ran roughly 137K EGP of spend against about 564K EGP of attributed sales — a gross ROAS of 4.1x. A good headline.
The delivered number was different. After a COD return rate of around 33%, the cash-collected ROAS landed closer to 1.9x. The honest unit was not "sales" at all — it was conversations: more than 10,000 buyer chats at about $0.10 each, a real messaging-commerce funnel where the chat is the checkout.
Reporting 4.1x alone would have been technically true and practically misleading. Reporting both numbers — 4.1x gross, 1.9x delivered, with the return rate named — is the Two-Number Report. It is the difference between a deck that sells and an account you can actually plan around. The caveat I carry: the 1.9x is calculated from the observed return rate, not independently reconciled against the shipping system line by line.
What to do once you know the gap
A large gap is not automatically bad — it tells you where to work.
- High returns? The problem is downstream of the ad: product fit, expectation-setting in the creative, or delivery experience. Better targeting will not fix it.
- Attribution overlap? You may be paying to reach buyers your other channels already had. Test holdouts.
- Weak delivered ROAS on strong CTR? The ad is winning attention but the offer or the post-click experience is losing the sale.
The delivered number does not just grade the campaign. It points at the fix.
FAQ
Why is my Facebook ads ROAS high but I am not making money?
Because the reported ROAS is gross and attributed, not delivered and collected. Returns, COD failures, attribution overlap, and cost of goods all sit between the dashboard number and your profit. Calculate ROAS from collected revenue to see the real picture.
What is a good ROAS for Facebook ads?
There is no universal figure — it depends on your margin, your return rate, and your market. A 4x gross ROAS can be unprofitable in a high-return COD market, while a 2x delivered ROAS can be healthy at high margin. Judge against your delivered number and your unit economics, not a benchmark.
How do returns affect ROAS in COD markets like Egypt?
Heavily. A 33% return rate turns a 4.1x gross ROAS into roughly 1.9x delivered. In COD markets, returns are part of the truth, so any honest ROAS calculation has to account for them.
How do I track real ROAS instead of the Ads Manager number?
Tie ad spend to collected revenue in a single source — a spreadsheet or dashboard fed by your actual order and payment data, not the platform's reported conversions. Reconcile monthly and name the gap between reported and collected.
Next step
If your Meta account looks great in Ads Manager but the profit is not showing up, the gap is findable. I run a free 25-Point Growth Audit that reconciles your reported ROAS against your delivered number and shows where the spend is leaking. The output is evidence-graded — every finding labelled Verified, Inferred, or Connector-required.
Comment ROAS below or send me a DM and I will send you the details.