iMessage is Apple's own protocol. It runs over the internet between Apple devices, end-to-end encrypted, with delivery and read receipts, typing indicators, tapbacks, and full-resolution media. SMS and MMS are carrier protocols from another era: no encryption, compressed media, 160 characters per segment, and a per-message cost.
What the customer sees
Blue bubble (iMessage)
- Renders as a native conversation
- Link previews unfurl into branded cards
- Images arrive at full resolution
- Read receipts and typing indicators available
- No carrier fee
Green bubble (SMS/MMS)
- Plain text, bare URL
- Compressed, often ugly media
- No receipts of any kind
- Segment limits and the emoji tax
- Per-segment carrier cost
RCS changed the middle ground, not the top
RCS brings read receipts, typing indicators and better media to Android and to iPhone-to-Android threads. It genuinely narrows the gap. It does not make the bubble blue, and business RCS has its own verification and routing story — treat it as a third lane rather than a replacement for either.
The legitimacy gap
Customers have been trained by years of scam texts. A green bubble containing a shortened link from a domain they do not recognise triggers exactly that pattern match. A blue bubble from a saved contact with an unfurled preview showing your actual domain does not. You are not just buying features here, you are buying the benefit of the doubt.
The practical answer: do not choose
Roughly half of US phones are iPhones, and you do not get to pick which half your customers are in. The correct architecture is one send call with automatic SMS fallback: iMessage where it is available, SMS where it is not, one thread from the customer's point of view. Every hosted provider worth using does this — see the comparison table. Self-hosted bridges generally do not, which is the single strongest argument against them for customer-facing work.
Write for the green bubble
Compose every message so it still works stripped of rich formatting and split into SMS segments. If your message only makes sense with an unfurled link preview, half your list gets a worse version of it.
Test both before you launch. Send every template to an iPhone and an Android handset and read them side by side. The version that works on both is the version you ship.
Next step
Generate a tagged link for whatever you send next with the UTM builder, see what this looks like in your industry, or compare the services that can send it on the providers page.