Adbuffs

← Blog
Incrementality for D2C

Why a 1.7x ROAS beats a 2x in India

There’s no magic ROAS target. The number you need is one you can calculate — and the brands winning here are profitable at a lower ROAS than the ones quietly going broke at a higher one.
Same product. Same costs. The lower ROAS is the one making money.
The short answer
ROAS is not a target — it’s an output. The ROAS you need to be profitable is a number you can calculate from two things ROAS can’t see: how many orders are prepaid, and how many actually get delivered. Fix those two and the ROAS you need falls. Ignore them and even a healthy-looking 2x bleeds.
Every D2C founder in India has been handed the same advice: “keep your ROAS above 2x and you’re fine.” It’s wrong — not a little wrong, structurally wrong — and the two brands above show why. Both look identical on a Meta dashboard. One makes money, one loses it. Here’s the math that separates them, and how to land on the right side of it.
Start with the one fact about this market that quietly rewrites every other number: most of your orders are Cash on Delivery. The customer pays nothing now. They pay the delivery agent in cash, later — if the parcel reaches them and if they still want it.
Facebook and Instagram are impulse machines. Someone scrolls, sees your ad, taps, and places a COD order in eight seconds with zero money committed. A typical brand runs about 70% COD, 30% prepaid. And here’s what the dashboard hides: the platform counts that order the moment it’s placed. Reported revenue, reported ROAS — booked at checkout. Whether the box ever arrives, and whether cash ever changes hands, is somebody else’s problem weeks later.
So reported ROAS measures orders placed. Your bank account only sees orders delivered and paid for. The distance between those two numbers is the entire game — and it’s decided by your prepaid mix and your delivery rate, neither of which appears next to your ROAS.
100 orders, 70% COD at 80% delivery, 30% prepaid. Fifteen never turn into money — and each one didn’t just earn nothing, it cost you. Your ROAS counted all 100 as wins.
01 — The order your dashboard thinks you made

The clean number

Build a single order from the ground up. Imaginary figures — yours will differ depending on what you’ve negotiated with your courier — but the structure is identical for everyone.
Product sells at ₹600. Cost of goods 20% (₹120). Forward shipping ₹70, packaging ₹20. It costs ₹300 in ads to win the order — which, on a ₹600 sale, is exactly a 2x ROAS. Walk it down the contribution-margin ladder:
02 — The order you actually made

What a failure really costs

Now the order that fails — agent didn’t bother, customer changed their mind, or they found it ₹10 cheaper elsewhere while they waited. The box goes out, comes back, and the damage is brutal:
A delivered order earns ₹90. A returned order doesn’t earn ₹0 — it loses ₹460: the ad money already spent, plus shipping out, shipping back, and packaging. One RTO wipes out the profit from five good orders.
That ratio is the cruelty of COD. Delivered earns ₹90; failed loses ₹460. It takes five clean deliveries to pay for one return. Your delivery rate isn’t an ops footnote — it’s the biggest single lever on profit, and it sits nowhere on your ad dashboard.

One honest note: we’ve assumed returned stock comes back fully resellable, so we charged ₹0 for product on a failed order. In reality some comes back damaged, melted or expired. We’ve left that out on purpose — which means every number here is kinder to ROAS than reality. The truth is a little worse.

03 — Two dials decide your real margin

Not the ROAS number

Here’s the heart of it. Hold reported ROAS fixed at 2x. Don’t touch the ads, creative or spend. Only move the two dials you rarely look at — prepaid mix and COD delivery success — and watch the money you actually keep per order swing from solid profit to outright loss:
ROAS tells you what you sold. It refuses to tell you what you got paid for. In India those are very different numbers.
04 — The ROAS you actually need

It's a number, not a guess — and you can lower it

So stop asking “is 2x good?” Ask the only question that matters: what ROAS do I need just to break even — zero profit, before a single salary? That number isn’t a market rule of thumb. It falls straight out of your delivery success:
The better your delivery, the lower the ROAS you need to win. A brand at high delivery can profit well under 2x; a brand at 60% needs 3.5x just to stand still. Delivery success doesn’t just protect margin — it buys down the ROAS you’re required to hit.
This is exactly the gap between Brand A and Brand B at the top. Brand A didn’t find better ads. It moved its two dials — more prepaid, better delivery — so a 1.7x is comfortably above its break-even line. Brand B left its dials where the market dumped them, so its “respectable” 2x sits below the line. Same ad account skill. Different unit economics. Which brings us to the losses brands cause themselves.
05 — How brands sabotage their own dials

