Break Even ROAS for COD Orders: How RTO Changes the Math
The short answer
Break even ROAS is your selling price divided by what one shipped order leaves you before ads. On COD, every order that comes back as RTO earns nothing and still costs shipping both ways, so the ROAS you need rises fast. For a ₹999 product with a ₹250 cost, ₹80 shipping, 18% GST in the price and 2% fees, break even ROAS is 2.01x with no returns, 2.32x at 10% RTO, 2.73x at 20%, 3.33x at 30% and 4.27x at 40%. Ads Manager usually counts a COD purchase when the order is placed, so its ROAS column does not subtract RTO.
On this page (9 sections)
Break even ROAS is the selling price divided by what one shipped order leaves you before ads. On cash on delivery, part of every batch of orders comes back as RTO: those orders earn nothing, and you still pay to ship them out and back. That makes the ROAS you need much higher than a simple margin calculation suggests.
Here is a quick sense of scale. For a ₹999 product with a ₹250 product cost, ₹80 shipping and packing, 18% GST inside the price and 2% payment fees, break even ROAS is 2.01x with no returns, 2.32x at 10% RTO, 2.73x at 20%, 3.33x at 30% and 4.27x at 40%. You can run your own numbers in our free break even ROAS calculator, which handles GST and RTO.
Why COD and RTO change your break even ROAS
A prepaid order that ships is almost always revenue. A COD order is only revenue if the customer accepts the parcel and pays. When they refuse it, or the courier cannot deliver, the order returns to origin (RTO). Three things happen:
- No revenue. The sale you counted when the order was placed never turns into money.
- Shipping twice. You paid to send the parcel out, and you pay again for it to come back.
- Stock tied up. The product usually returns to your shelf, so it is not a total loss, but it sits out of stock for the days in transit.
Ad spend is spent on every order, delivered or not. So the real question is how much ad spend one shipped order can carry, after the returns.
The formula, step by step
Our calculator uses four steps. You can do them on paper too.
- Take GST out of the price. If the price includes GST, the net price is the price divided by 1 plus the GST rate. For ₹999 at 18%, that is about ₹846.61.
- Count only delivered orders as revenue. The delivered share is 1 minus your RTO rate. At 10% RTO, 90% of shipped orders pay you.
- Take off what each delivered order costs. Subtract the payment or marketplace fee (as a share of the full price) and the product cost, for delivered orders only, since returned stock goes back on the shelf.
- Take off shipping on every order, and again on every return. Shipping is paid for each shipped order, plus once more for each RTO.
What is left is the contribution per shipped order. Break even ROAS is the selling price divided by that contribution. The price stays in with GST at the top, because Ads Manager reports purchase value as the customer paid it.
In symbols, with price P, net price N, product cost C, shipping S, fee rate f and RTO rate r:
contribution = (1 − r) × (N − f × P − C) − S × (1 + r)
break even ROAS = P / contribution
Worked example: the same product from 0% to 40% RTO
Take the ₹999 product above: ₹250 product cost, ₹80 shipping and packing, 18% GST included, 2% fees.
| RTO rate | Contribution per shipped order | Break even ROAS | ROAS for a 10% profit |
|---|---|---|---|
| 0% | ₹496.63 | 2.01x | 2.52x |
| 10% | ₹430.97 | 2.32x | 3.02x |
| 20% | ₹365.30 | 2.73x | 3.76x |
| 30% | ₹299.64 | 3.33x | 5.00x |
| 40% | ₹233.98 | 4.27x | 7.45x |
Two things stand out. Break even ROAS more than doubles between no returns and 40% RTO. And the ROAS you need for a profit climbs even faster, because the profit you want is a fixed share of the price while the money each order leaves you keeps shrinking. At 30% RTO, keeping 10% of the price after ads needs a 5x ROAS.
How to handle a mix of prepaid and COD orders
Most Indian D2C brands take both. Prepaid orders usually come back far less often than COD, and the two can carry different fees: a gateway fee on prepaid, and often a COD handling charge from the courier.
Do not average the two break even ROAS numbers. Work out the contribution for each, weight them by their share of orders, then divide.
Using the same ₹999 product as an example:
- Prepaid: 5% returns and a 2% gateway fee leave ₹463.80 per shipped order, a break even ROAS of 2.15x on its own.
- COD: 30% RTO, no gateway fee, and a ₹30 COD charge added to shipping leave ₹274.63 per shipped order, a break even ROAS of 3.64x on its own. Adding the charge to shipping is a cautious choice, since some couriers charge it only on delivered orders.
With 40% of orders prepaid, the blended contribution is 0.4 × ₹463.80 + 0.6 × ₹274.63 = ₹350.30, so the blended break even ROAS is 999 / 350.30, about 2.85x. Shift the mix to 60% prepaid and it drops to about 2.57x. That is why many brands nudge customers towards prepaid with a small discount or free shipping: moving the mix can lower the ROAS you need as much as a cheaper product would.
These rates are examples. Use your own prepaid share, RTO rate by payment method, fees and courier charges.
Why Ads Manager ROAS looks better than it is on COD
Most Shopify and custom store setups send Meta a Purchase event from the order confirmation page. For a COD order, that happens when the customer places it, days before you know if it will be delivered. Meta's ROAS column therefore counts every COD order as a sale, including the ones that will come back.
A rough way to see the gap: if 30% of orders come back, a reported 3.0x ROAS means about 2.1x on the orders that actually paid you (3.0 × 0.7), before GST and costs. So compare Ads Manager ROAS with your RTO-adjusted break even, which already allows for returns. Do not compare it with a break even worked out as if every order were delivered.
If your store or shipping partner can send Meta updated conversion values after delivery, your reported ROAS gets closer to the truth. Until then, the RTO-adjusted break even is the safer floor.
What to do with the number
- Set it as the floor in Ads Manager. If a campaign stays below your RTO-adjusted break even ROAS over a fair stretch of spend, each order is costing more in ads than it leaves you.
- Use break even cost per purchase too. It is the same number in rupees: in the 10% RTO example, paying more than about ₹431 in ads per purchase loses money. Our CPA calculator helps when Ads Manager shows cost per result more clearly than ROAS.
- Track RTO by campaign if you can. Some audiences and offers bring more refused parcels than others. A campaign with a lower ROAS but fewer returns can be the better one.
- Recheck it when anything changes. A price change, a new courier rate or a festive spike in COD orders all move the number.
Ways to lower the ROAS you need
You can only push ROAS up so far with better ads. These levers lower the target instead:
- Raise order value. Bundles and combos spread shipping over a bigger order. Bundle offers show up again and again in the long-running ads in our Ad Library of Indian D2C brands.
- Shift orders to prepaid. A small prepaid discount or free shipping on prepaid can pay for itself through fewer returns.
- Confirm COD orders before they ship. A quick call or WhatsApp message to confirm an order catches some refusals before you pay for shipping.
- Cut shipping and packing cost. Every rupee here is paid on every order, and again on every return.
Once the floor is clear, the job is making ads that beat it. AdGraam's Meta Ads Analytics shows ROAS, CPA and hook and hold for every ad in one place, and the Creative Generator turns a product page into new static ads to test against your number.
Key takeaways
- Break even ROAS = selling price / contribution per shipped order, where contribution already accounts for GST, fees, product cost, shipping and the share of orders that come back.
- RTO raises break even ROAS faster than most teams expect: in our example, going from 10% to 30% RTO moves it from 2.32x to 3.33x, and the ROAS needed for a 10% profit from 3.02x to 5.00x.
- Work out prepaid and COD orders separately, then blend them by their share of orders. Averaging the two ROAS numbers gives the wrong answer.
- Most store setups send Meta a Purchase event when a COD order is placed, before it ships or comes back. Compare Ads Manager ROAS with your RTO-adjusted break even, not with your profit and loss.
Frequently asked
What is break even ROAS for COD orders?
It is the lowest ROAS at which a COD order still pays for its ads once you account for the orders that come back. Divide the selling price by what one shipped order leaves you after GST, fees, product cost, shipping on every order and return shipping on every RTO, with only delivered orders earning revenue.
How does RTO affect break even ROAS?
An RTO order earns nothing but costs shipping out and back, so a higher RTO rate shrinks what each shipped order leaves you and raises the ROAS you need. For a ₹999 product with a ₹250 cost and ₹80 shipping, break even ROAS goes from 2.32x at 10% RTO to 3.33x at 30%.
Does Meta count COD orders before they are delivered?
Usually yes. Most Shopify and custom store setups fire the Purchase event on the order confirmation page, so Meta records a COD sale when the order is placed. Orders that later come back as RTO stay in your Ads Manager ROAS unless you send adjusted conversions yourself.
Should I include GST when I calculate break even ROAS?
Keep the price with GST in the top of the formula, because Ads Manager reports purchase value as the customer paid it, GST included. Take GST out when you work out what an order leaves you, since that part goes to the government.
How do I calculate break even ROAS with both prepaid and COD orders?
Work out the contribution per shipped order for prepaid and for COD separately, with each one's own return rate and fees. Weight the two by their share of orders, add them, and divide the selling price by the result. Do not average the two break even ROAS numbers.
What is a good ROAS for a COD brand in India?
There is no single good number. A good ROAS is one above your own RTO-adjusted break even, and comfortably above it if you want profit. Two brands selling at the same price can need very different ROAS because of their product cost, shipping and RTO rate.
More from the playbook
Hook Rate and Hold Rate: Formulas and Benchmarks for Meta Ads
How to calculate hook rate and hold rate for Facebook and Instagram video ads, what good looks like, how to add them to Ads Manager and what to fix when they drop.
Meta Ad Creative Ideas: 20 Formats D2C Brands Can Test
20 Meta ad creative ideas for D2C and e-commerce brands, grouped into static, video and carousel, with when to use each, an example hook and how to test them.
How to Make Static Ads With AI: A Guide for D2C Brands
How to make static ads with AI, step by step: the sizes Meta wants, eight formats worth testing, a brief template and the checks to run before you upload.
Your move
See your product as a winning ad
Turn a product URL into static ads and UGC-style videos, rebuild the competitor ads that already work, and read your Meta data to know what to make next.
SahilFounder, AdGraam
Sahil Bhatnagar is a co-founder of AdGraam (also searched as Adgram or Adgram AI), the AI ad platform used by D2C brands including Powerlook, Bewakoof, Kapiva, Traya and Neeman’s. He writes about what actually works in Meta ad creative, with real campaign data, not theory.