You can have a 3.5 ROAS and still lose money, if a quarter of your orders come back.
Your ad dashboard shows orders. Your bank statement shows something much smaller, and the difference is sitting in a warehouse.
5 min read
Every performance marketing article written for a US audience assumes an order placed is an order delivered. In India that assumption is wrong often enough to invalidate the entire analysis.
India's ecommerce return-to-origin rate averages roughly 23% to 25%, against a global benchmark of 8% to 12%. In cash-on-delivery orders specifically, average RTO runs 20% to 25%, with the worst-performing categories reaching 35% to 50%. Indian D2C brands collectively lose an estimated ₹8,000 crore a year to it.
If you are optimizing campaigns on orders placed, you are optimizing on a number that overstates your revenue by a quarter — and worse, the campaigns that generate the most orders are frequently the ones generating the most RTO.
What an RTO order actually costs
23–25%
Average India ecommerce RTO rate, against a global benchmark of 8–12%
TrackVid analysis of India RTO data
₹150–300
Typical stacked cost per RTO order — forward shipping, reverse shipping, repackaging, inventory lock
Shipmozo RTO reduction guide
~65%
Share of Indian ecommerce orders paid cash on delivery, the primary driver of the RTO gap
Egrow COD and RTO guide
The per-order cost is only the visible part. An RTO order also consumed the ad spend that acquired it, locked inventory for one to two weeks, delayed cash collection, and occupied fulfillment capacity that could have shipped a real order. On a ₹1,200 average order value with a 40% margin, a single RTO can wipe out the profit from two delivered orders.
Recomputing your real numbers
Before any intervention, restate your performance on delivered revenue rather than placed orders. The exercise is uncomfortable and it changes decisions immediately.
| Metric | As reported | On delivered orders (25% RTO) |
|---|---|---|
| Orders | 1,000 | 750 |
| Revenue at ₹1,200 AOV | ₹12,00,000 | ₹9,00,000 |
| Ad spend | ₹3,50,000 | ₹3,50,000 |
| ROAS | 3.4 | 2.6 |
| RTO logistics cost at ₹200 × 250 | — | ₹50,000 |
| Effective ROAS after RTO cost | 3.4 | 2.4 |
Do this per campaign, not just at account level. RTO rates vary sharply by campaign, because campaigns differ in the audiences, price points and payment behavior they attract. Discount-led and impulse-led campaigns reliably produce the worst delivery rates.
Why COD orders come back
- Low commitment. Cash on delivery requires no payment at the point of decision, so an impulse order carries no cost to abandon.
- Buyer's remorse in the delivery window. Two to five days between order and arrival is enough time for enthusiasm to fade.
- Address quality, particularly in tier-2 and tier-3 cities, where incomplete addresses cause failed delivery attempts that become RTO.
- Unreachable phone number at delivery. A large share of RTO is not refusal; it is a courier who could not make contact.
- Expectation mismatch — the product looked different in the ad than in the box.
- Duplicate orders placed accidentally, common on mobile checkouts.
Interventions, ranked by effect against effort
1. Make prepaid the easier choice
The single most effective lever. Offer a small prepaid discount — often 5% is enough — free shipping on prepaid only, or faster delivery on prepaid orders. The discount costs less than the RTO it prevents, and the arithmetic is easy to verify against your own RTO rate.
2. Confirm COD orders before dispatch
An automated confirmation message on WhatsApp or SMS asking the customer to confirm the order before it ships catches remorse and wrong addresses before either becomes a logistics cost. Where WhatsApp is the primary messaging channel, response rates on this are high enough to make it the standard practice.
3. Verify phone numbers and addresses at checkout
OTP verification on the phone number at checkout eliminates a meaningful slice of failed deliveries and accidental duplicate orders. It adds friction, which costs some conversion — measure both sides before deciding.
4. Set COD limits by order value and by pin code
Restrict COD above an order value threshold, and in pin codes where your own data shows persistently poor delivery rates. This is data you already have and almost certainly do not use.
5. Set delivery expectations honestly
State delivery timing on the product page, not only at checkout. A shopper who knows it takes five days is far less likely to refuse on day five.
6. Feed delivered orders back into your ad platforms
This is the advanced move and the one with the longest payoff. If you can report the delivered order rather than the placed order as your conversion event, the delivery systems begin optimizing toward customers who actually take delivery. It requires care with timing and consent, and it changes what your campaigns chase.
Managing RTO at campaign level
RTO is usually treated as a logistics problem. A meaningful share of it is a media problem, and it is visible in the data if you segment.
- Compute delivery rate per campaign, not just per store
- Compare RTO on discount-led campaigns against full-price campaigns — the gap is usually large
- Compare RTO by geography and adjust targeting or COD availability accordingly
- Compare RTO by creative angle: impulse-led and urgency-led creative frequently produces the worst delivery rates
- Judge campaigns on delivered contribution margin, which is the only number that reflects the money you keep
A campaign with a 3.8 reported ROAS and a 35% RTO rate is worse than a campaign with a 2.9 reported ROAS and a 12% RTO rate. Nothing in your ad dashboard will ever tell you that.
Common questions
What is a normal RTO rate in India?
Roughly 23% to 25% on average across ecommerce, against a global benchmark of 8% to 12%. COD orders specifically average 20% to 25%, and the worst-performing categories reach 35% to 50%.
How much does an RTO order cost?
Typically ₹150 to ₹300 in stacked logistics cost — forward shipping, reverse shipping, repackaging and inventory lock — before counting the ad spend that acquired the order and the delayed cash collection.
How do I reduce COD orders without losing sales?
Make prepaid more attractive rather than making COD harder: a small prepaid discount, free shipping on prepaid, or faster delivery. The discount usually costs less than the RTO it prevents.
Does confirming COD orders before dispatch actually help?
Yes, particularly on WhatsApp where response rates are high. It catches buyer's remorse and address problems before they become logistics costs, and it separates refusal from failed delivery.
Should I optimize campaigns on delivered orders instead of placed orders?
Where you can report delivery reliably, yes — it makes the delivery systems optimize toward customers who take delivery. It requires care with event timing and consent, and it will change what your campaigns chase.
How Glimmio handles this
Because Glimmio reads Shopify orders alongside Meta and Google Ads spend, campaign performance can be judged against what the store actually recorded rather than against platform-reported conversions.
Order confirmation and delivery messaging run from the same workspace over WhatsApp, email and SMS on your own connected sending accounts, which is where a COD confirmation step naturally lives.
- Manual approval by default — nothing runs unattended
- New campaigns and ads are always created paused
- 7-day recovery window on eligible changes
- 48 permissions across 13 roles, scoped per client account
Go deeper on this
The product pages and setup guides that cover what this article describes.
Searches this answers
- how to reduce rto in ecommerce india
- cod rto rate benchmark india
- return to origin cost per order
- reduce cod orders d2c india
- rto reduction playbook shopify india
Read next
Stop Optimizing for ROAS. Optimize for Contribution Margin.
Your best-performing campaign by ROAS might be your least profitable, and your reporting has no way to tell you.
ReadWhatsApp for D2C: What Works, What Gets You Blocked
WhatsApp obviously works as a channel and you are not sure where the line is between useful and blocked.
ReadBlended ROAS and MER: The Number That Cannot Be Gamed
Every channel reports a profitable ROAS, the totals do not add up to your actual revenue, and you cannot tell whether spending more is making you money.
Read
