D2C & E-commerce

COD Confirmation Calls, NDR Calls and Reactivation with Voice AI: A D2C Playbook for Shopify Brands

COD confirmation calls, NDR calls and post-delivery reactivation calls are the three phone touchpoints that decide whether a D2C order turns into revenue or a return-to-origin (RTO). In India, cash on delivery orders are returned far more often than prepaid ones. However, most of that loss is preventable with a timely, specific phone call. Twenty2, the voice AI platform built by Shiprocket, automates all three. First, a new Shopify order triggers a COD confirmation call, and the result is written back to the order as a Shopify tag. Next, a failed delivery attempt triggers an NDR call that captures a re-attempt slot or corrected address. Finally, a delivered order triggers a feedback, support and reorder call. This guide explains each flow end to end, the Shopify and Shiprocket MCP integrations behind them, a formula to size your RTO losses, compliance guardrails and a one-week launch checklist.

Where D2C revenue leaks after checkout

Every D2C founder in India knows the feeling. A sale comes in at 11 PM and the dashboard lights up. Then, a week later, the parcel comes back. Perhaps the customer never meant to buy, typed the wrong pincode, wasn’t home when the courier came, or simply changed their mind at the door. Either way, you paid for the ad, the packaging, the forward shipment and the return shipment, and got nothing.

In fact, most of this leakage happens at three predictable moments in an order’s life: right after it’s placed, when delivery fails, and in the weeks after it arrives. This guide therefore shows how D2C brands use COD confirmation calls, NDR calls and reactivation calls powered by voice AI to plug all three. It also explains how Twenty2 connects them directly to your Shopify store and Shiprocket account.


Why COD orders cost Indian D2C brands so much

Cash on delivery isn’t going away. For example, Bain & Company’s How India Shops Online 2025 report notes that Tier-2 and smaller cities account for about 60% of new online shoppers since 2020, and these are exactly the shoppers most likely to choose COD. As a result, for many D2C brands, turning off COD means turning off a large share of demand.

The problem, however, is what happens after checkout. As per DD News, COD orders had a 24% return rate, compared with 10% for prepaid orders. Moreover, industry benchmarks put COD RTO even higher in categories like fashion and footwear.

Each RTO costs you three times: forward shipping, reverse shipping, and the handling, repacking and inventory lock-up in between. Consequently, on a ₹600 order, a single RTO can wipe out the margin of several successful deliveries.

The five most common causes of RTO

  • Low-intent or impulse orders placed with no real plan to pay
  • Fake or prank orders with made-up names or numbers
  • Incomplete addresses: missing landmark, wrong pincode, no flat number
  • Customer not available when the courier arrives
  • Change of mind between ordering and delivery, often after days of silence from the brand

Notice that almost every one of these can be caught or fixed with a phone call at the right moment. That’s why we built the framework below.


The Post-Purchase Voice Loop: four calls that protect every order

We think of D2C voice automation as one loop with four moments. Importantly, each one is triggered by an event in your store, not by a calling team’s to-do list.

Moment Trigger What the call does What it protects
1. Confirm New COD order created on Shopify Confirms intent, address and landmark; tags the order Forward shipping spend on orders that would never be accepted
2. Rescue Delivery attempt fails (NDR) Finds out what happened, books a re-attempt or fixes the address Orders already in transit from turning into RTOs
3. Review Order delivered + a few days Collects feedback, solves problems, routes issues to support Returns, bad reviews and silent churn
4. Reorder Replenishment window or inactivity Offers a refill, upgrade or cross-sell with a WhatsApp link Repeat revenue from customers you already paid to acquire
The Post-Purchase Voice Loop: Confirm, Rescue, Review, Reorder.

Most brands run only one of these, usually COD confirmation, and often through a manual calling team or IVR. However, the gains compound when all four run on the same platform with the same customer data, because each call then knows what happened in the previous one.


COD confirmation calls: from Shopify order to tagged order, end to end

What is a COD confirmation call?

A COD confirmation call is a call made to a customer shortly after they place a cash on delivery order. Its purpose is to confirm they really want it, verify the delivery address and catch fake or mistaken orders before the parcel is shipped. As a result, orders that aren’t confirmed are held or cancelled, so you never pay to ship them.

How the COD confirmation flow works on Twenty2

Step 1: A new Shopify order triggers the call

Twenty2 connects to your Shopify store through our APIs and listens for new orders (Shopify’s orders/create event). Only COD orders are passed to the agent, so prepaid orders aren’t disturbed. You also choose the delay, for example a call within 5 to 15 minutes of checkout, while intent is still fresh.

Step 2: The agent reads the actual order

The call isn’t a generic script. Instead, the agent has the product names, quantity, order value and shipping address from the Shopify order and uses them in the conversation.

