To handle NDR with WhatsApp, trigger an approved utility template the moment your courier or aggregator reports a failed delivery, and give the buyer one-tap buttons to reattempt tomorrow, change the address or cancel. Capture the answer, push it back to the courier before the reattempt cut-off, and route anything unclear to a human agent within hours, not days.
That is the whole playbook in two sentences. The rest of this guide covers the details that decide whether it actually saves parcels: the reason-by-reason actions, the webhook flow, template category rules, COD-to-prepaid nudges, fake-attempt disputes and the rupee math that tells you whether the effort is worth it.
What an NDR is and why it hurts Indian D2C brands
A Non-Delivery Report (NDR) is the status a courier raises when a delivery attempt fails. The parcel is still with the courier, so the order is not lost yet. But if nobody acts, most couriers will reattempt a limited number of times and then mark the shipment Return to Origin (RTO).
In India the common NDR reasons are familiar to anyone running a D2C store:
- Customer not available or phone switched off when the rider calls.
- Wrong or incomplete address, very common in Tier-2 and Tier-3 towns where buyers write "near temple, behind school" with no house number.
- Refused at doorstep, often impulse COD orders the buyer no longer wants.
- COD cash not ready when the rider arrives.
- Premises closed, typical for office addresses on weekends or shops during lunch.
- Fake attempts, where the rider marks "customer not available" without actually visiting.
Cash on delivery still makes up a large share of Indian e-commerce orders, and industry estimates commonly put RTO rates for COD shipments well above prepaid. Every RTO means you paid to ship the parcel out, you pay again to bring it back, and the product may come back damaged or unsellable. NDR management is the last chance to stop that loss.
The NDR-to-action window: why speed decides everything
Couriers typically schedule the next attempt within roughly 24 to 48 hours of a failed one, and most allow only a small number of attempts before RTO kicks in. That gives you a narrow window to reach the buyer, get a clear instruction and pass it back to the courier before the rider leaves the hub again.
Traditional NDR handling looked like this: an ops executive downloads an NDR sheet from the aggregator panel the next morning, calls buyers one by one, and updates actions in bulk by afternoon. By then half the reattempts have already gone out with no new information, and the same failure repeats.
WhatsApp compresses this. The message goes out within minutes of the NDR event, the buyer usually sees it on the same phone the rider could not reach, and the reply comes back as structured data rather than a scribbled note. The goal is simple: every NDR should have a buyer instruction before the next attempt leaves the hub.
If you already confirm COD orders before dispatch, NDR messaging is the second line of defence. Our guide on WhatsApp COD confirmation to reduce RTO covers that first line in detail.
NDR reasons mapped to WhatsApp actions
Do not send one generic "delivery failed" message for every reason. The buyer who was not home needs a slot; the buyer with a bad address needs a landmark field. Map each courier reason code to a specific message and a specific set of buttons.
| NDR reason | WhatsApp action | Buttons or input | Template category |
|---|---|---|---|
| Customer not available | Ask for a preferred reattempt day and alternate number | Reattempt tomorrow / Choose another day / Cancel | Utility |
| Wrong or incomplete address | Collect corrected address, landmark, pincode and a location pin | Change address / Share location / Talk to support | Utility |
| COD cash not ready | Offer to pay online now, or reattempt when cash is ready | Pay online / Reattempt tomorrow / Cancel | Utility |
| Premises closed | Ask for a time window or a residential address | Reattempt tomorrow / Change address | Utility |
| Refused at doorstep | Confirm whether refusal was intended, capture the reason | I still want it / Cancel order | Utility |
| Rider says customer unreachable, buyer disputes | Ask whether the rider actually visited | No one came / I missed the call | Utility |
Keep the button labels short. WhatsApp quick reply buttons have tight character limits, and on a small Android screen "Reattempt tomorrow" reads better than a full sentence.
How the courier webhook to WhatsApp flow works
Most Indian shipping aggregators and large couriers can notify your system when a shipment status changes, either through a webhook or a status API you poll. The exact payload differs by provider, so check your aggregator documentation for field names. Conceptually, the flow looks the same everywhere.
Step 1: Receive the NDR event
Your aggregator sends a status update that includes the order or AWB reference, the NDR reason and the attempt count. Your backend (or a no-code connector) receives it and looks up the buyer phone number and order details.
Step 2: Pick the right template
Map the reason to one of your approved templates from the table above. Fill variables such as buyer name, order number, product name and attempt number. Skip sending if the buyer already replied to an earlier NDR on the same shipment in the last few hours, so you do not spam.
Step 3: Capture the reply
A button tap comes back to your webhook as a structured reply. For address changes, open a short guided flow: ask for house or flat number, street, landmark and pincode, then invite the buyer to share a location pin. Validate the pincode against your serviceable list before accepting it.
Step 4: Push the action back to the courier
Update the NDR action in your aggregator panel or through its API: reattempt with a date, reattempt with an updated address or phone, or RTO. This is the step brands most often forget to automate, and without it the WhatsApp reply changes nothing on the ground.
Step 5: Escalate what automation cannot solve
If the buyer types free text, picks "Talk to support", or does not reply within a set number of hours, move the conversation into a shared team inbox. A human agent can read a messy address, call the buyer, or coordinate with the courier hub. Because the buyer has messaged you, the 24-hour customer service window is open, so agents can reply freely without a template.
Once the parcel is delivered, the same pipeline can close the loop with a delivered confirmation. See our walkthrough on WhatsApp order status and tracking automation for the full shipment-update journey.
Designing NDR templates: utility category and buttons
NDR follow-ups are transactional. They relate to an order the buyer already placed and ask for an action needed to complete it. That places them squarely in the utility category under Meta rules, which is cheaper than marketing and is not subject to the same frequency caps.
The catch: Meta reviews templates and can recategorise a utility template as marketing if it contains promotional content. Do not add "use code SAVE10 on your next order" to an NDR message. Keep it strictly about this delivery. Our explainer on WhatsApp marketing vs utility message categories shows what typically triggers a recategorisation.
A good NDR template has four parts:
Get a 1-minute BSP audit on WhatsApp
Drop your WhatsApp number — we line-item your current invoice against Meta India rates in under 60 seconds. India-hosted, DPDP-compliant.
- Context: "Hi Priya, our courier could not deliver your order #10482 (Cotton Kurta Set) today."
- Reason: "Reason shared by courier: address incomplete."
- Deadline: "Please update by 8 PM so we can reattempt tomorrow."
- Buttons: Reattempt tomorrow / Change address / Cancel order.
Write templates in the buyer language where you can. A Hindi, Tamil or Marathi version of your top NDR template often gets a noticeably better response in regional markets than English alone. Submit each language as its own template for approval.
On response rates, stay realistic. Brands running NDR flows on WhatsApp commonly report that a meaningful share of buyers respond, often somewhere in the range of 30 to 60 percent depending on reason, category and how fast the message goes out. SMS and cold calls usually do worse. Measure your own baseline rather than trusting any single number.
Converting COD to prepaid at the NDR moment
"COD cash not ready" is the most recoverable NDR reason, because the buyer still wants the product. They simply did not have cash when the rider arrived. This is exactly the moment to offer a payment link.
Send a utility template with a "Pay online" button that opens a UPI or payment-gateway link for the exact order amount. When payment succeeds, update the shipment from COD to prepaid with your aggregator (where supported) and tell the rider not to collect cash. Some brands add a small incentive, such as waiving a COD fee, but keep any incentive wording factual so the template stays utility.
Prepaid reattempts tend to have a much higher delivery success rate, because a buyer who has already paid is unlikely to refuse. For the full pre-dispatch version of this tactic, read our guide on converting COD orders to prepaid on WhatsApp.
Flagging fake delivery attempts
Every Indian D2C founder has heard it: "I was home all day and nobody came." Fake attempts happen when a rider marks an NDR without visiting, usually to manage a heavy route. They inflate your RTO and are hard to prove after the fact.
WhatsApp gives you evidence at scale. Add a button such as "No one came" to your not-available template. When a buyer taps it, log the dispute with a timestamp against the AWB and rider or hub if your aggregator shares it. Over a few weeks you will see patterns: specific pincodes, hubs or courier partners with far more disputed attempts than average.
Use that data in three ways: escalate the specific shipment to the aggregator for a priority reattempt, raise recurring hub issues in your account reviews, and shift volume away from partners with persistent problems in certain pincodes. Keep the tone neutral with buyers; do not promise that the courier will be penalised.
WhatsApp vs SMS vs IVR call for NDR
Most brands already use some mix of SMS and automated calls. Here is how the channels typically compare for NDR recovery specifically.
| Factor | SMS | IVR or agent call | |
|---|---|---|---|
| Typical engagement | High; buttons make replying effortless | Low; links often ignored or seen as spam | Medium; depends on buyer picking up |
| Captures corrected address | Yes, including landmark and location pin | Only through a web link | Agent must type it, error-prone |
| Accepts payment for COD to prepaid | Yes, payment link in the same thread | Yes, through a link | Needs a follow-up SMS or message |
| Structured data back to your system | Yes, button replies are machine-readable | Limited | Keypress only for IVR |
| Proof for fake-attempt disputes | Timestamped written record | Weak | Call logs only |
| Cost per touch | Low, per-message utility pricing | Very low per SMS | Higher per call, especially with agents |
The practical answer for most brands is WhatsApp first, with an IVR or agent call as a fallback for buyers who do not reply within a few hours, and SMS only where a number is not on WhatsApp.
RTO cost math: what one saved parcel is worth
The business case is simple arithmetic. Forward and reverse shipping charges vary by courier, weight, zone and your negotiated rates, but for a standard lightweight D2C parcel an illustrative range is roughly ₹60 to ₹150 per leg. An RTO means paying for both legs and earning nothing.
| Cost item | Illustrative range per RTO | Notes |
|---|---|---|
| Forward shipping | ₹60 to ₹150 | Already spent when the NDR is raised |
| Reverse (RTO) shipping | ₹60 to ₹150 | Often charged close to the forward rate |
| COD handling fee | ₹0 to ₹50 | Depends on your contract |
| Packaging and damage loss | ₹15 to ₹100 or more | Higher for fragile or apparel returns needing re-press |
| Total loss per RTO | Roughly ₹135 to ₹450 | Excludes the lost margin on the sale itself |
| WhatsApp NDR touch (utility, 1 to 3 messages) | A few rupees at most | See per-message pricing below |
Run your own numbers. Suppose you ship 10,000 orders a month, 8 percent raise an NDR, and WhatsApp follow-up converts even a fifth of those into deliveries that would otherwise have gone RTO. That is 160 parcels saved. At a conservative ₹200 average loss per RTO, you avoid around ₹32,000 in logistics loss, before counting the revenue from the delivered orders. The messaging cost for 800 NDR conversations is a small fraction of that.
On RichAutomate, billing is usage-only with ₹0 setup fee and ₹0 monthly fee. With Client Pay you pay Meta directly on your own card and we charge a ₹0.10 platform fee per message. With SaaS Pay we bill Meta charges through your wallet at ₹0.30 per utility message and ₹1.20 per marketing message. Since NDR follow-ups are utility, a three-message NDR thread under SaaS Pay costs about ₹0.90. Full details are on our WhatsApp API pricing page.
NDR recovery also feeds your wider returns strategy. For post-delivery returns and exchange flows, see our guide on WhatsApp returns management and RTO reduction.
Measuring NDR recovery and preparing for festive peaks
Track a small set of metrics weekly, split by NDR reason, courier partner and state:
- NDR-to-delivered conversion: share of NDR shipments that end up delivered rather than RTO. This is the headline number.
- Response rate: share of NDR messages that get a button tap or reply.
- Time-to-action: minutes from NDR event to buyer instruction pushed back to the courier. Aim to beat the next reattempt comfortably.
- Escalation rate: share of threads needing a human agent, and how fast agents close them.
- Disputed attempts: "No one came" taps per hub or pincode.
Festive season changes the game. Around Diwali and big sale events, order volumes and courier load spike together, and NDR rates usually climb with them. Before peak, pre-approve templates in every language you need, load-test your webhook handler, add temporary agents to the shared inbox, and lower your escalation threshold so no NDR sits unanswered for a whole day.
One caution: WhatsApp improves your odds, it does not guarantee delivery. Couriers still miss slots, and buyers still change their minds. Treat NDR messaging as a measurable recovery lever and keep optimising the reason-wise templates that underperform.
Ready to stop losing parcels at the last mile? Start free on RichAutomate, connect your aggregator webhook, and have your first NDR templates submitted for approval the same day.