Every SMS vendor pitch deck has the same slide. "Email open rates hover around 20%. SMS open rates are 98%." Big number, bold font, usually a phone graphic. It's the stat that sells the channel.

It's also, in the strict sense, not measuring what the word "open" implies. SMS has no open pixel. There is no read receipt that gets reported back to the sender by default. That 98% figure is a repackaged delivery number — a carrier told the network the message landed on a handset — dressed up in the language of an email metric it has nothing to do with.

Full disclosure: I work for Ready, an SMS platform. You'd think my job is to defend the 98% stat, since it makes the whole channel look great. It's the opposite. Vanity metrics set people up to be disappointed when real revenue doesn't follow, and that's bad for everyone who sells SMS honestly. So let's take the number apart and replace it with metrics that actually move.

Where the 98% number comes from

Here's the chain of assumptions baked into that stat:

  1. Text messages get delivered at a high rate (mostly true on registered 10DLC routes).
  2. People check their phones constantly, so a delivered text gets glanced at within minutes (roughly true, but unmeasured).
  3. Therefore "delivered" ≈ "opened" ≈ 98%.

Step 3 is where it falls apart. SMS at the protocol level gives you a delivery receipt — a DLR — that reports one of a few states: delivered, failed, undelivered, sometimes unknown. There is no "read" state in that receipt for standard SMS. Whether the recipient's eyeballs actually hit your words is not something the carrier reports, full stop.

So the honest translation of "98% open rate" is: "on a clean, registered list, a large majority of messages get accepted by the carrier for delivery." That's a real and useful thing. It's just not an open rate. We went deeper on the mechanics of what a DLR does and doesn't confirm in Your 98% 'Delivered' Rate Is Lying to You — worth reading if you want the carrier-level detail.

Even "delivered" isn't as clean as the number implies

Before we even get to reads, the delivery number itself has soft spots.

  • A DLR of "delivered" means the carrier accepted the message for handset delivery. On some carriers, especially where filtering happens, a message can be silently dropped and still not report a hard failure back to you.
  • Unregistered or mis-registered 10DLC traffic gets carrier-filtered, and the filtering doesn't always show up as a clean "failed." If you registered a marketing campaign use case for what's really transactional content — or vice versa — delivery can quietly sag (why that happens).
  • The same campaign can post a great delivery rate on one carrier and a mediocre one on another, purely because of throughput and reputation differences (AT&T vs T-Mobile).

So the input to the 98% claim — delivery — is already noisier than a single headline number suggests. Stacking a fictional "open" interpretation on top of a fuzzy delivery number gives you a metric that's decorative, not decision-useful.

What actually signals a human engaged with your text

If you can't measure opens, what do you measure? Downstream behavior. Every one of these requires the recipient to have actually read the message, which is exactly why they're more honest than "delivered."

Reply rate. For an opted-in, well-segmented list, conversational and two-way campaigns often see reply rates in the rough range of 30–50% (treat that as a ballpark, not a promise — it swings hard by industry and message). A reply is proof of a read. Nobody replies to a text they didn't open.

Click rate. If your text has a link, click-through is your closest proxy for "opened and cared." Just know that adding click tracking has a deliverability cost if you do it with a public shortener — carriers filter shared bit.ly-style domains (the branded-domain fix). Track clicks with your own domain or don't bother.

Opt-out (STOP) rate. The most underrated engagement signal, because it's the one that's read too well. A spike in opt-outs after a send means people read it and disliked it enough to act. Watch this per-campaign, not just as a lifetime average.

Conversion / attributed revenue. The only metric that pays rent. Just be skeptical of platforms that claim every sale inside a 24-hour window — that inflates ROI by crediting purchases the customer would've made anyway (the attribution-window problem).

A quick comparison: vanity vs. useful

MetricWhat the vendor impliesWhat it actually measuresTrust it?
"98% open rate"People read your textCarrier accepted deliveryNo — it's a delivery number in a costume
Delivery rateEvery message landedCarrier accepted for handset (filtering can hide drops)Partially — check per-carrier
Reply rateA human read and respondedYes — proof of engagement
Click rateRead + acted on a linkYes, with branded-domain tracking
Opt-out rateRead + rejected the messageYes — early warning system
Attributed revenueSMS drove all of itSales inside an attribution windowYes, with a sane window

How to set honest KPIs

Stop reporting "open rate." It doesn't exist for SMS and everyone technical who reads your dashboard knows it. Report a small stack of real numbers instead. A workable default:

  1. Delivery rate, broken out by carrier — so a T-Mobile filtering problem doesn't hide inside a blended average.
  2. Reply rate per campaign — your engagement pulse.
  3. Click rate (branded domain only) for any link-bearing send.
  4. Opt-out rate per campaign — flag anything meaningfully above your baseline the same day it sends.
  5. Cost per reply or cost per conversion — ties the whole thing to money.

Set targets as ranges, not points. "Reply rate 25–40% on conversational sends" is an honest goal. "98% open rate" is a goal you can't fail and can't learn from. If you want a fuller framework for choosing which metrics to track and which ones lie, we laid that out in The SMS Metrics You Should Actually Track and, for local operators specifically, Mastering SMS Metrics for Local Biz.

Why the unified inbox matters for this

Reply rate is only useful if you can actually see and act on replies. If inbound texts vanish into a black hole, you lose the one metric that proves a read and the revenue that comes from answering fast.

Ready keeps inbound and outbound in a single conversations inbox, and for GoHighLevel accounts those replies two-way sync into GHL mapped per location — so an agency's clients stay isolated. Delivery receipts, reply threads, and opt-outs live in one place, which means your "engagement" number is built from behavior you can see rather than a carrier DLR you're reinterpreting. Automatic STOP handling propagates opt-outs across campaigns, so your opt-out metric reflects reality instead of a contact you accidentally re-messaged.

None of that makes opens measurable — nothing does, for SMS. It just means the metrics that are real are actually in front of you.

The honest version of the pitch

Here's what SMS actually earns, stated without the costume:

  • Messages on registered 10DLC routes get delivered at high rates.
  • Delivered texts tend to get looked at fast, because people carry their phones — but "fast" and "high open rate" are inferences, not measurements.
  • The channel's real edge is response: reply rates and click rates that dwarf most email programs, when the list is opted in and the message is worth reading.

That's a strong pitch. It's stronger because it's true, and it points you at the levers that matter — segmentation, message quality, timing, clean consent — instead of a number that stays at 98% whether your campaign made a dollar or bombed.

If you want to run your own numbers, Ready gives you 2,500 free credits and no credit card to start, so you can send real campaigns and watch replies, clicks, and opt-outs on your own list — sign up here or read more about the platform at tryready.com/readysms. Track the metrics that require a human to have read the thing. Retire the open rate.