Agent: Hi Priya, this is a call from [Your Brand] about the order you just placed: one Vitamin C face serum, ₹799, cash on delivery. Can you confirm you’d like us to ship it?

Customer: Yes, please.

Agent: Great. I have the address as Flat 302, Sector 21, Gurugram. Is there a landmark that would help the courier find you?

Customer: Near the Sector 21 metro station.

Agent: Noted. Your order is confirmed. You’ll get tracking details on WhatsApp once it ships.

Illustrative call flow

Step 3: It handles the real-world answers

Customers say all kinds of things on these calls. Therefore, the flow has a branch for each:

  • “Yes, ship it” → order confirmed
  • “I didn’t order this” → order flagged as fake and cancelled
  • “Change the address” or “add a landmark” → updated details captured
  • “I want a different size or colour” → routed to your team or captured as a change request
  • “Can I pay online instead?” → a prepaid payment link sent on WhatsApp, turning a risky COD order into a safer prepaid one
  • No answer → automatic retries at different times of day, followed by a WhatsApp message

Step 4: The outcome is written back to Shopify as a tag

This is the step most calling setups miss. Once the call ends, Twenty2 adds a tag to the order in your Shopify admin using Shopify’s standard tagging API. For example:

Call outcome Example Shopify order tag What your team does next
Customer confirmed COD-Confirmed Ship as normal
Customer cancelled COD-Cancelled Cancel the order; don’t ship
Address or landmark updated Address-Updated Check the new details, then ship
Switched to prepaid Prepaid-Link-Sent Ship once payment is received
Fake or suspicious order COD-Fake Cancel and consider blocking the number
Not reachable after retries COD-Unreachable Hold, or ship based on your risk rules
Example call outcomes and the Shopify tags written back to each order. Tag names are fully customisable.

Because the result lives on the order itself, your warehouse team simply filters the Shopify Orders page by tag. In other words, there’s no separate dashboard to check and no spreadsheet to reconcile. You can also use these tags in Shopify Flow or your own rules to hold or release orders automatically.

Step 5: Confirmed orders flow into fulfilment

If you ship with Shiprocket, confirmed orders then move straight into your Shiprocket pipeline as usual. Meanwhile, cancelled and fake orders never reach the courier.

👉 Want COD confirmation calls running on your Shopify store this week? Book a demo with Twenty2.


NDR calls: rescuing failed deliveries before they become RTOs

What is NDR in e-commerce?

NDR (Non-Delivery Report) is the status a courier raises when a delivery attempt fails. Common reasons include “customer not available”, “address incomplete”, “customer refused” and “customer asked for a future delivery”. Couriers usually make a limited number of attempts. If the issue isn’t resolved in that window, however, the shipment is marked RTO and sent back to you.

An NDR call, therefore, is a call to the customer right after a failed attempt, to find out what really happened and arrange a successful re-delivery.

Why speed matters in NDR management

Every hour after a failed attempt brings the shipment closer to RTO. For instance, industry benchmarks published by Base.com estimate that re-delivery success is around 28–36% with no outreach, rising to 64–74% when an automated workflow reaches the customer within two hours. In short, a calling team working through an NDR list the next morning is already late.

How the NDR flow works on Twenty2

Step 1: A failed delivery triggers the call

When the shipment is marked as a failed or attempted delivery, Twenty2 picks it up. For orders fulfilled through Shiprocket, the NDR status comes straight from Shiprocket’s shipment tracking through the Shiprocket MCP and APIs. For other setups, the trigger can instead come from Shopify’s fulfilment events, which include statuses such as “attempted delivery” and “failure”.

Step 2: The agent checks what the courier reported

The agent knows the NDR reason, the number of attempts so far and the order details. As a result, it asks the right question.

Agent: Hi Rahul, this is [Your Brand]. Our courier tried to deliver your order of running shoes today and marked it as “customer not available”. Were you at home at the time?

Customer: I was home all day. Nobody came.

Agent: I’m sorry about that. I’ve noted it and we’ll raise it with the courier. Would you like the delivery tomorrow? And is this the best number for the delivery person to call?

Customer: Tomorrow is fine, after 6 PM. Yes, same number.

Agent: Done. We’ve requested a re-attempt for tomorrow evening. You’ll get an update on WhatsApp.

Illustrative call flow

Step 3: It captures one of five outcomes

  1. Re-attempt requested, with a preferred date or time slot
  2. Address or landmark corrected, or an alternate phone number added
  3. Possible fake attempt: the customer says they were available, so the case is flagged for courier escalation
  4. Customer no longer wants the order: the reason is recorded, and the agent can offer a fix (such as a size exchange) before accepting the RTO
  5. Not reachable: retries plus a WhatsApp message with a link to choose a delivery slot

Step 4: The result goes back where your team works

