WhatsApp for COD confirmation and failed delivery calls
The cheapest win in Indian e-commerce logistics: confirming a cash-on-delivery order on WhatsApp before dispatch, and the failed-delivery call script that recovers an order instead of cancelling it.


The cheapest win in Indian e-commerce logistics: confirming a cash-on-delivery order on WhatsApp before dispatch, and the failed-delivery call script that recovers an order instead of cancelling it. In this deep dive, we explore actionable strategies, real-world engineering blueprints, and future-proof patterns to elevate your digital operations.
A cash-on-delivery order is not a sale. It is an option the customer bought for free, and they can walk away from it at the door. Every other payment method is settled before the parcel leaves your warehouse. COD is the only one where the money arrives after a stranger has already carried the box across the city.
That asymmetry explains most of the return-to-origin (RTO) numbers I see. The order was never confirmed by anyone with authority to confirm it — it was placed at midnight by someone who may not be home on a Tuesday, for an address a courier will struggle to find.
WhatsApp is the cheapest place to close that gap, because it is the one channel the customer actually reads and the one the courier can reply to.
Why COD fails, in the order it fails
RTO rarely happens for one reason. It is a chain, and each link costs you money.
- The order was not really intended. Someone was browsing, tapped buy, and never pictured a courier arriving. A confirm step before dispatch flushes these out while cancellation is still free.
- The phone number is wrong or unreachable. A wrong number means the courier's call never connects, which is logged as "customer not available" and counts against you the same as a refusal.
- Nobody is at the address at the delivery slot. In a household where everyone works, a 2pm attempt on a weekday fails by default.
- The amount is not what they expected. Shipping, COD handling fees and add-ons added at checkout are read for the first time at the door. A ₹1,300 bill on a ₹999 order is a refusal, not a negotiation.
- The address is unreachable by the courier's route. Landmark-only addresses, gated societies with no entry policy, and pin codes that route to the wrong hub.
Only one of those five is about the product. Four are about information, and information is what a message before dispatch fixes.
Confirm before you pack
The single highest-return change is a confirmation step between order creation and warehouse pickup. Not a receipt — a question that requires an answer.
The message needs four things and nothing else: the order number, the amount payable at the door, the delivery window, and one explicit ask. Something a customer can answer in a single tap or a single word.
| Ask | Why it is on the list |
|---|---|
| "Is this address reachable?" | Catches wrong flats and landmark-only addresses while you can still fix them |
| "Will someone be there between 10am and 7pm?" | Turns a failed attempt into a scheduled one |
| "Amount payable at delivery is ₹X — confirm?" | Pre-empts the doorstep surprise, the most common refusal reason |
| "Reply YES to dispatch, or CANCEL to stop" | Gives the customer a free, legitimate exit before you spend on logistics |
The fourth line is the one people resist, and it is the one that pays. A customer who wants to cancel will cancel eventually — after the parcel has travelled to their city and back. Letting them do it before pickup costs you a warehouse touch. Letting them do it at the door costs you two-way freight, a failed-attempt charge, and a returned unit that may not resell cleanly.
Keep the confirm window short but realistic. Twenty-four to forty-eight hours before dispatch is enough for a reply and early enough to cancel cleanly. Sixty hours is long enough for the customer to forget they were asked.
This is a utility template, and it behaves like one
A COD confirmation is tied to a transaction the customer started, so it belongs in the utility category — not marketing. That matters for cost, and it matters for approval. The three categories, what each allows and what each costs, are covered in WhatsApp template categories; the short version is that adding persuasion to this message is what gets it reclassified as marketing and billed at a higher rate for the rest of its life.
Do not put a discount in the confirmation. "Confirm your order and get 10% off your next one" turns a transaction message into a promotion, and it is exactly the wording that draws a reclassification. If you want the offer, send it as a separate marketing template where you can measure it honestly.
Order confirmations and delivery updates also arrive outside the 24-hour customer service window, because the customer messaged you days ago or never messaged at all. Templates are what you use there. The rules for when free-form replies are still allowed are in the 24-hour customer service window guide.
The failed delivery call, rewritten
The second lever costs nothing to change: what your team says when the first delivery attempt fails.
Most operations call once, get no answer, and log a failed attempt. The courier's app marks it "customer not available", the parcel returns to the hub, and after two or three attempts it goes back to you. Meanwhile the customer has no idea anything happened.
A WhatsApp message works better than a call for the same reason people ignore unknown numbers: they will read a message from a business they ordered from, and they will not pick up a call from a number they do not recognise. The message also survives — it sits in the chat as a record, unlike a call that leaves nothing.
A sequence that recovers orders in practice:
- Immediately after a failed attempt, send the fact, not a blame. "The courier attempted delivery at 2:10pm today and could not reach anyone. The parcel is with the local hub." No accusation of the customer, no "your number was unreachable".
- Ask one question with three answers. Redeliver tomorrow, change the address, or cancel. Three buttons, one decision.
- Confirm the rescheduled slot back to them, in the same chat, with the date. A slot the customer agreed to is a slot they will keep.
- If there is no reply in 24 hours, one follow-up — and only one. A second unanswered nudge should route to a human or to a documented cancel path, not to a third message.
- Log the outcome in the same place the order lives. A recovery that only exists in someone's phone chat log cannot be measured, and cannot be repeated on purpose.
The economics are simple. One avoided RTO typically pays for a few hundred delivered confirmation messages. The reason operations do not do this is not cost — it is that the failed-attempt event lives in the courier's system and the customer conversation lives somewhere else. Joining those two is the whole job.
What to measure
Four numbers, and no more than four, or nobody looks at them twice.
- Confirm reply rate. If under half of COD orders reply to the confirmation, the message is not asking clearly enough, or the number is wrong.
- Cancellation rate at confirm. This is a good number, not a bad one. Every cancellation here is an RTO you did not pay for.
- First-attempt success rate. The clearest read on whether address and slot information actually reached the courier.
- RTO rate by reason. Split by "customer refused", "not available", "wrong number" and "unreachable address". Each reason has a different fix, and lumping them together hides which one you are actually solving.
Track them per courier partner as well as overall. A partner whose failed attempts cluster on a pin code is telling you something about routing, not about your customers.
Where this fits
COD confirmation is a template and a rule: send it before dispatch, ask one question, honour the answer. The failed-delivery recovery is a process: same chat, three options, one follow-up, logged outcome.
BNex keeps both in one place — the order confirmation template, the incoming replies, and the failed-attempt follow-up all sit in a shared inbox instead of in three different tools and one person's phone. If you are setting this up from scratch, the template approval guide covers the submission side, and the pricing guide covers what utility messages cost by market.
If your RTO rate looks high and you cannot say which reason is driving it, send me your last month's failed-attempt log on WhatsApp. I will tell you which of the two levers is worth building first.
Related Reading
Get more insights like this
Join our list for practical automation, web engineering, and growth strategy — written by builders, for builders.

Manikandan S
Founder & Technical Lead at ZiyncFounder and technical lead at Ziync. I build high-performance websites and web applications for startups and mid-market teams: React, Next.js, Firebase. Based in Chennai, working with clients worldwide.