Home/Blog/eCommerce
eCommerce · 11 min read

COD, UPI and returns: the arithmetic that works

Most D2C advice assumes the customer pays when they order. A large share of Indian customers do not, and that one difference rearranges the entire economics of a store.

COD, UPI and returns: Indian D2C economics that actually work
S
Sayan SahaUpdated August 2026 · 11 min read

Most advice written for D2C brands assumes the customer pays when they order. In India, a large share of them do not, and that single difference rearranges the entire economics of a store.

It changes what a conversion is worth, because an order is not revenue until somebody accepts a parcel. It changes what a discount does, because the cheapest way to improve margin is usually not a discount at all. And it changes what you should build into your store, because most of the levers that move the number are product decisions rather than marketing ones.

This is the version of that arithmetic we run with Indian brands, and the levers we would pull in order.

The number that runs Indian D2C

Cash on delivery still accounts for a substantial share of D2C orders in India — routinely half or more for new customers, higher outside the metros, higher again in categories where trust is doing a lot of work. The share has been falling for years as UPI has become universal, and it is still nowhere near zero, and it will not get there soon.

The reason it persists is not, mostly, lack of access to digital payment. UPI is everywhere. COD persists because it is a trust instrument. The customer is not saying “I cannot pay online”. They are saying “I will pay when I can see that the thing turned up and is what you said it was”.

That reframing matters, because it tells you what actually moves the number. If COD were a payments problem, you would solve it with payment options. It is a confidence problem, so you solve it with everything that makes a first-time buyer believe the parcel will be fine.

The true cost of a returned-to-origin COD order, showing forward freight, reverse freight, packaging, handling, blocked inventory and the lost sale
A cancelled prepaid order costs you nothing. A refused COD parcel costs you twice the freight and a fortnight of stock.

What a refused parcel actually costs

Brands consistently underestimate this, because the visible cost is the freight and the freight is the smallest part.

When a COD order is refused at the door — return to origin — you pay forward freight, reverse freight, packaging, and two rounds of handling. The unit is out of your warehouse for one to three weeks, which is inventory you could have sold. If it comes back damaged or the packaging is unsellable, you take a write-down. Your customer service team spends time on it. And you paid to acquire that customer, so the acquisition cost has produced nothing.

Add that up and a single RTO commonly wipes out the contribution margin from two to four successful orders. Which means an RTO rate that sounds tolerable — the teens, say — is quietly consuming a large share of your profit while your revenue chart looks fine.

That is the whole reason this is worth engineering properly. You are not chasing a small operational improvement. On a store with a meaningful COD share, this is frequently the largest single margin lever available, larger than conversion rate and larger than most price changes.

The five numbers to measure

You cannot manage this without these, and most brands have two of the five.

NumberDefinitionWhy it matters
Prepaid sharePrepaid orders ÷ total ordersThe headline lever
RTO rate, CODRefused or undelivered ÷ COD orders shippedWhat COD is really costing you
RTO rate by pincodeSame, groupedWhere the risk is concentrated
Cost per RTOAll-in, including handling and blocked stockThe number that justifies the work
Prepaid share by cohortNew vs returning customersTells you whether it is trust or preference

That last one is the most diagnostic and the least commonly tracked. If returning customers go prepaid at a much higher rate than new ones — and they almost always do — you have confirmed that COD is a trust instrument, and everything below is aimed at buying that trust earlier.

Nine levers, in the order we would pull them

Nine levers for improving prepaid share and reducing RTO, plotted by impact against effort
The first four are cheap and most brands have not done them. The last two are real engineering.

One: a prepaid incentive that is worth having. A small discount, free shipping, or a genuine add-on for paying online. The important thing is that it must be visible at the point of choosing, not buried in a coupon field. Model it against your cost per RTO rather than against your gross margin — brands routinely find they can afford far more than they thought, because the incentive is competing with an RTO, not with full price.

Two: charge for COD. The mirror of the incentive and often more effective, because loss aversion is stronger than gain. A modest, clearly-explained COD handling fee moves a meaningful share of orders and reads as fair to most customers, especially when the prepaid option is framed as the saving.

Three: make UPI the obvious default. Not one option among nine. UPI first, one tap, with the recognisable apps visible. Payment method selection is a place where a longer list reduces conversion, and where a familiar logo does more than any amount of reassurance copy.