Two avoidable leaks

Leak one: you undercut your own order
Customers aren’t loyal during the wait. Someone places a ₹600 COD order on impulse, then over three days sees the same product — often your own listing — for ₹10 or ₹15 less, faster, on a marketplace or quick-commerce app. They don’t cancel out of malice; they just refuse the parcel because a cheaper, faster version is already coming. Your own cross-channel price gap manufactured that return. It’s the same self-inflicted wound from the incrementality piece — one part of the business eating another while the dashboard shows nothing wrong.
Leak two: the agent lies, and your customer takes the blame
A scene every Indian founder knows. You order to your home; the agent calls while you’re at the office. You say, reasonably, “I’m not home — can you bring it tomorrow?” The agent, paid per delivery and unwilling to make a second trip, marks it “customer refused” and moves on. Now it’s an RTO on your books, blamed on a buyer who genuinely wanted the product. Brands that call these customers back find this constantly: the demand was real, the last mile failed. ROAS saw a sale, ops saw a return, nobody connected them.
06 — Turning the dials, part one

Lift delivery success

You can’t make COD vanish in India — it drives the impulse volume that makes Meta work. The job is to de-risk it. Levers, roughly by impact:

Score every order before it ships.

By pin code, city and state. Some areas return at twice the rate of others — you already have the data to know which.

02

Take partial payment on risky orders.

Don't blanket-block COD. Offer partial-COD or a small prepaid token on high-risk pin codes so the buyer has skin in the game.

03

Throttle repeat COD.

If someone places a COD order, stop them placing a second one for a few days until the first is marked delivered. Kills serial non-acceptors.

04

Confirm before you ship.

OTP at checkout, plus address confirmation over WhatsApp and a quick call from a tele-calling team on high-value or high-risk orders. Thirty seconds kills a huge share of fake and mistaken orders.

05

Keep the customer informed at every step.

A post-purchase WhatsApp flow — packed, dispatched, in transit, out for delivery, ETA. The "I'm not home, come tomorrow" problem mostly disappears when people know exactly when the agent is coming.

06

Use faster couriers on slow routes.

Speed is an RTO lever. A faster courier like Blue Dart on a fragile route often beats a "cheap" one that takes a week and loses the customer's patience.

07

Use a checkout built for this.

Custom checkouts like GoKwik and Shiprocket exist precisely because Indian COD needs risk-scoring, prepaid nudges and address intelligence in the buy button. Use them.

07 — Turning the dials, part two

Optimise toward the number that keeps you alive

Lifting delivery is half the job. The other half is changing what you optimise your ads toward in the first place. Most brands optimise for ROAS, full stop — which is how you end up scaling a 2x that’s secretly a 0.9x once delivery is counted. Here’s the number we actually watch:

The metric that matters
Prepaid ROAS
Prepaid ROAS = revenue from prepaid orders ÷ total ad spend

The target is simple: get prepaid ROAS to 1x. At 1x, the money from prepaid orders alone — cash already in your account, no delivery risk, no wait — fully refunds your ad budget. Everything COD delivers on top is upside.

Why this beats chasing a higher headline ROAS: cash flow kills businesses faster than thin margins do. A brand with slightly red unit economics but positive cash flow can survive and fix itself. A brand with great-looking ROAS but cash locked weeks away in undelivered COD parcels can die while the dashboard stays green. Prepaid revenue is the only revenue you can spend today.
So the optimisation flips. Instead of “which ad has the highest ROAS?”, ask “which ads bring prepaid buyers?” — and feed budget toward those. A lower-ROAS ad with a high prepaid mix is usually a better business decision than a higher-ROAS ad riding on fragile COD that may never get paid. That’s how Brand A runs profitably at 1.7x: it isn’t chasing the biggest number, it’s chasing the paid one.
At Adbuffs we run this through server-side tracking that shows us, ad set by ad set, which creatives and audiences actually produce prepaid orders — so prepaid mix becomes something we optimise on, not just report after the fact.
Built in-house · included for Adbuffs clients at no extra cost
08 — So is ROAS useless?

