Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Verify RCS Upgrade



What is RCS

what-is-rcs page anchor

RCS is an enhancement of the SMS channel, delivering messages over Wi-Fi and cellular to the default SMS messaging app on Android, Messages by Google(link takes you to an external page). RCS messages are more secure, because they are encrypted(link takes you to an external page) between Twilio and Google's servers and between Google's servers and the end-user's device. They can also have lower delivery latency. RCS only works on compatible devices and a limited set of countries, initially Brazil, Spain, France, Italy, and Philippines, but more over time.


Verify's support for RCS

verifys-support-for-rcs page anchor

Twilio Verify will automatically upgrade delivery of your OTP messages via RCS instead of SMS whenever possible; and if we determine that it exhibits the same or better performance, as measured by Verification Success Rate and Messaging Cost Per Successful Verification.


Message recipient experience

message-recipient-experience page anchor

Your end-user receives the RCS message from Verify on the default SMS messaging app on Android, Messages by Google.(link takes you to an external page) They do not need to know in advance that they are receiving an RCS instead of an SMS message, because it appears in the same app and looks similar.

rcs experience.

Delivered messages over RCS will continue to be billed to you as SMS messages. Your total messaging bill could be lower as a result of the upgrade for two reasons:

  1. Unlike SMS, RCS messages will not be billed if they are sent, but not delivered.
  2. SMS has a message character limit that can sometimes cause OTP messages to be split into 2+ message segments, each of which is billed as their own SMS message. RCS has a much larger character limit, such that OTP messages will not be split.

Can I opt-out of this RCS upgrade?

If you do not want Verify to automatically upgrade your messages to RCS, complete this opt-out form(link takes you to an external page). There is not a way to specify RCS or not when sending an individual message.

How do I know if an RCS upgrade was attempted?

If an attempt to deliver the message via RCS was made, then the response body to a Create Verification request will show channel=rcs, instead of channel=sms. Note that this does not mean that the RCS message was actually delivered. If it turns out that the message recipient does not have an RCS-compatible device, then the RCS message delivery will fail, and an SMS message will be automatically sent. Both RCS and SMS messages would be included in a single Verification Attempt identified by the same Attempt SID.

How do I know if an RCS message was successfully delivered?

In the Verify Console Logs, for a given Verification Attempt, the last message delivery attempt will be displayed. For example, if an RCS message was sent and delivered, then the Outcome would show "Code sent via RCS" and Delivery Status would show "Delivered". However, if there was a failover to SMS, then the Outcome would show "Code sent via SMS".

RCS in Verify Logs.
RCS channel filter in Verify.

How does Verify measure performance when optimizing between use of RCS and SMS?

Verify measures two key performance metrics:

Verification Success Rate: Of the Verifications created by calling the Verify API, the percentage that ended in status=approved. Per-Message (Attempt) Conversion Rate is not the same as this, because a single Verification session can contain multiple message attempts. However, the two metrics are correlated.

Messaging Cost Per Successful Verification: Sum of the prices billed to the Twilio customer for all billed SMS and RBM messages for all Verifications (regardless of Verification status) DIVIDED by the total number of Successful Verifications (Verification status=approved).


Rate this page: