RCS business messaging looks like the upgrade SMS always needed. You get branded sender cards, verified business names, carousels, suggested-reply buttons and read receipts, all in the phone's default messaging app. Every RCS program also needs a second plan, because a meaningful share of your recipients won't get the RCS version. Some are on older devices. Some carriers haven't launched business messaging, and some phones have RCS switched off. Every message you send through RCS needs a path to plain SMS.
This post covers what RCS actually adds, where coverage stops, and how to wire SMS fallback that doesn't double-send, overspend or skip compliance. One point up front: Ready doesn't send RCS today. We send SMS and iMessage. If you run RCS through an RCS provider, Ready can be the registered SMS layer underneath it. We'll show both sides of that setup.
What RCS adds over SMS
RCS (Rich Communication Services) replaces the 160-character text with something closer to a chat app. For a business sender, the practical additions are:
- Verified sender identity. Your brand name, logo and a verification badge show at the top of the thread, instead of a bare 10-digit number.
- Rich cards and carousels. You can send an image, a title, a description and buttons in one bubble. A carousel lets someone swipe through products.
- Suggested replies and actions. Tap-to-reply chips ("Confirm", "Reschedule") and action buttons (open a URL, dial, open maps, add to calendar) replace "Reply 1 for yes."
- Read receipts and typing indicators. You can see whether the message was read, and not only whether it was delivered.
- Longer messages and better media. You don't hit the 160/153-character segment boundaries, and you get higher-quality images and video.
For appointment confirmations, order tracking and two-way support, the buttons alone are worth evaluating. Fewer free-text replies means fewer "yes pls" messages that a parser has to guess at.
For a plain-English primer on what "RCS" means when it shows up on a phone, see what is RCS messaging.
Where coverage actually stops
RCS reach depends on three things lining up for each recipient.
The device and the app
Most modern Android phones ship with Google Messages, which supports RCS. Apple added RCS support to iPhone with iOS 18. That was a big shift, but business messaging to iPhones has depended on each carrier enabling it, and support has rolled out unevenly. Older iPhones and anyone who hasn't updated stay on SMS.
The carrier
Each US carrier decides when it supports RCS business messaging and on what terms. Coverage differs between carriers, and also between prepaid brands and MVNOs riding on the same network. Your RCS provider can tell you which networks your agent is launched on. Ask before you plan a campaign around it.
The user's settings
Recipients can turn RCS chat features off, and RCS needs a data connection. Someone on spotty coverage, or with chat features disabled, gets nothing over RCS until the provider gives up and falls back.
What this means for planning
Assume a portion of every list will never see your rich card. Industry estimates move quickly, so we won't quote a percentage. Get the real capable-versus-not split from your RCS provider's capability checks on your own list. Then design every message so the SMS version stands on its own. Our longer take on timing is in RCS shipped on iPhone but won't replace your SMS program in 2026.
The other limits buyers underestimate
Coverage isn't the only catch:
- Agent approval is its own process. RCS senders go through brand verification and carrier launch approval for the RCS agent, separate from 10DLC. It's a different form, a different reviewer and a different timeline.
- Billing models differ. RCS is often priced by message type or by conversation, not by segment. Get your provider's rate card in writing and model it next to SMS.
- Your SMS still needs 10DLC. Fallback traffic is ordinary A2P SMS. If it goes out on an unregistered number, carriers filter it, and that happens exactly when RCS has already failed. The sender type comparison explains why registered 10DLC is the usual fallback route.
- Opt-outs have to cross channels. If someone texts STOP on SMS, they must not get your next RCS card, and the reverse is true too. Two vendors means two opt-out lists, and you need to keep them in sync.
How to build SMS fallback that works
Fallback can trigger at two points:
- Before send (capability check). The RCS provider reports that the number can't receive RCS, so you send SMS straight away.
- After send (timeout). You sent the RCS message, but it wasn't delivered within your window, so you send SMS instead.
The second case is where duplicates happen. The RCS message can land late, after the SMS has already gone. Keep the timeout reasonable for the message type. A one-time passcode might fall back after a few seconds, and a marketing card after several minutes. Treat the SMS as the same logical message so a retry can never send it twice.
Step 1: register the SMS side first
Get your 10DLC brand and campaign approved before launching RCS, so fallback traffic is never unregistered. On Ready, registration happens in-app with no setup fee. You pay $25 at submit for the first month, then $25/mo for registration + $2 per number. Most approvals take 2 to 7 days. The full fee breakdown is in 10DLC cost: every fee explained.
Step 2: check the opt-out list before any channel
Before sending on either channel, check whether the number has opted out. On Ready, GET /v1/opt-outs/:phone tells you. Ready also refuses opted-out and numbers on your Ban list when you send, and doesn't charge for them. Mirror that suppression into your RCS provider's list so a STOP on SMS also stops the cards.
Step 3: send the fallback with an idempotency key
When the RCS provider reports "not capable", or your timeout fires, send the SMS. Use the same UUID per logical message, so a retried request never sends twice:
POST https://api.tryready.com/v1/messages
X-API-Key: <your key>
Idempotency-Key: 6f1c2e8a-3b4d-4a91-9c7e-2d5f0a8b1e44
Content-Type: application/json
{
"to": "+12125550199",
"body": "Your order #1042 has shipped. Track it: https://example.com/t/1042 Reply STOP to opt out.",
"consent_attested": true
} For a list of people who couldn't get RCS, POST /v1/messages/bulk takes up to 100 recipients per call, so split bigger lists into batches. Request shapes are in the messages API docs and the quickstart. Local presence is an account switch, so bulk sends follow it without any extra field.
Step 4: write the SMS version yourself
Don't let a provider auto-flatten your rich card into text. A carousel turned into SMS usually becomes a wall of URLs. Write a separate SMS body: one clear sentence, one link, opt-out language, and under 160 GSM-7 characters if possible.
Quiet hours carry over too. A Ready campaign or drip text that falls in the recipient's quiet hours is held and sent later, and it's charged only when it sends. An API or one-to-one text is held only if sending opens within about 6 hours; otherwise it's refused, and you send it again once sending opens. Your RCS provider's rules may differ, so check that both channels respect the same window.
Worked example: what fallback costs
This example uses stated assumptions, not data from any real sender:
- 20,000 shipping updates a month
- Assume 40% of recipients can't receive RCS, which means 8,000 SMS fallbacks
- Ready Standard rate: $0.0075/segment, plus a $0.0045 carrier fee per segment
| SMS fallback copy | Segments each | Total segments | Ready rate cost | Plus carrier fee |
|---|---|---|---|---|
| 150 characters, plain GSM-7 | 1 | 8,000 | 8,000 × $0.0075 = $60 | 8,000 × $0.0045 |
| 150 characters with one emoji | 3 | 24,000 | 24,000 × $0.0075 = $180 | 24,000 × $0.0045 |
One emoji triples the fallback bill. Unicode cuts each segment to 70 characters (67 when the message splits), so 150 characters becomes 3 segments. RCS doesn't care about emoji, but your fallback copy should stay plain. Ready swaps curly quotes, long dashes and ellipses for plain characters before sending, so those don't change the count. Emoji do.
That all-in rate excludes the compliance surcharge. TCPA/DNC scrubbing and landline validation each add $0.003 per segment when switched on, and both are off by default. Replies you receive are billed like sent texts, which matters if your fallback copy invites a reply.
On raw per-segment price, Twilio and GoHighLevel/LeadConnector charge less for SMS. What Ready includes is in-app 10DLC registration, STOP handling across campaigns, quiet-hours holds, optional scrubbing and an inbox, so the fallback path ships compliant without you building those pieces.
An option for iPhones: the blue line
If your main goal with RCS is a branded look on iPhones, consider Ready's blue line. It sends as iMessage, so messages show up blue with your business name and photo. It's not Apple Messages for Business: a blue line can text first.
- Price: $99 a month per line, plus 6 cents a segment for each text sent. Replies are also 6 cents a segment, and reactions are free.
- Limits: each line can start up to 50 new conversations a day, send up to 2 texts before the person replies, and send photos only after they reply. Texting people you already talk to is unlimited.
- Android: texts to Android phones go from the account's regular number. If the account already had a number, they bill at the regular SMS price. If the blue line came with its number because the account had none, those texts bill at 6 cents a segment once the account registers or sends through GoHighLevel.
- Registration: a blue line needs no 10DLC registration.
- Campaigns: campaigns and drip campaigns still send from regular numbers, not the blue line.
It fits one-to-one sales and support threads. It doesn't fit bulk sends. The API is documented at docs.tryready.com/api/imessage.
The practical takeaway
Treat RCS as an upgrade layer, not a replacement:
- Register 10DLC for your SMS route first.
- Run capability checks and keep fallback timeouts short.
- Write a plain GSM-7 version of every message.
- Use one idempotency key per logical message.
- Keep opt-outs in sync across both vendors.
If you need the SMS side of that setup, you can create a Ready account. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it. Your first 20 one-to-one texts are free, so use them to test your fallback path before you pay for registration, because the free texts end once registration is paid.