Skip to contentSkip to navigationSkip to topbar
On this page

Verify Channel Selection



Overview

overview page anchor

When you start a new verification via the Verify API to send a one-time password (OTP) or verify a phone number, you specify a channel parameter, such as sms, whatsapp, etc. The standard behavior is that Verify uses that specified channel and nothing more. However, if that channel fails to deliver the OTP, or if there is a better channel that could result in a higher Verification Success Rate(link takes you to an external page) or lower cost to you, it would be beneficial for Verify to automatically select the best channel(s) based on its network-wide data. This eliminates the need for you to handle failure scenarios and can improve your business outcomes. This collection of features is called Verify Channel Selection (Orchestration), and this document explains their behaviors and how you can configure them.


Optimal Channel Selection features

optimal-channel-selection-features page anchor

Optimal Channel Selection features are those that use Verify's network-wide data to select an optimal channel to deliver an OTP. A variety of data is used, such as differences in OTP Conversion Rate, Verification Success Rate, and cost between different channels. These are the specific features:

  1. RCS Upgrade: With this feature, Verify automatically upgrades delivery of an OTP message from SMS to the RCS channel, even though channel=sms was specified in the start verification request. This feature provides improved message security and encryption, and potentially higher Verification Success Rate and lower costs. This feature is enabled by default. See RCS Messaging with Verify for more information.
  2. WhatsApp no-code: To configure Verify to attempt OTP delivery via WhatsApp first for specific countries, you can consult with the Verify team. This setup allows Verify to send the OTP via WhatsApp even when channel=sms was specified in the start verification request. The Verify team can provide expertise on which countries would benefit from this configuration and can perform tailored A/B experiments on your traffic to test the performance of each channel. This feature is opt-in. See Verify over WhatsApp for more information.

Fallback (failover) features are those where Verify automatically falls back to using an alternate channel after detecting that the previously selected channel will fail to deliver the OTP and verify the phone number. Optimal Channel Selection and Fallback can happen in sequence, such as an RCS Upgrade followed by an SMS Fallback.

Common reasons why a channel might not work in all cases, necessitating a fallback to a different channel:

  1. Channel unavailable for a country/region.
  2. Channel outage or degradation:
    • Verify has real-time monitoring of OTP conversion rates and deliverability across the customer network. Alerts trigger when a drop is observed, and we temporarily switch to sending the message through the fallback channel.
  3. Destination handset or phone number does not support the channel:
    • WhatsApp: The phone number is not associated with a WhatsApp account. The end-recipient does not have WhatsApp (Twilio Error Code: 63024). There is a minimal chance (<0.2%) of duplicate attempts to send your OTP message if a WhatsApp user has signed in to multiple devices at once.
    • RCS: The destination handset does not have RCS enabled (Twilio Error Code: 63036).
  4. Destination handset is offline for a channel but can be reached via a different channel:
    • RCS: RCS requires that the handset has WiFi or cellular data connectivity to receive a message. SMS only requires telephony connectivity.
    • Silent Network Auth (SNA): SNA requires that the handset has cellular data connectivity to deterministically verify a user's phone number with the carrier via an active data session. SMS only requires telephony connectivity.

The table below lists the supported combinations of starting channels and fallback channels. For each combination, the potential fallback reasons are indicated (referencing the reasons above).

Starting ChannelDefault BehaviorFallback Channel and Reasons
WhatsApp (channel=whatsapp)Will fallback by default to SMS (if SMS channel is enabled)✅ (1, 2.a)
RCS (channel=sms)Will fallback by default to SMS✅ (1, 2.a, 4.a)
Silent Network Auth (SNA) (channel=auto)Will only fallback to SMS if channel=auto✅ (1, 4.b)

Starting channels can be selected in one of two ways:

  1. Channel parameter in start verification request.
  2. Optimal Channel Selection, when enabled, which may override the channel parameter.
(information)

Info

  1. This guide does not cover selection or fallback between different senders within a given channel (e.g., SMS delivery via different short codes, long codes, Sender IDs, providers, etc.).
  2. You can contact Twilio(link takes you to an external page) to set up pilots to experiment with channel fallback for your needs.