COD and RTO in Indian E-commerce: How to Protect Your Margins
Why a returned COD order costs more than a lost sale, where RTO actually comes from, and the checkout, communication and carrier-allocation fixes that reduce it.
What this covers
- Why RTO is worse than it looks
- The real cost of a returned COD order
- Where RTO actually comes from
- Fixes at checkout
- Fixes after the order
- Fixes in how you ship
- What to measure
Cash on delivery is not going away in India. Depending on category it is still somewhere between 40% and 70% of orders, and for a lot of customers it remains the only payment method they trust with a brand they have not bought from before.
It also quietly destroys margins. Not because of the payment method itself, but because of what comes with it: return to origin.
Why RTO is worse than it looks
When a prepaid order fails to deliver, you refund and move on. When a COD order fails, you have paid for a round trip and received nothing. Founders tend to think of RTO as “a lost sale”. It is worse than that — it is a lost sale that cost you money to attempt.
The maths on one failed COD order
Forward shipping (paid) + return shipping (paid) + packaging (consumed) + handling and QC on the returned item + working capital tied up for the whole cycle + the marketing cost of acquiring that customer, now spent on nothing. A single RTO frequently wipes out the profit on two or three successful orders in the same category.
Which means a 25% RTO rate is not “losing a quarter of orders”. It can be losing most of your profit.
Where RTO actually comes from
In our experience running logistics operations, failed COD deliveries cluster into a small number of causes — and they are not evenly weighted.
| Cause | Roughly | Fixable? |
|---|---|---|
| Customer unavailable at delivery attempt | Large share | Yes — scheduling and notification |
| Buyer's remorse / changed mind before delivery | Large share | Partly — faster delivery, better expectation setting |
| Wrong or incomplete address | Meaningful share | Yes — checkout validation |
| Fake or accidental orders | Smaller share | Yes — confirmation step |
| Cash not arranged at delivery | Smaller share | Yes — reminder before attempt |
| Courier never actually attempted | Smaller than sellers think, larger than couriers admit | Yes — carrier accountability |
Notice how many are fixable. RTO is often treated as a cost of doing business in India. Most of it is a process problem.
Fix it at checkout
Validate the address properly
Pincode-based auto-fill of city and state catches a surprising number of errors before they become failed deliveries. Enforce a minimum address length. Validate the phone number format, and require an OTP-verified mobile number on COD orders specifically — this alone removes most fake orders.
Make prepaid genuinely more attractive
Do not remove COD. Reduce its share by making the alternative better:
- A small prepaid discount (3–5%) usually costs less than the RTO it prevents
- Free shipping on prepaid, a modest COD handling fee on COD
- Faster delivery promise for prepaid orders
- UPI as the default, most prominent option — friction matters more than preference
Risk-score high-risk COD orders
Not every COD order carries the same risk. First-time buyer, unusually high order value, an address in a pincode with historically poor delivery rates, or multiple recent cancellations from the same phone number — any of these justify an extra confirmation step before you ship.
Fix it after the order, before dispatch
Confirm the order
An automated WhatsApp or call confirmation within a few hours of a COD order, asking the customer to confirm they want it, removes accidental and impulse orders before you have spent anything on shipping. The orders you lose here are orders that were going to fail anyway — you are just finding out cheaply.
Ship faster
This is the single most underrated lever. Buyer's remorse is a function of time. Every extra day between order and delivery is another day for the customer to find it cheaper elsewhere, forget they ordered, or simply cool off. Cutting delivery time from six days to three does more for RTO than most checkout changes.
Keep the customer informed
Order confirmed, dispatched, out for delivery — and critically, a message the evening before the attempt asking them to keep cash ready. “Customer unavailable” is frequently just “customer did not know today was the day.”
Fix it in how you ship
Choose the carrier by lane, not by contract
No courier is uniformly good across India. Performance varies enormously by region and by pincode. If you ship everything through one partner because the rate card was attractive, you are accepting their worst lanes along with their best.
Allocating each shipment to the carrier with the best recent performance on that specific origin–destination pair is exactly the problem we built WePicks to solve — it scores eligible carriers on cost, expected transit time and recent success rate on that lane, then picks.
Treat NDR as an emergency
When a delivery fails, you typically have a short window before the courier auto-initiates RTO. Most sellers discover the failure after that window has closed. Same-day contact with the customer to confirm the address or reschedule converts a meaningful share of failed attempts into successful deliveries — but only if you find out in time.
Hold carriers accountable
Track delivery success rate per carrier per region and review it monthly. Carriers respond to being measured. A partner who knows you are tracking lane-level performance behaves differently from one who does not.
What to measure
- RTO rate by pincode. You will find clusters. Some pincodes deserve prepaid-only.
- RTO rate by carrier by region. This is where reallocation decisions come from.
- RTO rate by product. High-return products may have a description or sizing problem, not a logistics problem.
- Time from order to delivery. Correlate it against RTO — the relationship is usually stark.
- NDR conversion rate. Of failed attempts, how many did you rescue?
- Prepaid share. The number you are ultimately trying to move.
Where to start
If you do only three things: add OTP verification on COD orders, send a WhatsApp confirmation before dispatch, and start contacting customers the same day a delivery fails. These are the cheapest interventions with the largest effect, and none of them require changing courier partner.
A note on the trade-off
Every anti-RTO measure adds friction, and friction costs you some real orders. An OTP step will lose you a few genuine buyers. A confirmation call will lose a few more.
The question is not whether you lose orders — it is whether the orders you lose were going to be profitable. Losing a COD order that would have RTO'd is not a loss. Measure contribution margin, not order count, and the decision usually becomes obvious.