The outcome is tagged on the Shopify order, for example NDR-Reattempt-Requested or NDR-Fake-Attempt. In addition, for Shiprocket-fulfilled orders, the customer’s response feeds into your Shiprocket NDR workflow, so the re-attempt request reaches the courier quickly.

The “fake attempt” data is also valuable on its own. Over a few weeks, it shows you which couriers and pincodes report failed attempts that customers dispute. Consequently, it feeds directly into your courier allocation decisions.


Feedback, support and reactivation calls: turning one order into many

Getting the parcel delivered is only half the job. After all, D2C brands grow on repeat purchases, and a large share of first-time buyers never come back simply because nobody asked. Similarly, research by Frederick Reichheld of Bain & Company, cited in Harvard Business Review, found that increasing customer retention by 5% can increase profits by 25% to 95%.

A reactivation call is a post-delivery call that combines three things in one conversation: asking for feedback, offering help with any problem, and finally suggesting a relevant next purchase.

How the reactivation flow works on Twenty2

Step 1: Time the trigger to the product

The call is triggered a set number of days after delivery, or when a customer has been inactive for a set period. Ideally, match the timing to how the product is used. For example, a skincare brand might call at day 7 for feedback and day 25 for a refill, whereas a coffee brand might call when a pack is likely to run out.

Step 2: Feedback first

To begin with, the agent asks how the product is working, records a simple rating and captures the customer’s own words. Customers who are happy can then be sent a review link on WhatsApp.

Step 3: Support second

If something went wrong (a damaged item, wrong size, confusion about usage), the agent answers common questions directly or routes the issue to your support team with full context. Solving a problem on the call often prevents a return and a one-star review.

Step 4: Then the reorder

Only once the customer is happy does the agent suggest a next step: a refill, a complementary product, a bundle or a time-limited discount. Afterwards, a WhatsApp message with a direct product or checkout link follows the call.

Agent: Hi Neha, this is [Your Brand]. You received our hair oil about three weeks ago. How has it been working for you?

Customer: It’s good, my hair feels less dry.

Agent: That’s great to hear. Your bottle is probably running low by now. Customers who like the oil often pair it with our matching shampoo, and there’s 15% off the combo this week. Should I send you the link on WhatsApp?

Customer: Sure, send it.

Illustrative call flow

Step 5: Tag the customer, not just the order

Outcomes are written to the Shopify customer profile as tags, such as CSAT-5, Issue-Open or Reorder-Interested. Your email, WhatsApp and ad audiences can then use these segments. That way, a customer who complained isn’t sent a promotional blast the next day.

👉 Already running COD confirmation? See how Twenty2 adds NDR and reactivation calls on the same setup.


How Twenty2 plugs into Shopify and Shiprocket

Voice automation only works if it’s connected to live order data. Otherwise, a call that reads out last week’s address or asks about an order that’s already delivered does more harm than good. For this reason, Twenty2 is built to sit on top of the two systems most Indian D2C brands already run on.

Shopify integration (via Twenty2 APIs)

  • Triggers: new orders, fulfilment updates and customer activity from your store start the right call automatically
  • Live context: the agent reads products, order value, address and order history during the call
  • Write-back: every outcome is saved as a tag on the Shopify order or customer, so your team works from the Shopify admin they already use

Shiprocket integration (via Shiprocket MCP)

In 2025, Shiprocket launched what it called India’s first AI-integrated MCP server for e-commerce, which lets AI agents work directly with shipping data such as rates and order tracking. Accordingly, for orders fulfilled via Shiprocket, Twenty2 uses this connection so that:

  • NDR calls are triggered from live shipment status, not a daily export
  • The agent can tell customers exactly where their parcel is and what the courier reported
  • Customer responses (re-attempt dates, corrected addresses) flow back into your NDR process quickly

Built by the team behind India’s commerce enabler

Twenty2 is built within Shiprocket, which works with 2 lakh+ active merchants across India. Moreover, we already run voice agents for several D2C stores. As a result, the flows above come from real order data, real courier behaviour and real customer conversations in Indian languages and accents, rather than a generic call-centre template.


The RTO Math: what COD leakage is costing your brand

Before choosing any tool, first use these formulas to size the opportunity:

  • Monthly RTOs = Monthly COD orders × COD RTO rate
  • Monthly RTO cost = Monthly RTOs × Cost per RTO (forward + reverse + handling)
  • Recovered GMV = RTOs prevented × Average order value
  • Reactivation revenue = Customers called × Reorder rate × Average order value

A worked example

The numbers below are illustrative, so plug in your own:

Input Value
Monthly COD orders 10,000
COD RTO rate today 25% → 2,500 RTOs
Cost per RTO ₹150
Monthly RTO cost ₹3.75 lakh
RTO cut by 5 points with confirmation + NDR calls 500 fewer RTOs
Shipping cost saved ₹75,000/month
GMV delivered instead of returned (AOV ₹800) ₹4 lakh/month
Reactivation: 20,000 past buyers × 2% reorder × ₹800 ₹3.2 lakh/month
The RTO Math: an illustrative worked example for a mid-sized D2C brand.

