Ecommerce

The Cheapest Way to Confirm a COD Order (With the Actual ₹ Math)

Every vendor in this market sells you calls. Calls are the expensive rung. Here is the unit economics of confirming a COD order on WhatsApp first and escalating to voice only when nobody replies.

10 min readAmomic-AI

What COD actually costs

  • 60–70%of Indian ecommerce orders are COD
  • 26%COD return rate
  • <2%Prepaid return rate
  • ₹400–600Fully loaded cost per RTO

Cash on delivery is still how most of India shops online, at 60% to 70% of orders despite a decade of UPI. It is also roughly thirteen times worse for returns: about 26% of COD orders come back against under 2% of prepaid ones.

The damage is not the refund. It is the fully loaded cost of the return — forward shipping, reverse shipping, packaging, handling and the acquisition spend you already burned to win that order — which lands at ₹400 to ₹600 per RTO.

Why calling everyone is wrong

The standard playbook is to dial every new COD order within minutes of placement, confirm intent and address, and write the result back to the order management system. It works. Vendors report answer rates of 62% to 74% and RTO reductions of 30% to 45% — though those last figures are vendor-reported, so treat them as the optimistic end of the range.

The problem is that it spends the most expensive channel on every single order, including the large share of customers who would happily have tapped “Yes, confirm” on a WhatsApp message and never needed a phone call at all. You are paying voice rates for message-rate work.

Unit costs per channel

Here is why the ordering matters so much. These are the rates the two channels actually bill at in India.

ChannelTypical India rateNotes
Inbound WhatsApp, user-initiatedNo conversation feeFree on Meta's side; platform fee may still apply
WhatsApp utility / authentication template~₹0.13 / messageThe category an order confirmation belongs in
Platform per-message fee~₹0.10 / messageCharged by your BSP or platform
WhatsApp marketing template~₹0.88 / messageDo not send confirmations in this category
AI voice call₹6 / minute (Adya)Roughly 26× the cost of a utility message
Indicative India rates, 2026. Messaging is per message, voice per minute. Meta's category pricing and platform fees both change — re-check before modelling.

The escalation ladder

Three rungs, cheapest first. Each one only handles what the one before it could not.

Rung 1 — WhatsApp utility message, immediately

Fire within minutes of the order, while intent is still fresh. Include the item, the amount payable and the delivery address, with quick-reply buttons to confirm, change the address, or cancel. A reply on any of those resolves the order for about ₹0.23 all in. An address correction here is worth as much as a cancellation — a wrong address is a guaranteed RTO.

Rung 2 — AI voice call to the non-responders only

After a few hours of silence, call. This is where the ₹6 per minute gets spent, and it is worth it precisely because the population has already been filtered down to the customers who are harder to reach. Confirm the same three things, and let the agent correct the address on the call.

Rung 3 — Hold or convert to prepaid

Orders that answer neither channel are your highest-risk segment. Offer a prepaid link with a small incentive, or hold the shipment pending confirmation. Shipping an unconfirmed COD order to an unreachable customer is the single most expensive thing in this article.

Every rung needs to write its result back to your OMS, which is what the REST API and signed webhooks are for — a confirmation nobody records is a confirmation you paid for twice.

The math, worked

Per 1,000 COD orders, comparing the voice-only default against the ladder. Two inputs below are assumptions you must replace with your own numbers — they are marked.

Call everyoneWhatsApp, then call
Messages sent01,000 × ₹0.23 = ₹230
Confirmed on WhatsApp0450 (45% — your number)
Calls placed1,000550
Calls answered (68%)680374
Voice spend680 × 1.2 min × ₹6 = ₹4,896374 × 1.2 min × ₹6 = ₹2,693
Total spend₹4,896₹2,923
Orders confirmed680824
Cost per confirmed order₹7.20₹3.55
Assumptions: 68% call answer rate (midpoint of the 62–74% vendor-reported range), 1.2 minute average call, ₹6/minute voice, ₹0.23 per utility message all-in, and a 45% WhatsApp confirmation rate. That last one is a placeholder — measure yours.
  • 51%Lower cost per confirmed order
  • +21%More orders confirmed
  • ₹1,973Saved per 1,000 orders
  • 144Extra orders reached

The ladder is about half the cost per confirmed order and confirms a fifth more of them, because the WhatsApp rung reaches people a phone call never gets to. Those 144 extra confirmations are the number that actually matters: at ₹400 to ₹600 of avoided RTO each, even a modest hit rate among them dwarfs the ₹1,973 you saved on channel costs.

What to measure

Most reporting in this space measures the wrong thing, in a way that flatters the tool.

Containment, not deflection

Deflection rate is commonly computed in a way that quietly counts abandoned sessions as successes. Containment is the honest version: sessions the automation actually engaged, divided into sessions it actually closed. Ask for containment, and ask how abandonment is treated.

Cost per confirmed order, not cost per contact

Cost per contact rewards spraying the cheap channel at everybody. Cost per confirmed order is the metric that reflects the outcome you are buying, and it is the one the table above is built on.

Address corrections as a separate outcome

A corrected address prevents an RTO just as surely as a cancellation does, but most dashboards fold it into “confirmed”. Break it out, because it is often the largest single source of value in the whole flow and you cannot optimise what you cannot see.

Adya reports call outcomes, resolution rates and drop-off points across every channel in one place — see what the analytics cover.

Compliance to check

Order confirmation is transactional rather than promotional, which usually puts it in a friendlier category — but the framework still applies and the classification is worth confirming rather than assuming.

Outbound commercial calls over Indian telecom networks fall under TRAI’s DLT registration and the TCCCPR framework, which treat AI and human diallers identically. Registered number series are prescribed — 1600 for service and transactional traffic, 140x for promotional — along with frequency caps and calling windows, and penalties are assessed per call rather than per campaign. Disclose that the voice is artificial: concealing it risks being treated as a deceptive practice under Indian consumer law.

Separately, the DPDP Act requires explicit informed consent to record and process the call, with a consent log and access controls to match. Not having opted out under TRAI is not consent under DPDP.

Frequently asked questions

Sources

  1. 1.HillTeck — Voice AI for ecommerce: how automated calls reduce COD fraud, 2026
  2. 2.ClickPost — Best RTO reduction tools for D2C brands in India, 2026
  3. 3.Vyora — How to reduce COD returns for Indian D2C brands
  4. 4.Caller Digital — COD order confirmation and RTO reduction
  5. 5.RichAutomate — WhatsApp containment rate and cost per resolution, India 2026
  6. 6.Decagon — Deflection rate: formula, benchmarks and calculation