Four: fix the trust signals around the buy button. Return policy in plain language, delivery estimate with an actual date, an easy path to a human, real reviews with names and photographs, and clear information about what happens if the product is wrong. This is where the confidence problem is actually solved, and it is cheap.

Five: validate the address at entry. Pincode validation, phone verification by OTP, and a flag on addresses that look incomplete. A large share of failed deliveries are not refusals at all — they are parcels that never found the customer. This is the highest-return technical change on the list and it belongs in the checkout, not in operations.

Six: confirm high-risk COD orders before shipping. An automated message, ideally on WhatsApp, asking the customer to confirm. Cheap, fast, and it catches both accidental orders and the small share placed with no intention of accepting. The trick is to apply it selectively, or you introduce friction into orders that were never at risk.

Seven: RTO risk scoring. Score each COD order on pincode history, order value, product category, whether the customer is new, address quality and time of day. Then treat the tail differently: require prepayment above a threshold, ask for partial payment, or simply confirm before shipping. Most brands can build a workable version of this from their own order history in a week.

Eight: partial COD. Take a small prepaid amount at checkout and the balance on delivery. It converts far better than full prepayment for hesitant customers, and the deposit is enough to change behaviour dramatically at the door. It is underused in India and it is one of the most effective single changes we deploy.

Nine: the courier mix. Different carriers perform very differently by region, and their RTO rates are not equal. Track delivery success by carrier and pincode, and route accordingly. This is unglamorous, it takes a quarter of data to do properly, and it is worth real money.

Address quality is a margin problem, not a data problem

Worth its own section because it is treated as an operations irritation when it is actually one of the largest controllable costs in Indian ecommerce.

Incomplete addresses, missing landmarks, wrong pincodes and unreachable phone numbers produce failed deliveries that look identical to refusals in your reports. They are not the same thing at all, and they have completely different fixes.

Do three things. Validate the pincode against serviceability at checkout, and say so if you cannot deliver there. Require a phone number you have verified. And ask for a landmark — not as a required field that hurts conversion, but as an optional one with a good prompt, because in a large share of Indian addresses the landmark is the address.

Then measure failed deliveries separately from refusals. If you cannot tell them apart, you are optimising blind.

What the store itself should do differently

What an Indian D2C store should build into checkout: UPI first, prepaid incentive at the point of choice, address validation, partial COD and risk-based confirmation
Most of the levers live in the checkout, not in the marketing plan.

Concretely, the build differences from an international store:

  • UPI first, with the major apps recognisable, and as few competing options as possible.
  • The prepaid choice made explicit and priced, side by side, at the moment of decision.
  • Pincode serviceability and delivery date shown on the product page, not discovered at checkout.
  • Phone verification as part of the flow, not as a separate step.
  • Partial COD as a first-class option where it suits the category.
  • A risk hook between order placement and fulfilment, so scored orders can be held, confirmed or upgraded.
  • WhatsApp as the primary post-purchase channel, because email open rates in India do not carry the same weight.

None of this is exotic. Most of it is missing from Indian stores built on international templates, which is the single most common cause of a good brand having bad unit economics.

Building the risk score without a data science team

Because “RTO prediction” sounds like a machine learning project and does not have to be one.

Take twelve months of your own COD orders and mark each as delivered or returned. Then look at the return rate grouped by five things you already have: pincode, order value band, product category, new versus returning customer, and time of day. You are looking for groups where the rate is two or three times your average.

Almost every store has them, and they are usually obvious once you look — a set of pincodes, a price band, one product that attracts impulse orders. That grouping is your first model, and a simple rules table built from it captures most of the available benefit. Something like: hold for confirmation above a value threshold, require partial payment in the worst pincode decile, and require full prepayment for a specific category.

Two cautions. Do not let the rules quietly refuse service to whole regions — a high RTO pincode still contains good customers, and blocking it is a blunt instrument that costs you real revenue. Prefer confirmation and partial payment over refusal. And review the rules quarterly, because the pattern moves as your customer mix changes.

Only build something statistical when the rules table stops improving, which for most brands is a long way off.

WhatsApp is infrastructure here, not a channel

An aside that matters more than it sounds.

