Devtechify
WhatsApp API

Sent, Delivered, Read: What WhatsApp Message Statuses Mean

KarthikFounder & Full-Stack Engineer4 min read

Picture a campaign report that says 'read rate: 38%'. Is that good? The honest answer starts with a question: how many of those people have read receipts switched off? Nobody knows. That one missing fact changes how you read the entire number.

Statuses are useful. They're also easy to over-trust. Let's go through what each one actually says.

The four states you will meet

Sent

WhatsApp's servers have your message. That is all. It does not tell you that the phone received it, or that the number even exists on WhatsApp in some setups. If you see only this for a long time, the recipient's phone may be off, offline, or the number may be inactive. Think of it as the post office stamping your envelope: proof you posted it, not proof it landed.

Delivered

The message reached the recipient's device. It does not mean they've seen it. The phone could be in a drawer with notifications muted.

Read

The recipient opened the chat and the message was displayed. People can turn off read receipts in their privacy settings. When they do, you may never see 'read' for them, even if they read every word within a minute.

Failed

Something stopped the message. Common causes: the number isn't on WhatsApp, your sender was restricted, a template wasn't valid or approved, the 24-hour window had closed on the official API, or the user blocked you. A good gateway gives you a reason code, not just a red mark. Sorting failures by reason each week is the quickest way to spot a dirty list.

What this means for reporting

  • Delivered is the most reliable number for 'did it arrive'. Treat it as your baseline.
  • Read is a floor, not an exact count. Real reads are at least this many.
  • A low delivered rate on a list usually points to bad numbers or a restricted sender, not bad copy.
  • Read rate comparisons between two campaigns only make sense if the audiences are similar.
  • None of these tell you whether the message worked. Replies, orders and payments do.
Don't chase the read rate

A message can be read and ignored. A message can be unread and still acted on later. Judge campaigns by what people did next, and see our piece on measuring results beyond delivered.

Why statuses arrive late or out of order

Status updates reach your software through callbacks, which we explain in webhooks for non-developers. They travel over networks, so a 'read' notice can sometimes land before 'delivered', or a delivery update can be delayed when the user's phone reconnects.

Design for that. Store the latest known state by message ID, and don't let an older update overwrite a newer one. Never mark a message as failed just because a status hasn't arrived after a few minutes.

Per-recipient results It also makes life easier when a customer phones to say they never got the message. You can look up that exact number, see when it was handed over and what happened to it, and give a straight answer instead of a guess. That kind of record settles most disputes in under a minute.

When you send to many people at once, a single 'campaign sent' result hides the story. You want to see each recipient's outcome. WA Getway records per-recipient results for broadcasts, so you can see exactly who got it, who didn't, and follow up on the failures. That's more useful than any average.

Using statuses to act

A short example

Say a salon sends 200 reminders for a festive weekend. 190 show as delivered, 12 as read within the first hour, and 10 as failed. A careless reading says only 12 customers care. A better reading says 190 reached phones, an unknown number were read with receipts off, and the 10 failures need a phone call or a number check. Same data, very different next step.

  1. 1Retry messages stuck in 'sent' after a sensible wait, but stop after a couple of attempts.
  2. 2Remove numbers that fail repeatedly from your list so they don't drag down your sender quality.
  3. 3If a high-value message such as an invoice or OTP fails, fall back to SMS or a phone call.
  4. 4Review failures weekly for patterns, such as one batch of numbers all failing.

Repeated failures to many contacts can hurt a sender's standing, so read spam reports and quality rating as well. And if you're just beginning, your first API message shows how a send request and its result fit together. Want status tracking built into your own dashboard? We can set it up. Keep one more habit in mind: write down your own definitions. If your team calls a campaign successful, decide in advance whether that means delivered, replied or purchased, so reports mean the same thing every month.

delivery statusread receiptsWhatsApp APIreporting

Talk to us

Have a project in mind? Tell us about it.

Four quick questions and we'll reply within one business day with an honest view on the fastest way to ship it, whether that's our own products, a custom build or an integration.

DevTechify

Start your project

Let’s build something great

1
2
3
4

Which industry does your business belong to?

Pick the closest match — we'll tailor the rest for you.