Station 05 · New customer cost
Break-even ROAS for cash on delivery: the formula after confirmation and delivery
The usual break-even ROAS formula assumes every order pays. Under cash on delivery some are cancelled and some are refused, so the ROAS you need in Ads Manager is higher. The formula, and one Egyptian store's real numbers.

The usual advice on ads is to work out your break-even ROAS and keep your campaigns above it. For a cash-on-delivery store, the usual formula gives you a number that's too low, and campaigns that look profitable in Ads Manager can be losing money.
What ROAS measures, and what it doesn't
Meta defines purchase ROAS as purchase conversion value divided by amount spent. Google's equivalent divides total conversion value by the total cost of all ad interactions. Both measure revenue for each unit of ad spend. As Shopify puts it, ROAS focuses on revenue earned by ad spending, not profit.
The standard break-even ROAS is 1 ÷ your margin. Amazon Ads gives the example of a 40% gross margin, which needs a ROAS of 2.5 to break even.
Why cash on delivery breaks the standard formula
Meta counts the purchase events your store sends it, and notes that these may be counted differently based on the attribution setting. In most COD stores, the purchase event fires when the order is placed. Nothing in that event knows whether the order will be confirmed, shipped or paid.
So the "purchase" in Ads Manager is an order placed. But under cash on delivery, you only get paid for orders that are confirmed, shipped and accepted at the door. That's our reading of how the numbers flow, not something Meta states. Practitioners who track COD ads make the same point: the pixel fires at order placement, not payment.
The 1 ÷ margin formula assumes every purchase pays. For a COD store, it has to carry the orders that don't.
The formula for a COD store
Work it out per order placed, because that's what Ads Manager counts:
- Confirmation rate (c): orders that ship ÷ orders placed
- Delivery rate (d): orders delivered ÷ orders shipped
- What a delivered order leaves before ads (v): order value − COD fee − product cost − courier fee − packaging
- What a returned order loses (r): the courier fee you pay on the return, plus packaging
Max ad cost per order placed = c × d × v − c × (1 − d) × r
Divide that by c for the most you can pay per confirmed order, and by c × d for the most per delivered order. The ROAS that Ads Manager needs to show is then:
Break-even ROAS in Ads Manager = order value ÷ max ad cost per order placed
If you have fixed costs to cover, or want a profit per order, take them off before you divide. The tool linked below does that.
One store's real numbers
This Egyptian COD store's September, the same store as in What a returned COD order really costs you:
- Order value 370 EGP, product cost 123 EGP
- Confirmation rate 77.5% (1,364 shipped of 1,759 placed)
- Delivery rate 90.5% (1,235 delivered of 1,364 shipped)
- Courier fee, COD fee and packaging left at 0 for this example
The standard formula: margin is (370 − 123) ÷ 370, about 67%, so break-even ROAS is about 1.5.
The COD formula: each delivered order leaves 247 EGP before ads. Most per delivered order: 247 EGP. Per confirmed order: 247 × 90.5% = 224 EGP. Per order placed: 224 × 77.5% = 173 EGP. The ROAS Ads Manager has to show: 370 ÷ 173 = 2.14.
A campaign at a reported ROAS of 1.8 looks profitable by the standard formula, but loses money on this store's real confirmation and delivery rates. Add courier fees, and the 2.14 goes higher.
The store actually paid about 73 EGP per order placed, well under the 173 maximum. That's why it made about 143 EGP per delivered order before courier fees and fixed costs.
What to do with the number
- Set your cost per result ceiling in Ads Manager per order placed. Meta's cost per result is amount spent divided by results, and a result here is an order placed, so the 173 is the number to compare it with.
- Recalculate when confirmation or delivery moves. A drop in delivery rate lowers your maximum straight away, even if Ads Manager looks the same.
- Check it by campaign. Campaigns that bring orders which get cancelled or refused more often need a lower ceiling than the store average.
Work out yours
The free max ad cost per order calculator does this sum for your numbers: the most you can pay per order placed, confirmed and delivered, the ROAS you need in Ads Manager, and your profit at your current ad cost. It handles fixed costs, a target profit, and ad spend billed in dollars. For the full month's profit per delivered order, use the COD profit calculator. For where this number fits among the others, read How to measure an online store's success.
Common questions
What is break-even ROAS?
The ROAS at which your ads pay for themselves and no more. The standard formula is 1 ÷ your margin. For a cash-on-delivery store you also have to account for orders cancelled at confirmation and refused at the door.
Why is my break-even ROAS higher with cash on delivery?
Ads Manager counts a purchase when the order is placed, but you only get paid when it's delivered. Every cancelled or refused order still cost you its ad, so the delivered orders have to carry that cost.
Should I send the purchase event when the order is delivered instead?
Some advertisers send a second event when the order is delivered and paid, so the ad platform learns which orders actually pay. Whether that suits your store depends on your setup. Either way, work out your break-even ROAS on delivered orders.
Is a high ROAS always profitable?
ROAS measures revenue, not profit, so a high ROAS on a low-margin product, or with a low delivery rate, can still lose money.