Where RTO actually comes from
Impulse ordering leads the list. Someone orders at 1am after an Instagram ad, and by the time the parcel turns up four days later the intent has quietly evaporated, which is exactly why they refuse it at the door without a second thought. Then it costs you. Both legs of shipping, plus handling.
Then addresses. Incomplete flat numbers, missing landmarks, pin codes that do not match the locality. Tier two and three deliveries fail on this far more often than metro ones, and the courier will make two attempts before giving up.
Unreachable numbers. A wrong digit, a switched-off phone, or a customer who never answers unknown numbers, which is most people now.
And a smaller group of repeat refusers, the same phone numbers ordering and refusing across brand after brand.
The interventions that work, in order
Send an automated WhatsApp confirmation within minutes of the order, asking for a reply to confirm. Non-responders get a call before dispatch. This one step removes a meaningful share of RTO, because it catches the impulse orders while you can still cancel them cheaply.
Validate addresses at checkout. Pin code lookup that autofills city and state, a compulsory landmark field, and a phone field that rejects anything not ten digits starting with a valid prefix. OTP verification on the number is the strongest version of this. It blocks fake orders outright, as a bonus.
Push prepaid with an incentive that is smaller than your RTO cost. A modest discount for paying online is cheap next to a failed COD round trip, so show it as a clear saving in the cart, right at the moment the customer is choosing a payment method. Put the number in front of them.
Add a partial COD charge, collected upfront over UPI. Even a small token amount shifts commitment sharply.
Use RTO risk scoring from your shipping aggregator to block or restrict COD for high-risk pin codes and repeat refusers. Review that blocked list monthly, so you are not turning away genuine demand in markets that are still growing.
Measuring it honestly
Track RTO as a share of COD orders dispatched, and split it by pin code, by product and by traffic source, every single month, because source matters far more than most brands ever expect it to. You will usually find one campaign, or one creative, throwing off far worse RTO than the rest. Then compare your true cost per delivered order against the cost per order shown in the ad dashboard, and sit with the gap between those two numbers for a moment, because that gap is what COD is really costing you.
Related questions: Why did my ROAS drop after scaling? · How do I know which ad channel actually made money? · Should I sell on marketplaces or my own website?.
Want this handled: E-commerce growth · All answers.
Confirm the order before it ships, verify the address, and give people a reason to pay upfront. Most RTO in Indian D2C comes from three things: impulse orders the customer forgot about, bad addresses and unreachable phone numbers. A confirmation step on WhatsApp catches all three before you have spent a rupee on forward shipping, packaging and the return leg.
For most Indian D2C brands that removes a large slice of demand, particularly outside the metros. Restrict it selectively instead. Go by pin code, order value and risk score, rather than pulling an option a big share of your customers still prefer.
A small, clearly displayed COD handling fee is widely accepted now. The complaints come from surprise charges revealed at the final step. State it beside the payment option, so the customer chooses with full information in front of them.
Ready to replace guesswork with a growth engine?
Book a 30-minute strategy call. We’ll show you exactly where your funnel is leaking, before you spend a dollar.