
About 1 in 4 COD parcels in India comes back. Shipway's FY25 ShipNotes data, as reported by the Amazon Shipping blog, puts RTO at about 26% on COD orders and under 2% on prepaid. Each one costs you shipping both ways, packaging and blocked stock, and Meta still counts it as a purchase.
You can reduce RTO on COD orders without switching COD off. Here is how to measure it, and 7 fixes in the order we would run them.
COD orders come back because the buyer has nothing at stake until the parcel arrives. A wrong address, a buyer who changed their mind, a fake order or a slow delivery all end the same way: the courier returns the parcel and you collect nothing.
The common causes, roughly in the order you can control them:
Keep RTO separate from customer returns. RTO means the parcel never reached the buyer. A return happens after delivery. One merchant on the Shopify Community found that "like 60% of it was RTOs from bad pin codes" once they split the two. Mixed together, courier problems look like product problems.
Measure RTO as RTO orders divided by orders dispatched, then split that rate by pin code, courier, product, payment mode and campaign. One account-level number hides where the leak sits, so you end up fixing the wrong thing.
Set up three things first:
Then put a rupee value on it. Amazon Shipping gives ₹180 to ₹240 per RTO as an illustrative logistics estimate: forward shipping, reverse shipping, repackaging and holding cost.
Here is an illustrative example, not data from any brand:
| Line | Value |
|---|---|
| COD orders a month | 3,000 |
| RTO rate on COD | 26% |
| RTO parcels | 780 |
| Cost per RTO (₹200, inside the ₹180 to ₹240 range) | ₹1,56,000 a month |
| Revenue that never landed (at ₹1,200 AOV) | ₹9,36,000 a month |
That ₹1.56L is logistics alone. It does not count the ad spend that bought those orders. If you want the ROAS side of this, our guide to RTO adjusted ROAS walks through it by campaign.
The fastest way to reduce RTO on COD orders is to work along the parcel's path: fix the address, filter risky orders, confirm intent, then speed up delivery and recover failed attempts. Early fixes are cheap and stop bad orders from shipping at all. Later fixes save parcels already on the road.
Make the address fields do the work before the order exists. Amazon Shipping recommends making flat or house number, locality, landmark and pin code mandatory at checkout.
Add a pin code check that confirms the city and state, and flag addresses that look like gibberish or repeat a single word. This fix costs almost nothing and hits the 18 to 24% of RTOs that start with a bad address.
Do not offer COD to everyone on equal terms. Use your own RTO data to decide where COD stays open, where it needs a deposit and where it closes.
Rules worth testing:
Tools exist for this. Cashfree CODFIRM hides COD by pin code, product, order value and high-RTO customers. Razorpay Magic Checkout has a COD Intelligence setting that turns COD off for high-risk customers. Shiprocket scores each order's RTO risk before you process it.
Ask the buyer to confirm before you ship. A WhatsApp message, SMS or OTP turns a casual tap into a decision, and gives you a reason to hold orders nobody confirms.
Amazon Shipping's playbook starts with first-time COD buyers, which keeps the friction away from loyal customers. CODFIRM, for example, runs OTP verification on COD at checkout and sends confirmation and delivery alerts on WhatsApp.
Hold unconfirmed orders for a fixed window, then cancel them. A cancelled order costs you nothing to ship.
Partial COD means the buyer pays part of the order online and the rest at the door. Money at stake changes behaviour, and you keep COD for buyers who want it.
Razorpay Magic Checkout lets you set partial COD by risk segment, with the upfront amount capped at 50% of the order value. The Partialy Shopify app collects 20 to 50% upfront and has a free plan for 25 orders a month (as of November 2026).
Use it where your data says RTO is high, not across the board. Asking every buyer for a deposit can cost you more orders than it saves.
Every order that moves from COD to prepaid moves from about a 1 in 4 RTO risk to under 1 in 50, on Shipway's numbers. That makes a prepaid nudge the biggest single lever on this list.
Ways to do it:
Price the incentive against your RTO cost. If an RTO costs you ₹200 and a COD order comes back 26% of the time, the expected loss is about ₹52 per COD order before you count lost revenue (illustrative).
Speed matters because the buyer's intent fades while the parcel waits. Shipway's FY25 data shows RTO at 22% for orders attempted in 1 to 2 days and 35% after 5 or more days.
Two moves help:
A non-delivery report (NDR) is your last chance to save the parcel. Amazon Shipping recommends treating NDR follow-up as a 24-hour task and calling the buyer before a third attempt.
Reach the buyer on WhatsApp or by phone, fix the address or reschedule, and push the new instruction to the courier the same day. Every NDR you let slide turns into an RTO.
Usually not. Switching COD off removes the RTO, but it also removes the buyers who only order with COD, and that is a big share of Indian ecommerce.
Razorpay, citing ET Prime Research (2024), says 60 to 65% of Indian ecommerce orders are placed via COD. A blanket switch-off cuts the bottom of your funnel.
Keep COD and narrow it instead. Close it in your worst pin codes, add a deposit on risky orders and reward prepaid. Unicommerce describes one brand that went from 39% RTO in November to 21% by March, through operations rather than by dropping COD.
Some campaigns bring in far more COD orders that come back, and your ad platform cannot see it. Meta's pixel reference says the Purchase event fires "when a purchase is made or checkout flow is completed", days before the courier knows the outcome.
So a campaign that fills up on low-intent COD buyers looks like a winner in Ads Manager. It gets more budget, and Meta finds more buyers like them. This is one reason Meta purchases rarely match Shopify orders.
To find these campaigns:
Plan ahead of big sales. Unicommerce's festive numbers show COD RTO more than doubling at the peak, so tighten COD rules before the sale, not after. Our Diwali ROAS drop guide covers the other festive checks.
Clevrr helps at two points: sizing your RTO leak, and finding the campaigns that create it.
To size the problem first, the free RTO Simulator takes your monthly orders, AOV, COD share and RTO rates and shows the revenue and shipping you lose each month.
Clevrr AI is an AI performance marketer for D2C brands. It reads delivery outcomes from Shiprocket and Delhivery next to your Shopify orders and your Meta and Google spend, so you can see which campaigns bring in orders that come back before you scale them.
To reduce RTO on COD orders, fix it in the order the parcel moves: clean addresses, COD rules by pin code and buyer, confirmation before dispatch, partial COD where risk is high, prepaid nudges, faster routing and same-day NDR follow-up. Measure by pin code, courier and campaign, so you fix the real leak.
Want a number to start with? Run your figures through the RTO Simulator, or start free with 500 credits and see which campaigns your RTO comes from.
A normal RTO rate for COD orders in India sits around 26%, against under 2% for prepaid, according to Shipway's FY25 ShipNotes data reported by Amazon Shipping. Your rate depends on category, pin code mix and delivery speed. It also rises in the festive season, when Unicommerce saw 58% of COD orders come back. Compare against your own trend first.
Partial COD asks the buyer to pay part of the order online and the rest on delivery. With money already paid, buyers have a reason to accept the parcel. Razorpay Magic Checkout caps the upfront part at 50% of the order value, and apps like Partialy collect 20 to 50%. Use it on high-risk pin codes and order values, not for every buyer.
Checkout fixes such as address rules, COD rules and confirmation show up in your next delivery cycle, because they stop risky orders before dispatch. You still need to wait for final delivery status on those orders before you measure, so judge each change on orders old enough to have an outcome. Delivery and NDR fixes take longer to read.
Join hundreds of D2C brands using Clevrr AI to automate their growth and efficiency.
Join 500+ D2C founders using Clevrr AI to automate their operations and scale faster.
Get Started Free