> ## Documentation Index
> Fetch the complete documentation index at: https://codking-blogs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp vs SMS vs IVR for COD Verification: Reach, Cost and Compliance

> The three COD verification channels are not substitutes. What Meta actually charges for WhatsApp templates, what TRAI's DLT rules require of SMS and voice, and how to sequence all three instead of picking one.

[← All articles](https://codking-blogs.mintlify.site/blog.md)

Tooling & Checkout · November 2026

# WhatsApp vs SMS vs IVR for COD Verification: Reach, Cost and Compliance

11 minutes read

COD & RTO

[Reducing RTO](https://codking-blogs.mintlify.site/blog/reduce-rto-for-cod-orders.md)
[NDR Management](https://codking-blogs.mintlify.site/blog/ndr-management-cod-orders.md)
[Courier Allocation](https://codking-blogs.mintlify.site/blog/courier-allocation-cod-orders.md)
[RTO Benchmarks](https://codking-blogs.mintlify.site/blog/rto-benchmarks-india.md)
[COD Verification](https://codking-blogs.mintlify.site/blog/understanding-cod-verification.md)

Payments & Pricing

[COD to Prepaid](https://codking-blogs.mintlify.site/blog/cod-to-prepaid-conversion.md)
[COD Advance Amount](https://codking-blogs.mintlify.site/blog/partial-cod-payment-advance-amount.md)
[Payment Options](https://codking-blogs.mintlify.site/blog/payment-options-indian-ecommerce.md)

Tooling & Checkout

[Choosing a COD App](https://codking-blogs.mintlify.site/blog/best-cod-verification-apps-shopify.md)
[Checkout vs COD Form](https://codking-blogs.mintlify.site/blog/native-checkout-vs-cod-order-form.md)
[WhatsApp vs SMS vs IVR](https://codking-blogs.mintlify.site/blog/whatsapp-vs-sms-vs-ivr-cod-verification.md)
[COD Cancellations](https://codking-blogs.mintlify.site/blog/how-to-reduce-cod-cancellations.md)
[Checkout Optimization](https://codking-blogs.mintlify.site/blog/shopify-checkout-optimization.md)

Three verification channels compared on reach, how they are priced and what they must be registered with, resolving into a fallback ladder rather than a single choiceSummaryWhatsApp, SMS and automated voice are usually presented as three options for the same job. They are not: they differ in who they reach, in what triggers a charge, and in what you must register before you can send anything. Treating them as a sequence rather than a choice is what separates a verification step that recovers orders from one that quietly discards them.

The question operators ask is "which verification channel converts best?" It is the wrong question, and the reason it is wrong shows up in the data: the channel that performs best on your confirmed-order rate is usually the one you tried first, because it got the easy orders. The customers who did not respond to it are a different population, and the only honest way to find out what reaches them is to try something else on exactly those parcels.

So the useful framing is not comparison but sequencing. What follows is what each channel is structurally good at, what each one actually costs you and when, what each one requires you to register before you can send a single message, and how to build the ladder.

## Three channels, three different populations

The three channels fail for unrelated reasons, which is the whole basis for running them in sequence.

**WhatsApp fails on install and notification state.** It reaches a customer who has the app, has it signed in on the number they typed at checkout, and has notifications surfacing. When it misses, it usually misses silently — delivered but unread, buried under group chats, or sitting on a device the customer no longer uses for that number.

**SMS fails on attention, not delivery.** It arrives on any handset including a feature phone, which is its one structural advantage. What it competes with is a dense stream of promotional and transactional traffic, and on many Android handsets an automatic categorisation that may file your confirmation somewhere the customer never opens.

**IVR fails on pickup and patience.** An automated call demands a response in the moment, from someone who may be driving, working, or simply unwilling to press a key for a machine. But it is the only one of the three that requires nothing of the customer except answering a phone — no app, no data connection, and no reading. For a buyer who is not comfortable in English or Hindi text, or who is older, or who shares a handset, it is frequently the only channel that works at all.

Notice that the failure modes do not overlap much. A customer who ignored WhatsApp because they never open it is a strong candidate for SMS. A customer who ignored both because they do not read notifications is the exact person a voice call reaches. This is why single-channel verification caps out: it is not that the channel is bad, it is that the residual population after one attempt is structurally unlike the population that responded.

## WhatsApp: what Meta actually charges for

WhatsApp is the default first attempt for most Indian brands, and the economics are more specific than "a few paise a message". Meta's own pricing documentation is worth reading rather than relying on a reseller's summary, because several of the rules change the design of your verification flow.

Meta states that, effective 1 July 2025, it charges on a **per-message basis** rather than per conversation, and that it charges **only for messages from businesses to users** — messages from a WhatsApp user to a business are not charged. It also states that businesses are charged only when a message is *delivered*, not when it is sent.

That last point matters operationally. A verification template sent to a number that is not on WhatsApp costs you nothing, which means there is no financial reason to pre-screen numbers before attempting WhatsApp first. Try WhatsApp, pay only for the ones that land, and let the undelivered ones fall through to the next rung immediately rather than waiting out a response window.

Meta splits business-initiated template messages into categories with different rates that, in Meta's words, vary by market. The three relevant to this discussion are **authentication** ("template messages for identity verification objectives"), **utility** ("template messages for transactional or informational objectives") and **marketing** ("template messages for promotional objectives"). A fourth category, **service**, covers non-template messages, which Meta says can only be sent inside an open 24-hour customer service window.

Which category your verification message lands in is a real cost lever, and it is determined by how the template is written, not by what you intend it for. A template that confirms an order and asks the customer to accept or cancel is utility work. The same template with a discount offer bolted on is arguably promotional, and promotional pricing is typically the dearest band. Keeping the verification template clean of marketing content is the cheapest optimisation available in this entire article, and brands routinely give it away by adding an upsell line.

Two further rules from Meta's documentation are worth knowing. Volume tiers — discounts at higher monthly volumes — apply to utility and authentication messages, and India is named as a standalone market on Meta's rate card rather than being bundled into a regional "rest of" bucket, so the rates you pay are specific to India rather than averaged across a region. And Meta states it provides each business phone number with **1,000 free service messages per month**, which reset monthly and do not roll over, with charging resuming from the 1,001st service message; that free tier accompanied the resumption of charging for service messages as of 1 October 2026.

Finally, a planning note rather than a pricing one: Meta says it may update pricing only on the first day of each quarter — 1 January, 1 April, 1 July or 1 October — with a month's notice for rate-card changes. If you are modelling verification cost, that is the cadence to review it on. Meta also states that for businesses whose Sold-To country is India, Messaging accounts must be migrated to INR billing by 31 December 2026, after which it will no longer deliver messages for non-INR accounts of eligible customers. If nobody at your company has checked which currency your WhatsApp billing sits in, that is worth doing this quarter.

## SMS: the floor you can always reach

SMS is the channel people dismiss and then quietly depend on. Its response rate on a first attempt is generally the weakest of the three, and that is the wrong way to judge it. Its job in the ladder is not to be the best performer; it is to be the attempt that cannot fail for structural reasons. There is no install to check, no data connection, no app state. If the number is live, the message arrives.

That makes SMS the right second rung and a poor first one. On the parcels WhatsApp did not resolve — undelivered, or delivered and ignored — SMS is reaching a population you have no other cheap way to touch.

Two design points decide whether it works. The first is the sender header, which under India's rules is a registered alphanumeric string of up to eleven characters. Customers read the header before the body, and a header that is recognisably your brand gets opened where a generic one does not. The second is length: a confirmation that needs scrolling, or that pushes the action past the notification preview, has lost. The entire decision — your brand, the order, and how to confirm or cancel — should be legible without opening the message.

## IVR: the rung most brands skip

Automated voice is the least used of the three and the one with the clearest role. It belongs at the bottom of the ladder, on the orders that two text attempts failed to resolve, where the alternative is either shipping a doubtful parcel or cancelling a possibly-good order.

Its cost structure is different in kind from the other two. WhatsApp and SMS are priced per message, so cost scales with the number of attempts. IVR is priced on call duration, which means cost scales with how long your script takes — and a script that recites the full order contents before offering the keypress costs multiples of one that gets to the decision in a few seconds. Write for the impatient listener: who is calling, what the order is in one clause, and the keypress, immediately. Repeat the options once, then end the call rather than looping.

The honest case against IVR is that a robotic call from an unknown number is, to many people, indistinguishable from a scam, and answer rates reflect that. The honest case for it is that it is the only channel in the set that works on a customer who does not read. If a meaningful share of your buyers are in tier-3 towns and smaller, that is not an edge case — and this is the one place where the channel you skipped is probably costing you real orders. Our guidance on [reducing COD cancellations](https://codking-blogs.mintlify.site/blog/how-to-reduce-cod-cancellations.md) covers what to do with the orders that still do not resolve after all three.

## The compliance surface is not the same for each

This is where the three channels diverge most and where operators are most often surprised, because SMS and voice in India are governed by a regulatory regime that WhatsApp is not.

Under TRAI's Telecom Commercial Communications Customer Preference Regulations, 2018 — notified on 19 July 2018 and amended several times since — commercial communication in India runs through a registration system that TRAI's regulation requires access providers to implement on Distributed Ledger Technology, in its words "permissioned and private DLT networks". What gets registered is not just your company: the regulation provides for registering the entity, the sender, the headers assigned to that sender, content templates, and consent. Commercial communication may only be sent using registered headers assigned to the sender, and the header itself is defined in the regulation as an alphanumeric string of a maximum of eleven characters or numbers.

The regulation also draws distinctions that matter for how you classify a verification message. It defines a **transactional message** as one sent within thirty minutes of the transaction being performed and directly related to it; a **service message** as one sent with consent or using a registered template to facilitate or confirm a transaction the recipient previously agreed to; and **promotional** messages as those where explicit consent has not been taken by the sender. TRAI's own definition of unsolicited commercial communication excludes transactional and service messages — which is precisely the category an order confirmation should sit in, and a reason not to decorate it with an offer.

For voice specifically, the regulation addresses automated dialling directly. It defines **robo calls** as calls using an artificial or prerecorded voice with no human on the calling side, and it provides that no sender registered for commercial communication shall initiate calls with an auto dialler that may result in silent or abandoned calls, with a proviso requiring advance notice to the originating access provider. If you are running IVR verification, this is a conversation to have with your telephony provider about how your campaign is configured, not an assumption to make.

One live item to track. TRAI notified a Fourth Amendment to these regulations on 4 November 2026, whose operative provision is that regulation 35A — inserted by the Third Amendment, released 18 September 2026 — will come into effect on a date TRAI notifies in the Gazette. We have not read the text of regulation 35A, so we are not going to characterise what it does. If your verification depends on SMS or voice, that is a specific thing to read on TRAI's own site rather than in a vendor summary, and a date worth watching.

The contrast with WhatsApp is the practical takeaway: WhatsApp's gatekeeping is Meta's template approval and category assignment, which is fast and self-serve; SMS and voice gatekeeping is a regulatory registration with headers and templates that must exist before you can send, and which takes real time to set up. That difference in lead time is a reason to register SMS and voice capability before you need them, rather than when a WhatsApp outage or a policy change leaves you with no fallback.

## Designing the ladder

The sequence itself is simple. The decisions inside it are where the value sits.

**Order the rungs by cost per resolved order, not by cost per message.** Cheapest-first is the intuitive rule and it is usually right, but the thing you are buying is a resolved order. A channel twice the price that resolves four times as many of the parcels in front of it is the cheaper option on the only metric that matters.

**Set escalation windows against your dispatch clock, not round numbers.** The ladder has to finish before the parcel would otherwise be packed. Work backwards: if you pick at a cut-off time, every rung has to complete before it. That constraint, not a preference for neat intervals, is what sets how long you wait for a WhatsApp reply before firing the SMS.

**Escalate on undelivered immediately; wait only on delivered-and-silent.** If WhatsApp reports the message as undelivered, there is nothing to wait for — drop to SMS now. Reserve the waiting window for the case where the message landed and the customer has simply not acted, which is the only case where more time plausibly helps.

**Stop escalating when the customer acts, in either direction.** An explicit cancellation is a successful outcome of the ladder and should halt it. Continuing to chase a customer who has already said no is how a verification flow turns into a complaint.

**Decide what non-response means before you build any of it.** This is the single most consequential setting in the system and it is usually left implicit. Auto-cancelling silence will discard good orders, because plenty of people who intend to pay never answer unknown numbers. Shipping all silence unverified defeats the purpose. The defensible answer is conditional: ship the silent orders that look low-risk on your own history and hold the ones that do not, which is the same risk logic discussed in our guide to [COD verification](https://codking-blogs.mintlify.site/blog/understanding-cod-verification.md).

## Measuring channels without fooling yourself

Channel comparisons go wrong in one specific way: the first rung gets credit for the easy orders. Three habits fix it.

**Measure each rung only on the parcels it actually received.** SMS's response rate is its performance on the residual population after WhatsApp, not on all orders. Comparing a second-rung number against a first-rung number is comparing two different populations and will always flatter the first rung.

**Rotate the order on a small share of volume.** Keep a slice of traffic where SMS goes first, or where IVR is attempted earlier. Without it you cannot tell whether WhatsApp is genuinely your best first attempt or merely your incumbent one, and the answer shifts as your customer mix shifts into smaller towns.

**Track cost per resolved order per rung, and watch the marginal rung.** The useful question is whether the last rung still pays for itself: what it costs to run on the parcels that reach it, against the contribution of the orders it saves and the RTO cost of the parcels it stops. That number decides whether the bottom rung should be an IVR call, a human call, or simply a hold for manual review — and it is a number you can compute from your own data rather than take on faith.

## When each channel is the wrong answer

**WhatsApp is wrong as your only channel.** Not because it underperforms — it is usually the strongest single channel in India — but because single-channel verification leaves the entire non-responding population untouched, and a platform policy change or template rejection takes your verification offline with no fallback registered.

**SMS is wrong as a first attempt** in most Indian catalogues, and wrong anywhere you need a conversation rather than a confirmation. It is a notification channel, not a dialogue.

**IVR is wrong at the top of the ladder,** wrong if your script is long, and wrong if nobody has checked how your dialler is configured against the auto-dialler provisions described above. It is also an odd choice for a young, metro, app-native customer base, where the people it uniquely reaches barely exist.

**All three are wrong at very low volume.** Under a few dozen COD orders a day, a person messaging customers by hand outperforms any automated ladder, costs nothing to set up, and teaches you which objections are actually coming back. Automate when the manual version is working and the volume makes it impractical — not before.

COD King runs OTP and WhatsApp verification inside Shopify's native checkout, alongside COD rules by pincode and order value, COD fees, partial payments and prepaid conversion. We do not offer IVR, so if automated voice is central to your ladder you will need it from a telephony provider or an app that does — which is a reasonable thing to build around rather than against.

Sources for the platform and regulatory facts above: [Meta's WhatsApp Business Platform pricing documentation](https://developers.facebook.com/docs/whatsapp/pricing/), and TRAI's own [unsolicited commercial communication page](https://www.trai.gov.in/telecom/consumer-initiatives/unsolicited-commercial-communication), which carries the text of the Telecom Commercial Communications Customer Preference Regulations, 2018 and its amendments. Both were checked on 7 November 2026; platform pricing and regulatory provisions change, so verify against the primary source before acting on anything here.

On this page[Three populations](#same-job)[WhatsApp costs](#whatsapp)[SMS as the floor](#sms)[The IVR rung](#ivr)[Compliance surface](#compliance)[Designing the ladder](#sequence)[Measuring honestly](#measure)[When each is wrong](#wrong)[Start for free](https://codking.tech)[Contact sales](https://codking.tech)

COD KingPractical guides, strategies, and product insights for Shopify merchants managing Cash on Delivery.

Blog
[All articles](https://codking-blogs.mintlify.site/blog.md)
[Understanding COD Verification](https://codking-blogs.mintlify.site/blog/understanding-cod-verification.md)
[How to Reduce RTO for COD Orders](https://codking-blogs.mintlify.site/blog/reduce-rto-for-cod-orders.md)
[NDR Management](https://codking-blogs.mintlify.site/blog/ndr-management-cod-orders.md)
[Courier Allocation](https://codking-blogs.mintlify.site/blog/courier-allocation-cod-orders.md)
[RTO Benchmarks for Indian D2C](https://codking-blogs.mintlify.site/blog/rto-benchmarks-india.md)
[COD to Prepaid Conversion](https://codking-blogs.mintlify.site/blog/cod-to-prepaid-conversion.md)
[How Much COD Advance to Collect](https://codking-blogs.mintlify.site/blog/partial-cod-payment-advance-amount.md)
[Best COD Verification Apps](https://codking-blogs.mintlify.site/blog/best-cod-verification-apps-shopify.md)
[Native Checkout vs COD Form](https://codking-blogs.mintlify.site/blog/native-checkout-vs-cod-order-form.md)
[WhatsApp vs SMS vs IVR](https://codking-blogs.mintlify.site/blog/whatsapp-vs-sms-vs-ivr-cod-verification.md)
[How to Reduce COD Cancellations](https://codking-blogs.mintlify.site/blog/how-to-reduce-cod-cancellations.md)
[Checkout Optimization for Shopify Stores](https://codking-blogs.mintlify.site/blog/shopify-checkout-optimization.md)
[Payment Options for Indian E-commerce](https://codking-blogs.mintlify.site/blog/payment-options-indian-ecommerce.md)

COD King
[Shopify App Store](https://apps.shopify.com/cash-on-delivery-cod-order-confirmation)

© 2026 COD King


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.