In this example, the brand saves ₹75,000 a month in shipping, delivers ₹4 lakh of GMV that would otherwise have come back as RTO, and adds ₹3.2 lakh of repeat revenue. Furthermore, that’s before counting the inventory freed up, the time saved by your calling team, and the lifetime value of customers who stay.

Rule of thumb: if more than 40% of your orders are COD and your COD RTO rate is above 15%, then automated COD confirmation and NDR calls are likely to be among your highest-ROI operations projects.


Voice AI vs IVR vs a calling team

Factor IVR (press 1 / press 2) In-house calling team Voice AI (Twenty2)
Confirms intent Yes Yes Yes
Captures new address or landmark No Yes Yes
Handles questions and objections No Yes Yes
Speed after trigger Minutes Hours to a day Minutes
Scales with sale-day spikes Yes No Yes
Writes results to Shopify Rarely Manual Yes, as tags
Can upsell naturally No Yes Yes, plus WhatsApp link
Comparing post-purchase calling options for D2C brands.

Overall, the strongest setups combine channels: a voice call to get attention and handle the conversation, followed by a WhatsApp message to complete the action (a payment link, a delivery slot, a product page).


Compliance and customer experience guardrails

  1. Separate service calls from promotional calls. COD confirmation and NDR calls are about an order the customer placed. Upsell and reactivation offers, on the other hand, are promotional. Therefore, follow TRAI’s commercial communication rules (TCCCPR), use the correct number series and respect DND preferences for promotional calls.
  2. Respect the DPDP Act, 2023. Use customer data only for the purpose it was collected for, identify your brand clearly at the start of every call, and also honour opt-out requests.
  3. Never take payment details on a call. Instead, if a customer wants to pay online, send a secure payment link on WhatsApp or SMS.
  4. Call at reasonable hours and cap retries, so that a confirmation call doesn’t feel like harassment.
  5. Escalate to a human for angry customers, complaints about damaged products, refund disputes and anything the agent isn’t confident about.

This section is general guidance, not legal advice. Review your calling setup with your legal or compliance team.


Launch checklist: go live in about a week

  1. First, pull your baseline. Note your COD share, COD RTO rate, NDR rate and repeat purchase rate for the last 90 days.
  2. Connect Shopify. Give Twenty2 API access to orders, fulfilments and customers so it can read order data and write tags.
  3. Connect Shiprocket (if you fulfil through Shiprocket) for live shipment and NDR status.
  4. Agree on your tags. Decide the exact tag names for each outcome and what your warehouse team does with each one.
  5. Start with COD confirmation. It’s the fastest win because it has the simplest script.
  6. Next, add NDR calls once confirmation is stable, with a target of reaching customers within two hours of a failed attempt.
  7. Then layer in feedback and reactivation calls, timed to each product’s usage cycle.
  8. Finally, A/B test for two to four weeks. Compare RTO rate, NDR recovery and repeat purchase rate against a control group.

Frequently asked questions

A COD confirmation call is a call made to a customer soon after they place a cash on delivery order. It confirms they want the order, checks the delivery address and catches fake or mistaken orders before the parcel is shipped, which reduces RTO.

Connect your Shopify store to a voice AI platform like Twenty2. Each new COD order triggers an automated call, and the result (confirmed, cancelled, address updated or unreachable) is written back to the order as a Shopify tag, so your team can filter and ship only confirmed orders.

NDR stands for Non-Delivery Report. It's the status a courier raises when a delivery attempt fails, for reasons such as the customer not being available, an incomplete address or the customer refusing the parcel. Unresolved NDRs usually turn into RTOs.

NDR calls reach the customer quickly after a failed delivery, confirm whether they were available, and capture a re-attempt slot, a corrected address or an alternate number. Faster outreach means more shipments are delivered on the next attempt instead of being returned.

Yes. Twenty2 is built by Shiprocket. For orders fulfilled via Shiprocket, it uses the Shiprocket MCP and APIs to read live shipment and NDR status, so NDR calls are triggered automatically and customer responses flow back into your NDR process.

Yes. A reactivation call first asks for feedback and resolves any issue, then suggests a refill, complementary product or offer, and sends a WhatsApp link to buy. Promotional calls should follow TRAI rules and respect DND and consent.

No. Voice AI handles high-volume, repetitive calls such as confirmations, NDR follow-ups and feedback. Complaints, refunds and sensitive cases are escalated to your team with the full call context, so they spend their time on conversations that need a human.

Put this playbook on a live call, in your customer’s language.

Liked this one?

Hear it on a live call, in your customer’s language.

Set up an AI voice agent in 5 minutes, free to start. Or let us walk you through it.