If you only have budget for one retention channel, run WhatsApp in both markets. That's the answer to sms vs whatsapp marketing for most D2C brands we work with, and the reason isn't read rates in the abstract. It's that in India SMS costs about a third of a WhatsApp template but earns roughly a tenth of the engagement, and in the UAE SMS is often the more expensive channel per message before you even look at whether anyone opened it. SMS keeps two jobs: OTPs and order-critical alerts. Everything else — cart recovery, replenishment nudges, back-in-stock, COD confirmation, festive drops — belongs on WhatsApp.
That said, the arithmetic differs enough between Bengaluru and Dubai that copying an Indian playbook into a GCC store is how brands end up with a 4% block rate and a template library stuck in Meta review. Here's how we model it.
Cost per read beats cost per send, and it isn't close
Most channel comparisons stop at the rate card. Aggregator quotes 15 paise an SMS, Meta's marketing template costs a rupee-ish, so SMS wins. Then the campaign goes out and the revenue doesn't move.
The metrics we actually put in the model:
- Reachable base, not list size. In India, a promotional SMS to a DND-registered number simply doesn't land. You pay nothing for those, but you also plan around a base that's meaningfully smaller than your contact count, and you won't know how much smaller until you've run a scrub.
- Message parts. SMS is billed per 160-character GSM-7 segment, or per 70 characters the moment you include an emoji, a Hindi character or Arabic. A three-line cart reminder with a link is usually two parts. Sometimes three.
- Cost per click. The only number that connects spend to revenue without an attribution argument.
WhatsApp costs more per send in India and less in the UAE. In both markets it wins on cost per click. The gap is wider in the Gulf.
India: cheap SMS, expensive silence
DLT registration changed the character of Indian SMS permanently. Every header and every template is pre-registered and scrubbed, which is fine for transactional flows and miserable for marketing. You can't A/B a subject line in any meaningful way when each variant needs approval. You can't personalise beyond the variables you declared. And your promotional message arrives in an inbox that, for most Indian consumers, is now a folder of OTPs, bank alerts and loan spam that they open when they're expecting a code and ignore otherwise.
WhatsApp sits in the opposite place. It's the app the customer already has open. Template approval is faster and more forgiving than DLT, buttons render natively so the customer taps rather than copies a link, and you can carry an image — which matters enormously for apparel, jewellery and anything where the product is the pitch.
The catch is that India is Meta's cheapest marketing market and brands treat it accordingly. We've inherited accounts sending four marketing templates a week to the same list. Block rates climb, the phone number's quality rating drops to medium, then low, and messaging limits get cut right before the festive window when you need them. Cheap sends are not free sends.
Utility templates are the underrated half of this. Order confirmation, dispatch, COD verification, delivery attempt, return pickup scheduled — these get read at rates marketing templates never will, and under the current rules a utility template sent inside an open 24-hour customer service window isn't billed. Meta has reworked this pricing twice in recent years, so verify the current card before you build a forecast on it. But the structural point holds: your transactional stream is the cheapest attention you will ever buy, and most Indian stores are still sending it over SMS out of habit.
The UAE flips the arithmetic entirely
In the Emirates, WhatsApp isn't one messaging option. It's the default for how people talk to their building manager, their tailor and their doctor's clinic. A brand showing up there is unremarkable in the good sense.
SMS, meanwhile, is expensive. Local aggregator quotes for a UAE marketing SMS routinely land an order of magnitude above Indian rates, and if you're writing in Arabic you're on 70-character segments, so a normal-length message bills as two or three parts. Do that to a 20,000-person list twice a month and you've built a line item that needs defending.
Sender ID rules add friction too. Registered alphanumeric headers, restrictions on what unregistered traffic can carry, and a general regulatory preference for verified senders. None of it is hard, all of it is lead time you didn't plan for.
So for GCC stores the recommendation is blunter than in India: put retention on WhatsApp, keep SMS for OTP and one-off delivery exceptions, and spend the difference on creative. We cover the local specifics in more detail on our Dubai Shopify work, including the timing questions that actually move revenue there — Ramadan evenings behave nothing like a Tuesday in March, and DSF campaign calendars start earlier than most Indian teams expect.
A worked example on 40,000 contacts
Abandoned checkout flow, single message, Indian store. Assumptions stated so you can swap in your own rates — these are the shapes of quotes we see, not a price list.
SMS route. Message runs to two segments once you include the brand name and a short link. Say 15 paise per segment, so ₹0.30 per recipient. 40,000 × ₹0.30 = ₹12,000. Delivery at 92% gives 36,800 landed. Click-through on a plain-text SMS with a link, in our experience, sits somewhere between 0.6% and 1.5%; take 1% of delivered = 368 clicks. Cost per click: 12,000 ÷ 368 = ₹32.60.
WhatsApp route. Marketing template with a product image and a "Complete order" button, at roughly ₹0.80 a message. 40,000 × ₹0.80 = ₹32,000. Delivery at 97% gives 38,800. Button taps on a well-built cart template land in the 3–6% range for us; take 4% = 1,552 clicks. Cost per click: 32,000 ÷ 1,552 = ₹20.60.
WhatsApp costs 2.7× more to send and delivers clicks about 37% cheaper. Now run the same flow for a 10,000-contact UAE list: SMS at AED 0.12 per segment × 2 segments = AED 2,400, against a WhatsApp marketing template at roughly AED 0.12–0.13 a message = AED 1,250. WhatsApp is half the cost and five times the engagement. There is no version of that comparison where SMS wins.
Where SMS does win on cost per click is high-intent, low-volume, single-segment transactional sends. "Your OTP is 481203" is one segment, costs 15 paise, and gets acted on within seconds. Nothing beats it.
What SMS still does better
Universal reach. Every handset on every network, no app install, no account, no internet connection. For a COD-heavy business shipping to tier-3 India, that matters more than any read-rate chart. A delivery agent's "arriving in 20 minutes" needs to land on a feature phone in a low-signal area, and WhatsApp won't do that reliably.
It's also the correct fallback. We build flows where the utility template fires on WhatsApp, and if it isn't delivered within a set window — number not on WhatsApp, or blocked — an SMS goes out instead. Two channels, one message, no duplicate. Most brands running both send everything twice, which annoys the customer and doubles the cost.
Where WhatsApp marketing quietly breaks
Three failure modes we see repeatedly.
Template rejection loops. Marketing templates get declined for reasons that read as arbitrary until you've had thirty of them declined. Discount framing, urgency language, placeholder variables that could render as anything. Build a small library of approved templates and reuse them rather than writing fresh copy per campaign.
Quality rating collapse. Block and report signals feed a per-number rating. Once it slips, your daily messaging limit falls, and it falls fastest when you're sending most. We cap marketing templates at one a week per contact, two during a festive push, and we exclude anyone who hasn't opened in 60 days rather than shouting louder at them.
Nobody staffs the replies. WhatsApp is two-way. If you send 40,000 messages, several hundred people will reply, and a portion of those are pre-purchase questions worth real money. Leaving them unanswered for two days costs more than the campaign made.
Opt-in decides the ceiling
Most Indian stores collect a phone number at checkout and treat it as consent for everything. It isn't, and more practically, an unengaged number added without intent is the number that blocks you and drags your quality rating down.
What works: a checked-by-default WhatsApp updates checkbox on the order form for transactional messages, a separate explicit opt-in for offers, and a click-to-WhatsApp entry point on product pages for the "is this in stock in my size" crowd. That last one produces the highest-value list we've seen for any Indian D2C category, because the person initiated contact. Free-entry-point conversations from an ad click behave similarly well and are priced differently — worth checking against your current card.
How we wire it on Shopify
Email stays the workhorse for storytelling and margin — we're Omnisend certified and most of our retention revenue still comes from there. WhatsApp handles the time-sensitive layer through a business solution provider (Interakt, AiSensy, Wati and Gupshup all do the job; pick on support quality and API stability, not on the dashboard screenshots). SMS runs through the same BSP or a separate aggregator for OTP and fallback only.
The integration work that matters isn't the app install. It's making sure the WhatsApp event fires off the right Shopify trigger with the right delay, that a customer who completes checkout gets pulled out of the cart flow within seconds rather than minutes, and that your COD confirmation template actually reduces RTO instead of just informing people. Custom event wiring is usually a few days of development work, and it's the difference between a channel that pays for itself and one that looks busy.
An aside on RCS: it's real, Indian carriers support it, and the branded-sender experience is genuinely better than SMS. It's also inconsistent across handsets and not yet worth restructuring your stack for. Revisit in a year.
Start here
Pull last quarter's SMS spend, split it into transactional and promotional, and calculate cost per click on the promotional half. If that number is above ₹25 in India or AED 1.50 in the UAE, you have a channel-mix problem worth fixing this month, not next quarter.
If you'd rather someone else did the pulling, our free store audit covers retention flows alongside the technical side — send us access and we'll tell you which of your current messages are earning their send.

