Close Cookie Popup
Cookie Settings
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage and assist in our marketing efforts. More info

I've spent the better part of the last two and a half years on one question: what can a brand's own data tell it that it doesn't already know, early enough to act on? I joined Shopflo when we worked with 300 brands. Today it's 1800+ D2C brands across India, and I build the data and intelligence products they run on.
Return to Origin is where that question gets tested hardest. It's the one place in ecommerce where a brand makes a high-stakes call thousands of times a day, using information it already owns and mostly ignores.
And every festive season the same thing happens. RTO spikes. Brands are surprised. They shouldn't be. RTO has very little to do with shipping. Every COD order you accept is an unsecured loan: you send goods worth real money to a stranger on the promise they'll pay at the door. No credit check, no collateral, no recourse, no way to price the risk. Your RTO rate is a default rate. Lenders solved that problem decades ago by using data to decide who gets credit and on what terms. Checkout is the last place still handing it out on trust.
30 to 35% of a D2C brand's annual revenue lands inside the festive window. One season doing the work of a quarter.
Two things change at once, and they pull in the same direction.
Brands go aggressive. More ad spend, louder creatives, sharper offers, because everyone is chasing the same surge in demand. Shoppers go opportunistic. Festive season creates ambient buying intent across the country. People buy because everyone is buying, not because they've decided anything.
Low intent correlates strongly with Cash on Delivery, and COD already sits at 55 to 65% of orders in Indian D2C on an ordinary day.
Then the quieter problem arrives. Warehousing and dispatch get stretched thin, delivery timelines extend, and every extra day an order spends in transit raises its RTO risk.
So festive RTO is two variables compounding each other: more low-intent COD demand, meeting slower fulfilment.
Typical COD RTO runs 15 to 25%. In apparel, where sizing and impulse both work against you, 25 to 35% is normal. Prepaid RTO, for the same brand in the same week, runs 2 to 5%.
Hold those two numbers next to each other. The payment method is doing more work than your product, your pricing or your creative.
Now price it. One returned order costs roughly ₹150 to ₹250 all in: forward shipping, the return leg, packaging, pick and pack, and the working capital locked up for three weeks. A brand doing 10,000 festive orders at 60% COD and 22% RTO ships about 1,300 orders that come back. At ₹200 each, that is ₹2.6 lakh spent on orders that generated zero revenue.
None of it appears on the revenue dashboard. Which is precisely why it goes unmanaged.
If you track one leading indicator, make it COD share: the percentage of orders being placed as Cash on Delivery rather than prepaid.
Why that over RTO itself? Because RTO is a lagging indicator. You find out an order failed after the first delivery attempt, seven to fourteen days after it was placed. By the time your RTO percentage moves, the money is already gone.
COD share moves in real time, and it moves first.
It also names the trade-off every brand makes during a sale, whether they've admitted it or not. You can buy conversion by loosening COD, and you will pay for it later in RTO. It's a dial you're already turning. The only question is whether you're turning it on purpose.
Ideally festive prep starts a month or two out, with enough time to audit the funnel end to end and fix the leaks before you pour ad spend into it. Brands don't always have that luxury.
So here's what I tell a brand with ten days on the clock.
1. Audit your ad targeting. Look at who your ads are actually reaching. If you're buying impressions in RTO-heavy geographies and cohorts, your problem starts at the top of the funnel, not at checkout.
2. Tighten your checkout-level COD controls. This is underwriting, so treat it that way. Partial COD, risk-based rules, PIN code and order value thresholds, past behaviour. Not a blanket block.
3. Add a post-order verification layer. For high-risk orders, confirm before dispatch. A call or a message lets you decide whether to ship, instead of finding out three weeks later.
4. Stress-test your ops throughput. Sale volume arrives in a short, sharp burst. If dispatch can't keep pace, transit times stretch and RTO risk climbs alongside them.
5. Pre-commit your thresholds. This is the one brands miss. Nobody makes a considered policy call at 2am on day one of a sale, so write the rules before it starts: if COD share crosses 68%, partial COD activates in tier-3 PIN codes. Automate the decision so nobody has to be watching a dashboard to make it.
Once you're live, four things deserve a daily glance: conversion rate split by COD versus prepaid, delivery turnaround time, cancellation rate by geography, and COD share against the threshold you set.
Blocking is the crudest instrument available. No lender responds to defaults by refusing all loans. They underwrite, and they price risk accordingly.
Four things worth having.
Granular COD rules based on customer history, UTM source, order parameters or geography, rather than an all-or-nothing switch.
Post-order risk scoring with explainability. Risk scoring isn't new. What's changed is that "high risk" no longer has to be a black box. When a brand can see why an order was flagged, it acts with confidence rather than guessing.
Partial COD. A small amount upfront, balance on delivery. Collateral, in lending terms. It filters out a meaningful share of low-intent orders without closing the door on COD.
Segmentation. This is where the next real gains are, and it's the piece almost nobody has built properly.
RTO is a different problem for every cohort, so one rule applied to everybody is guaranteed to be wrong in both directions at once.
A repeat customer with four delivered orders and no returns should get COD offered freely. Her observed default rate is near zero, and blocking her costs you a loyal buyer to prevent a risk that isn't there.
A first-time buyer from a high-RTO PIN code, arriving at 11pm on a discount-led campaign, should see partial COD only. A customer with two prior RTOs against their number should see prepaid, full stop.
Same checkout, three risk positions, three different offers. That's how credit works everywhere else in the economy. Checkout is the last place still pretending every customer is identical.
A beauty and cosmetics brand made a call that sounded reckless when they first floated it: kill Cash on Delivery entirely. Partial COD only, money down upfront, no exceptions. On paper that's a conversion killer, and for a few weeks it was. They took the hit and held their nerve.
Here's what made it worth it. Meta's algorithm doesn't only learn who clicks, it learns who converts, and it optimises toward finding more of that person. With COD off the table, only prepaid-willing shoppers were converting, so the algorithm quietly retrained itself to hunt for exactly that audience.
Months later they switched COD back on. The traffic their ads were pulling had already been reshaped into a prepaid-leaning crowd, by habit rather than by rule. COD came back. The low-intent buyer it usually attracts did not.
That second-order effect is the part most brands never think about. Your checkout policy is a training signal for your ad platform. Change what counts as a conversion and you change who the algorithm goes looking for, for months afterwards.
An apparel brand went the opposite way. Rather than one blunt policy change, five surgical ones at once: COD switched off for known high-risk customers, blocked in specific high-risk PIN codes, pulled from certain states altogether, phone verification before dispatch on anything flagged, and no shipment at all if an order stayed flagged after that call. The win showed up somewhere other than the dashboard. It was money never spent: no warehouse pick, no packaging, no courier cost, on orders both sides already knew were coming back.
Different categories, opposite tactics, one shared principle. Treat RTO as a controllable variable rather than a cost of doing business.
COD blocking alone will not solve RTO.
It's a multivariable problem. Ad targeting, checkout controls, post-order verification, ops throughput and iteration speed all move the number, and they only work in combination. Flipping one toggle and hoping is not a strategy.
Most festive RTO has nothing to do with fraud or malice. It happens because brands chase volume in the one season that genuinely matters, and don't build the corresponding checks until it's too late to matter.
The brands that get this right haven't stopped offering COD and haven't stopped scaling. They underwrite it, in real time, all the way through the sale, rather than measuring it afterwards and regretting it.
One thing to do before your next sale: work out what a single RTO order costs you in rupees, multiply it by your projected COD volume, and put that number in front of whoever owns your ad budget. In my experience most teams have never seen it written down, and the conversation changes the moment they do.
Siddhant Jagtap is a Product Manager at Shopflo, where he leads data and intelligence products. He built Shopflo's RTO product from the ground up and has worked with 1100+ of Shopflo's 1800+ D2C brands on using their own data to reduce return-to-origin rates across categories.