No. It's an output, not a target.

None of this makes ROAS a lie. It’s a real signal — it just answers one narrow question: how efficiently did you turn ad spend into placed orders. In a prepaid-only Western market, that’s nearly the whole picture. In COD-heavy Indian D2C, it’s barely a third of it.
Read ROAS next to the two dials it can’t see: prepaid mix and delivery success. One tells you whether the revenue is real cash or a hopeful promise; the other tells you whether the promise will arrive. Read together, the three numbers give you the ROAS you actually need — and a plan to need less of it. Read alone, ROAS is how good brands scale themselves broke.

Questions founders ask us

Can a 1.7x ROAS really be profitable in India?
Yes — if your delivery success and prepaid mix are high enough. On illustrative ₹600-AOV economics, a brand at roughly two-thirds prepaid and 85% delivery success clears a small profit at 1.7x, while a brand at 30% prepaid and 75% delivery loses money at 2x. The ROAS number alone doesn’t decide profitability; delivery and payment do. (Below about 1.6x, even a near-perfect brand struggles to break even on these costs.)
There’s no universal figure — it’s a number you calculate from your own delivery success. At 95% overall delivery you can break even below 1.7x; at 75% you need about 2.4x; at 60% you need 3.5x. Work out your break-even ROAS from your delivery rate first, then target above it — and lower the target by improving delivery and prepaid.
Because reported ROAS counts orders placed, not delivered and paid for. In COD-heavy India a chunk of placed orders never arrive (RTO), and each failure costs the ad spend plus shipping out, shipping back and packaging — roughly five times the profit of a good order. Below about 84% overall delivery success, a 2x doesn’t even break even.
Score orders by pin-code, city and state risk before shipping; take partial or full prepaid on high-risk orders; throttle repeat COD until the first is delivered; verify with OTP plus WhatsApp and a confirmation call; run a post-purchase WhatsApp flow so customers know when delivery is coming; and use faster couriers on slow routes. Checkouts like GoKwik and Shiprocket bundle much of this into the buy button.
Prepaid ROAS is revenue from prepaid orders divided by total ad spend. At 1x prepaid ROAS, prepaid cash alone — already in the account, no delivery risk — fully covers the ad budget, and COD becomes upside. It matters because cash flow kills businesses faster than thin margins, and prepaid revenue is the only revenue you can spend today.
Shifting toward prepaid is the single biggest lever — prepaid returns at roughly 2% versus COD that can run 15–40%. But COD drives the impulse volume that makes Meta advertising work in India, so a blanket prepaid-only switch usually dents sales. The play is to lift prepaid mix over time and de-risk the COD you keep, not to kill it.
Illustrative figures throughout (₹600 AOV, 20% COGS, ₹70 forward and ₹70 reverse shipping, ₹20 packaging, ₹300 CAC; prepaid RTO ~2%). Real costs vary by category and by the rates each brand negotiates with courier and gateway partners. Payment-gateway and COD-remittance fees, and the cost of unsellable returned stock, are deliberately excluded — including them only strengthens the case. These are a model for thinking clearly about COD unit economics, not an audited result for any single brand.

Other Posts that you may Like

15 MIN READ

Meta only sees 1% of your customers

The other 99% of your business is dark to its AI: every in-store sale, every phone order, every offline purchase. Here’s what it cost one brand to stop feeding that signal back, and why we treat it as infrastructure, not attribution.

Avatar photo Abhishek Maity, Co-founder, Adbuffs
14 MIN READ

Why a 1.7x ROAS beats a 2x in India

There’s no magic ROAS target. The number you need is one you can calculate — and the brands winning here are profitable at a lower ROAS than the ones quietly going broke at a higher one.

Avatar photo Abhishek Maity, Co-founder, Adbuffs
16 MIN READ

The profit truth behind ROAS

A great ROAS can still lose you money. Here are four real cases from D2C accounts where the reported number said one thing and the bank account said another — and how to measure the gap before it costs you.

Avatar photo Abhishek Maity, Co-founder, Adbuffs
Scroll to Top