Channel Fallback Strategy: WhatsApp, RCS and SMS
How to design a channel fallback strategy across WhatsApp, RCS and SMS: fallback triggers, timeouts per message type, duplicate prevention, consent and cost.
By OmniChannels.ai Editorial Team · Reviewed by BroadNet Messaging Solutions Team
Omnichannel
Short answer
A channel fallback strategy sends each message on the customer's preferred channel first, such as WhatsApp or RCS, and switches to the next channel, usually SMS, only when the first one fails or is not confirmed within a set time. Define the order and timeout per message type, trigger fallback on delivery status rather than read status, cancel or expire the first attempt to prevent duplicates, and respect each channel's consent rules.
On this page
- What is a channel fallback strategy?
- How do you choose the channel order?
- What should trigger a fallback?
- How long should each step wait?
- How do you prevent duplicate messages?
- How do consent and compliance affect fallback?
- How does fallback affect cost?
- How do you implement a fallback chain step by step?
- Worked example: a GCC electronics retailer
- What are the common fallback mistakes?
- How OmniChannels.ai helps
Key takeaways
- Fallback has two triggers: an immediate error at send time, and a timeout when delivery is not confirmed; both need handling.
- The timeout should follow the message's useful life, short for OTP and longer for order updates, while most marketing should not fall back at all.
- Google's RCS platform can revoke undelivered messages automatically through a message expiration, which makes a clean handover to SMS possible.
- Duplicate messages are prevented by recording which channel delivered, expiring or revoking pending attempts, and using unique message IDs.
- Each channel in the chain needs its own lawful basis or opt-in, so a WhatsApp marketing message cannot simply fall back to SMS marketing.
This guide is for CX, CRM and engineering leads who send important messages on more than one channel and want every customer to receive them exactly once. It explains how to design fallback between WhatsApp, RCS and SMS: what triggers it, how long to wait, how to avoid duplicates, and where consent limits what you can do. For a comparison of the channels themselves, see WhatsApp vs SMS vs RCS.
What is a channel fallback strategy?
A channel fallback strategy is a set of rules that decides which channel to try first for each message, when to give up on it, and which channel to use next. Its goal is that the customer receives the message once, in time, on the best channel available to them.
Every channel has gaps. WhatsApp reaches only people who have an account and a data connection. RCS reaches only devices and operators that support RCS business messaging. SMS reaches nearly every phone but carries plain text only. Fallback combines them so the gaps of one are covered by another.
A fallback chain has four parts:
- An order of channels, for example WhatsApp, then RCS, then SMS.
- Triggers that move the message to the next channel.
- A timeout for each step, based on how long the message stays useful.
- Stop rules that end the chain once delivery is confirmed and cancel what is still pending.
How do you choose the channel order?
Choose the order per message type and per customer, not once for the whole business. WhatsApp, then RCS, then SMS is a common order for rich transactional messages, but it is not always right.
- Start where the customer is reachable. If your records show no WhatsApp account for a number, starting with WhatsApp adds a failed attempt and delay. If a capability check shows the number cannot receive RCS, skip RCS.
- Put the most reliable channel first for critical alerts. For fraud warnings or safety messages, many teams send SMS first because it works without a data connection, and use a rich channel for the follow-up.
- Respect the customer's stated preference. If a customer chose SMS during onboarding, honour it, even if a richer channel is available.
- Keep support on the customer's channel. Replies to a customer who wrote on WhatsApp belong on WhatsApp; fallback is for business-initiated messages.
- Review the order by market. In GCC markets WhatsApp is widely used for business messaging, while RCS coverage depends on operator and country, so the best order can differ between, say, the UAE and Europe.
What should trigger a fallback?
Two kinds of event should trigger fallback: an error at send time and a missing delivery confirmation when the timeout ends. Read receipts should not.
Immediate errors
Some failures are known at once. On RCS, Google's documentation says the platform returns 404 NOT_FOUND when the device does not support RCS, RCS is turned off, or your agent is not launched on the user's network, and 400 INVALID_ARGUMENT when the message uses a feature the device cannot display. On WhatsApp, a send can fail when the number has no WhatsApp account or a template is rejected. These should move to the next channel without waiting.
You can avoid many of these errors by checking first. Google's RBM platform offers capability checks that report whether a number can receive RCS and which features it supports, provided the number has connected to RCS recently.
Timeouts
Other failures are silent. The message is accepted but no DELIVERED status arrives, usually because the phone is off or offline. Google's RBM platform keeps undelivered messages queued for up to 30 days, so without a timeout an RCS message could arrive long after it mattered.
Why not read receipts?
Read receipts depend on user settings on both WhatsApp and RCS. A customer who has turned them off may read every message and never send a READ event. Falling back on missing reads sends unnecessary SMS and creates duplicates. Use read data to measure engagement, not to drive fallback.
| Signal | Use as fallback trigger? | Why |
|---|---|---|
| Error at send (not capable, no account, rejected) | Yes, immediately | The channel cannot deliver this message |
| No DELIVERED status within the timeout | Yes | The phone is likely offline or unreachable on this channel |
| FAILED status after acceptance | Yes, immediately | Delivery attempt ended in failure |
| DELIVERED but no READ | No | Read receipts can be disabled |
| Customer replied | Stop the chain | Delivery is proven |
How long should each step wait?
Set the timeout from the message's useful life: the shorter the life, the shorter the wait. There is no universal number, so start with a reasoned value per use case and tune it from your own delivery data.
| Message type | Useful life | Timeout approach | Typical chain |
|---|---|---|---|
| OTP and login codes | Minutes | Very short; leave the customer time to use the next code | WhatsApp authentication or RCS, then SMS |
| Fraud and security alerts | Minutes | Short; or send SMS in parallel for the most critical | SMS first, or rich channel with fast SMS fallback |
| Order and delivery updates | Hours | Moderate; must arrive before the event | WhatsApp, then RCS, then SMS |
| Appointment reminders | Until the appointment | Longer; expire before the reminder is useless | WhatsApp or RCS, then SMS |
| Marketing and offers | Until the offer ends | Usually no fallback | Single channel with matching consent |
| Support replies | Customer-led | No fallback; reply on the channel the customer used | Same channel; email if the thread is lost |
Two rules make timeouts reliable:
- Expire the first attempt when you fall back. On RCS, set
ttlorexpireTimeon the message. Google's documentation explains that when the message expires undelivered, the platform revokes it and notifies your webhook, which is the natural cue to send SMS. You can also revoke a message explicitly. Meta also documents a time-to-live setting for some WhatsApp template types; check the current documentation for which categories support it. - Give SMS a validity period too. The SMS standard (3GPP TS 23.040) lets the sender set a validity period after which the network stops trying. A short validity period on an OTP stops a code arriving after it has expired.
How do you prevent duplicate messages?
Treat each message as one logical message with several possible deliveries, and stop the chain as soon as one delivery is confirmed. Google's RBM best practices make the same point: confirm a message was not delivered before resending, and use unique message IDs.
Duplicate prevention checklist
- Assign one ID per logical message and record every channel attempt against it.
- Check the record before each fallback step: if any channel has reported DELIVERED, stop.
- Expire or revoke the pending attempt before sending on the next channel.
- Handle the race condition. Google notes that, rarely, a revocation can fail because the message is being delivered at that moment. If a revocation fails, check for a DELIVERED event before sending SMS.
- Make content safe to receive twice. An OTP message should not imply the first code is invalid unless that is true, and two order updates should not contradict each other.
- Log fallback reasons so you can see whether fallback is driven by errors, timeouts or capability gaps.
How do consent and compliance affect fallback?
Each channel in the chain needs its own permission. Fallback changes the channel; it does not transfer consent from one channel to another.
- WhatsApp: Meta requires opt-in before a business sends to a user, and business-initiated messages outside the customer-service window must use approved templates. See WhatsApp opt-in in Meta's documentation.
- RCS: Google's launch review checks that your outreach matches user consent, and agents must honour STOP and equivalent keywords.
- SMS: governed by local telecom and data-protection rules. In GCC markets, promotional SMS typically requires registered sender IDs and permitted sending hours; confirm details with the regulator and your provider. Our sender ID registration guide explains the UAE and Saudi process.
This is why most marketing should not fall back. A customer who agreed to WhatsApp offers may not have agreed to promotional SMS, and the SMS may land outside permitted hours. Transactional messages such as OTPs and order updates are on firmer ground, but they must stay purely transactional on every channel. Keep opt-outs central: a STOP on one channel should be checked before any other channel sends marketing. Our consent guide covers this in depth.
How does fallback affect cost?
Fallback adds cost only when it fires, but a badly tuned chain can pay twice for one message. Measure cost per delivered message, not per attempt.
- WhatsApp: Meta charges per delivered template message, by category and recipient market. According to Meta's pricing documentation, from 1 October 2026 Meta charges service messages beyond a monthly free allowance per business phone number, and charges utility templates sent inside the customer service window; confirm in Meta's current rate card.
- RCS: pricing is set by markets, operators and providers and differs between message types.
- SMS: billed per segment by destination. Arabic text uses Unicode, which carries fewer characters per segment; see our character limits guide.
Cost levers that do not hurt delivery:
- Skip channels the customer cannot use. Starting with WhatsApp for someone with no account adds delay and a failed attempt.
- Use capability checks before RCS sends.
- Tune timeouts so fallback fires for offline phones, not for slow delivery reports.
- Keep fallback SMS short and within one segment where possible.
Compare indicative list rates per channel on our pricing page.
How do you implement a fallback chain step by step?
- List message types and assign each a primary channel, a chain and a timeout.
- Record channel availability per customer: known WhatsApp account, RCS capability, valid mobile number, consent per channel.
- Write equivalent content for every channel, with the essential facts in plain text.
- Normalize delivery statuses from all channels into one model, such as sent, delivered, read and failed, so one rule engine can act on them.
- Implement triggers: immediate fallback on errors, timed fallback on missing delivery.
- Implement stop rules: delivery or reply ends the chain; pending attempts are expired or revoked.
- Test the failure paths: a number without WhatsApp, a phone with RCS turned off, a phone switched off.
- Monitor weekly: fallback rate per use case and market, reasons, duplicates and cost per delivered message.
The messaging API integration guide and delivery status guide cover the webhook side.
Worked example: a GCC electronics retailer
"Najm Electronics" (synthetic) sells online in the UAE, Saudi Arabia and Kuwait. It sends OTPs at checkout, order updates and weekly offers.
- OTP at checkout. Customers known to have WhatsApp get an authentication template with a copy-code button; others get SMS directly. If WhatsApp returns an error, or no delivery arrives within a short timeout, the SMS code is sent with a short validity period. The checkout page tells the customer the code may arrive by SMS.
- Order updates. The chain is WhatsApp, then RCS for capable devices, then SMS. The RCS message carries a rich card with a "Track order" action and an expiration set well before the delivery slot. When it expires undelivered, the platform revokes it and the SMS goes out with the same tracking link. The system records which channel delivered, so nobody gets all three.
- Weekly offers. Offers go only on WhatsApp to customers who opted in to WhatsApp marketing. There is no SMS fallback, because many of those customers have not consented to promotional SMS and sending hours differ by country.
- Review. After the first month, the team checks fallback reasons by market. A high share of RCS errors on one operator shows the agent is not launched there yet, so RCS is skipped for that operator until coverage is confirmed, which saves a wasted attempt on every message.
What are the common fallback mistakes?
- Falling back on missing read receipts, which sends duplicates to people who read the first message.
- No expiry on the first attempt, so the original message arrives late after the SMS.
- One timeout for everything, too long for OTP and too short for reminders.
- Falling back marketing to SMS without SMS consent.
- Different content per channel, so customers see conflicting details.
- Starting with channels the customer does not use, adding delay and cost.
- Not measuring fallback, so operator outages and coverage gaps go unnoticed.
Limits: platform behaviour, pricing and regulations change. Confirm current details in Google's and Meta's documentation and with your provider. This guide is practical guidance, not legal advice.
How OmniChannels.ai helps
OmniChannels.ai lets you configure channel fallback per use case, for example WhatsApp, then RCS, then SMS. Delivery statuses from every channel (SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED) arrive in one webhook format, so one set of rules can drive fallback and reporting. BroadNet Technologies is an official Meta Business Solution Provider and a Google RBM partner, and SMS runs over its direct operator connectivity. RCS includes automatic SMS fallback where RCS is not available. Developers can start with the RCS API documentation.
Frequently asked questions
What is SMS fallback?
SMS fallback is a rule that sends a message by SMS when the preferred channel, such as WhatsApp or RCS, cannot deliver it. The trigger is either an error returned when sending, for example because the number cannot receive RCS, or a timeout when no delivery confirmation arrives. SMS is used as the last step because it reaches almost every mobile phone without an app or data.
Should fallback trigger on delivered or read status?
For time-critical messages, trigger on delivery status. Read receipts depend on user settings on both WhatsApp and RCS, so a message can be read without a READ event ever arriving. Waiting for read status would send unnecessary fallback messages and create duplicates. Read data is still useful for measuring engagement after the fact, but it should not drive fallback decisions.
How long should I wait before falling back to SMS?
It depends on how long the message stays useful. OTP codes expire quickly, so the timeout must be short enough to leave the customer time to use the SMS code. Delivery updates can wait longer, and appointment reminders can wait longer still. Set timeouts per use case, measure how often fallback fires and how often both channels delivered, and tune from your own data.
Can marketing messages fall back to SMS?
Only if the customer has given consent for SMS marketing and local rules allow the send at that time. Consent to WhatsApp marketing does not automatically cover SMS. In GCC markets, promotional SMS usually also needs a registered sender ID and must respect permitted sending hours. Many businesses simply do not fall back marketing, or fall back to email where consent exists.
How do I stop customers getting the same message twice?
Give every logical message one ID, record which channel delivered it, and stop all other attempts once delivery is confirmed. On RCS, set a message expiration or revoke the message before sending SMS. On SMS, set a validity period so a delayed message is dropped. Some duplicates are unavoidable when a phone comes online late, so make content safe to receive twice.
Is WhatsApp, RCS, SMS always the right order?
No. It is a common order for rich transactional messages, but the right order depends on your audience and the message. For critical alerts many teams start with SMS because it works without data. For customers with no WhatsApp account, starting with WhatsApp only adds delay. Choose the order per use case and per customer, based on what you know about their channels.
Sources
- Send messages (message expiration and fallback) — RCS for Business, Google for Developers
- Revoke messages — RCS for Business, Google for Developers
- Capability checks — RCS for Business, Google for Developers
- Getting opt-in for WhatsApp — Meta for Developers
- WhatsApp Business Platform pricing — Meta for Developers
- 3GPP TS 23.040: Technical realization of the Short Message Service (SMS)
Keep reading
More guidesOmnichannel
How to Start a White-Label SMS and WhatsApp Resale Business
How to start a white-label SMS and WhatsApp reselling business: business models, sub-accounts, credit control, choosing a provider and a launch checklist.
13 min read
Omnichannel
Customer Messaging Journey Map: Channels for Every Lifecycle Stage
Build a customer messaging journey map from acquisition to win-back: the channel for each stage, triggers and rules, and a template table you can copy.
9 min read
UAE & Saudi Arabia
How to Choose a Business Messaging Platform in the UAE and Saudi
How to choose a business messaging platform in the UAE and Saudi Arabia: evaluation criteria, Arabic support, data residency, sender rules and vendor questions.
8 min read