In markets where email carries the post-purchase relationship, order confirmation, shipping updates and support all happen in an inbox. In India, a large share of that traffic belongs on WhatsApp, and the difference in engagement is not marginal.

Practically, that means order confirmations, dispatch and delivery updates, COD confirmation prompts, delivery-attempt alerts and the return or exchange flow all work better there. The delivery-attempt alert in particular is worth building: a customer who knows the parcel is arriving today is dramatically more likely to be available for it, and unavailability is a large slice of what gets recorded as an RTO.

The trade-off is that it is a permissioned channel with real rules about templates and consent, and it costs per message. Treat it as an operational system with an owner, not as another place to send campaigns — the brands that misuse it lose the channel exactly when they need it most.

The mistakes we see most

Discounting instead of restructuring. A blanket discount buys revenue at the cost of margin. A prepaid incentive buys margin at the cost of a little revenue. Brands reach for the first because it is one field in an admin.

Treating RTO as an operations metric. It sits in a fulfilment report, gets discussed monthly, and is never connected to the acquisition cost that produced it. Put cost per RTO next to cost per acquisition in the same review and the priority changes immediately.

Copying an international checkout. Cards first, no UPI prominence, no serviceability check, no phone verification, no COD fee. It converts acceptably and it bleeds margin quietly.

Blocking COD entirely, too early. It works — and it can cut new-customer acquisition sharply in categories where trust is the barrier. Move the share, do not amputate the option, unless the category genuinely justifies it.

Not distinguishing failed delivery from refusal. Different causes, different fixes, one number in most dashboards.

Returns and exchanges, which are a different problem

RTO is a parcel that was never accepted. A return is a parcel that was, and then came back. Both hurt; they hurt differently.

Return rates in India are heavily category-dependent, and in apparel and footwear they are high enough to be the defining constraint on the business. Three things reduce them more than anything else: accurate sizing information specific to your products rather than a generic chart, honest photography including scale and fabric detail, and being explicit about what the product is not.

Then make the exchange easier than the return. A customer who exchanges keeps the revenue in the business and often ends up more loyal than one who never had a problem. A customer who returns is a refund plus two freight legs. Structure the flow so exchange is the first, easiest, best-supported option, and the difference shows up in your margin within a quarter.

And process the reverse leg fast. Money held is trust lost, and the brands with the worst repeat rates are usually the ones with the slowest refunds.

What good looks like

We are wary of publishing benchmark numbers because they vary enormously by category and price point, and a benchmark from somebody else’s business is a poor target. What we would say instead:

Your prepaid share should be rising quarter on quarter as your brand becomes known, and if it is flat, the trust signals are not working. Your RTO rate should be materially lower for returning customers than for new ones — if it is not, something is wrong with fulfilment rather than with intent. And your cost per RTO should be a number you actually know, because until it is, every argument about the size of a prepaid incentive is a guess.

The trajectory matters more than the absolute number.

What it comes down to

COD is not a payment method problem. It is a trust instrument, and the way to reduce it is to become trustworthy faster — visibly, at the point of decision, to somebody who has never bought from you.

Do the cheap things first: a real prepaid incentive priced against your cost per RTO, a COD fee, UPI as the obvious default, and honest trust signals around the buy button. Then fix address quality, which is a bigger cost than most brands realise. Then build risk scoring and partial COD, which are real engineering and worth it once the volume justifies them.

Do that and the unit economics of an Indian D2C store stop being a structural disadvantage and become an operational discipline — which is a much better problem to have.

Want to know what COD is costing you? Send us your order data shape and your current prepaid share through the contact form. We will come back with your real cost per RTO, which levers we would pull first, and what we would change in your checkout. Most of what we recommend is a fortnight of work, not a replatform.

You can also read quick commerce and ONDC for D2C brands, or the checkout audit we run before touching anything.

A fortnight of work, not a replatform

We will tell you what COD is actually costing you, and which three levers to pull first.

Send us your order data shape and your current prepaid share. We will come back with your all-in cost per RTO, the pincode and value bands carrying the risk, and what we would change in your checkout.

Most of what we recommend is a fortnight of build. The prepaid incentive alone usually pays for it inside a quarter.

NDA on request · you will hear back from Sayan or a senior lead, never a bot

More on eCommerce

Platforms, processors and the economics of selling online.

Question about your project? Tell us in 30 seconds — a senior lead replies.