RCS, SMS, and MMS are all mobile messaging channels, but they differ significantly in capabilities, user experience, tracking, and performance measurement.
This article explains how each channel works, when to use them, and what to expect when comparing performance.
Overview
| SMS | MMS | Basic RCS | Single RCS |
|
| Delivery Receipts | Yes (unreliable) | Yes (unreliable) | Yes | Yes |
| Read Receipts | No | No | Yes | Yes |
| Click Receipts | Partial (UTM tracking) | Partial (UTM tracking) | Yes | Yes |
| Encryption | No | No | Yes | Yes |
| Character Limit | 160 (reduced to 70 with non-GSM characters) | 1,600 (reduced to 1,000 with non-GSM characters) | 160 | 3,072 (text-only) or 2,000 (with media) |
| Media | No | Low-quality media (one media file per message up to 600 KB) | No | High-quality media (one media file per message up to 100 MB) |
| PDFs | No | No | No | Yes |
| Interactive Elements | No | No | Partial (quick actions in the US only) | Yes (cards, buttons, quick actions etc.) |
| Location Sharing | No | No | No | Yes |
| Payment Integrations | No | No | Yes | Yes |
| App Integrations | No | No | Yes | Yes |
| Device Reach | All mobile phones with a network connection | All mobile phones with a network connection | RCS-capable devices only (Android 5.0+ or iOS 18+ on supported networks) | RCS-capable devices only (Android 5.0+ or iOS 18+ on supported networks) |
| Verified Senders | No | No | Yes | Yes |
| Branded Senders | Partial (Branded SID only) | No | Yes (company logo & info page) | Yes (company logo & info page) |
| Message History | No | No | Yes | Yes |
| Throughput | Uses SS7 signalling via SMSCs, limited by payload and latency | Uses SS7 signalling + WAP/HTTP for multimedia, typically slower than SMS | Uses modern IP networks (LTE, 5G, Wi-Fi) for fast, efficient delivery | Uses modern IP networks (LTE, 5G, Wi-Fi) for fast, efficient delivery |
Performance Metrics
When comparing performance across channels, it is important to understand structural differences.
Delivery rates
When comparing delivery performance across channels, it is important to understand how delivery is reported differently for SMS and RCS.
SMS delivery reporting
With SMS, delivery reporting is not always deterministic. Carriers do not consistently return a delivery receipt or a failure. In some cases:
- A delivery receipt is returned
- A failure event is returned
- No explicit event is returned
Where no explicit event is received, the message is assumed to be delivered. As a result, SMS delivery rates include a mix of confirmed deliveries and assumed deliveries.
While the number of assumed deliveries is typically small, it means SMS delivery rates may be slightly inflated compared to channels that rely solely on confirmed delivery receipts.
RCS delivery reporting
With RCS, delivery reporting is deterministic. For every message sent via RCS, we receive either:
- A confirmed delivery receipt, or
- A failure event
There are no assumed deliveries. Every message has a definitive status. This makes RCS delivery reporting in Klaviyo more precise and transparent.
RCS failure categories
While SMS has many failure categories, RCS only has two:
- Message expired - Delivery was attempted for up to 24 hours without success. After this window, the message is marked as failed and categorised as 'Device unreachable'.
- Device not capable - The recipient’s handset cannot receive RCS. This may be due to RCS being disabled, an unsupported network, or an unsupported operating system. The message is marked as failed and categorised as 'Device not RCS capable'.
If a failure is due to the device being incapable of receiving RCS, Klaviyo updates consent records so that future text messages default to SMS for that recipient.
Click rates
RCS click rates may appear lower than SMS click rates.
This is largely because SMS link tracking is often inflated by bot activity. Many carriers and security systems automatically prefetch or scan SMS links, generating artificial clicks that are counted in reporting.
RCS experiences significantly fewer bot clicks due to how links are handled within the RCS ecosystem. As a result, RCS click rates are generally more reflective of genuine human engagement.
Removing bot clicks in reporting
Klaviyo recommends excluding bot clicks from text message reporting. You can enable this by:
- Going to Settings
- Selecting Attribution
- In the Tracking and reporting data section, checking 'Exclude bot interactions from Clicked Text Message'.
Note. Even with bot filtering enabled, not all bot traffic can be removed from SMS reporting. As a result SMS click rates often appear higher.
What to compare instead
Rather than comparing raw click rates, we recommend focusing on:
- Conversion rate (placed order rate)
- KAV
- Revenue per recipient
These metrics better reflect real customer behaviour and true business impact.
Opt-outs
Opt outs are separate from delivery failures and are handled differently across SMS and RCS.
SMS opt outs
An SMS opt out occurs when a recipient:
- Replies with a recognised keyword such as STOP (two way SIDs such as TFNs, LCs, or SCs), or
- Clicks an unsubscribe link (one way SIDs such as Alphas)
In both cases:
- The recipient’s text messaging marketing consent is removed
- Future RCS and SMS messages cannot be sent unless the recipient opts in again
Important: If a recipient blocks a phone number directly on their device, this does not generate an event back to Klaviyo. Messages may continue to be technically delivered but will not be seen by the recipient.
RCS opt outs
With RCS, recipients can opt out in two primary ways:
- Replying with STOP (or equivalent), or
- Clicking “Block this sender” within the RCS agent information screen
In both cases:
- The recipient’s text messaging marketing consent is removed
- Future RCS and SMS messages cannot be sent unless the recipient opts in again
Important: If a recipient has iOS Unknown Senders filtering enabled and has not marked your RCS agent as known, messages may be routed to the Unknown Senders inbox and may not be actively seen. For more information, see Understanding Unknown Senders filtering on iOS and how it affects RCS.