Skip to content
BitByteCore ConnectBook a demo
Open the product menu

Guide · Delivery · For the owner reading a status column

What the status column means for a message your business sent: sent, delivered, read, played and failed, from Meta's own reference

On a phone, the ticks under a message tell you where it got to. When a business sends through the Cloud API, Meta sends the same information to the business's system as a series of notices, one per change, and the system shows them as a status column. Meta's reference lists exactly five statuses, what each means, which tick it matches, and two quirks that confuse owners: a read message with no delivered notice, and a notice that carries billing information. Here is the column explained.

Published 1 October 2026

The five statuses and their ticks

Sent: one grey tick
Meta's servers accepted the message and sent it on. Nothing is known yet about the customer's phone.
Delivered: two grey ticks
The message reached the customer's device. A phone that is off or offline stays at sent until it comes back, with no error in between.
Read: two blue ticks
The message was displayed in an open chat on the customer's device. Meta counts a message as read only if it was delivered, and a customer who has switched off read receipts produces no read status at all.
Played: blue microphone
For a voice message only, the first time the customer plays it.
Failed: red triangle
The message could not be sent, or could not be delivered. The notice carries Meta's numbered reason, its title and a details line; the guide to why a message failed covers what each means.

Meta sends a separate notice for each change, so one message can produce up to three in a row: sent, delivered, read. The same statuses apply to a message sent into a group, where the notice also identifies which member it concerns.

Two quirks worth knowing

Read, with no delivered
If the customer is already looking at the chat when the message arrives, it is delivered and read in the same instant, and Meta's reference says the delivered notice is then skipped as an internal optimisation. A status column that jumps from sent to read is not broken.
The status notice is also the bill
Meta's reference attaches a pricing type and a pricing category to the status notice. The category names the kind of message, such as marketing, utility, authentication or service; the type says whether it is charged as regular or falls under one of the free cases: a free entry point window opened from an ad, or the free customer service allowance. Meta's page notes that from 1 October 2026 what counts as free customer service changed: a utility message inside the window is now a regular charge, and the free allowance applies to service messages within the number's free tier.

A reference you set comes back to you

Meta lets the sending system attach its own reference text to a message, and every status notice for that message carries it back. A well-built system uses it to tie each tick to the order, invoice or campaign it belongs to, so the owner sees status per booking rather than per anonymous message.

What the owner should ask the dashboard for

  1. All five statuses, by name. A column that only knows sent and failed hides the difference between a phone that is off and a customer who read the message and did not answer.
  2. The failure reason next to every failed message. Meta sends the code and the details line in the same notice. The failure reasons guide is useless without it.
  3. The pricing category per message. Because the notice names it, a system can total marketing against utility against service without waiting for Meta's invoice. The guide to how Meta charges explains the categories.

Statuses flow one way here: from the customer's phone back to you. What your business shows the customer, the blue ticks on their side, is a separate setting covered in the read receipts guide.

Questions

A message has been on one tick for two days. Did it fail?

Not according to Meta. Sent means Meta accepted it; delivered is reported only when it reaches the device. A phone that is off, out of coverage or has WhatsApp uninstalled keeps the message at sent with no error. If it is a template, Meta keeps trying for the template's delivery period and reports failed only when that runs out.

The dashboard shows read but never showed delivered. Is the data wrong?

No. Meta's reference says that when the customer is already in the chat the message is delivered and read at once, and the delivered notice is skipped. Read implies delivered.

Why do some messages never show read even though the customer replied?

The customer has read receipts switched off on their phone. Meta then never sends a read status for them, whatever your system does. Their reply is the proof.

Can we tell what a message cost from its status?

You can tell its category and whether it was charged, because Meta attaches the pricing type and category to the status notice. The amount itself comes from Meta's rate card for your market, which the pricing guide explains without restating.

Sources

More plain-language notes like this one are on the guides page.

Want a status column that tells you the truth about every message?

We set up a business's WhatsApp number on a proper system that records all five of Meta's statuses, shows the reason beside every failure, ties each message to the booking or order it belongs to, and keeps the pricing category so the month's spend is visible before the invoice. A short call is the easiest way to see whether it fits your business.

Book a demo