A message status is the small mark that tells you where a message you sent has got to. "Did it go, did it arrive, was it read" is answered in the bottom corner of the bubble. A single tick, for example, means "we sent it and Meta accepted it" — it does not mean "read".
The status mark only appears on messages sent. Nothing is drawn on a message the person wrote: the state of their message is not our business.
you
What each status means
Sending — the record exists and the message is on its way to the channel. The icon is a clock. This usually lasts less than a second.
Sent — Meta accepted the message onto its network.
Delivered — the message reached the person's device.
Read — the person opened it.
Failed — the message never went out. The icon is a red warning, and the reason plus a Retry link appear under the bubble.
Received — the status used for messages the person sent you; it is never drawn as a mark on screen.
The bubble that appears the moment you press Send uses the same statuses: a clock first, then a single tick once the server has stored the message. When the real record lands in the list, that temporary bubble is dropped, so the same message is never shown twice.
Hovering over the icon reads the status as text, and it is always written out for screen readers.
How Instagram differs from WhatsApp
The two channels do not share the same conventions, because Meta does not hand over the same information for both.
WhatsApp
Single tick — sent.
Double tick — delivered.
Coloured double tick — read.
In other words, the tick pattern you know from WhatsApp works the same way in the panel.
Instagram
Single tick — sent.
Instagram has no double tick at all: Meta does not send delivery information for Instagram.
Read information arrives as a separate event and is shown with a Seen label next to the bubble rather than a tick.
This is not a gap in the product but the channel's rule, and it applies to every tool built on Meta's API. No tool can tell you whether an Instagram message was delivered.
When a status changes
Statuses are updated on the message record itself; if the inbox is open, the screen refreshes on its own and you never need to reload.
Changes arrive two ways:
The send response — the moment Meta accepts the message the record becomes "sent"; if Meta refuses it, the record becomes "failed" and the reason is written down.
Channel notifications — delivery and read information arrive later, as notifications from Meta. That is why a message can sit at "sent" for a few seconds and then move to "delivered".
A message can also stay at "sent" for a long time: if the person has not picked up their phone, no delivery notice arrives. That is normal.
On Instagram, read information does not arrive message by message but up to a moment: when the person opens the chat, everything you sent before that point becomes read at once. That is why Seen appears on all five of your messages at the same time.
Statuses never go backwards. Once a message is "read" it does not return to "delivered"; a late notification does not corrupt the record.
Who sent the message
Next to the status you will sometimes see a second label telling you where the message came from:
Automation — a flow sent it.
From the channel's own app — the message was sent from the Instagram or WhatsApp Business app on a phone and echoed into the panel.
Imported — a record carried over from an older system.
When you typed the message in the panel no label is written; that is the default. The distinction answers "did the team reply or did an automation?" without leaving the chat — useful when a customer says "a robot answered me".
Messages sent from a phone app land in the panel as an echo. So if a colleague replied from the WhatsApp Business app, that message shows up here too, and the label tells you where it came from.
When the customer sees "Seen"
Reading a message does not create a "Seen" on the other side by itself. On Instagram, whether the customer sees that you read their message is a separate setting: Read receipt under Settings › Messaging. It is off by default.
⚠️ A read receipt can only be sent while the 24-hour window is open. Opening an old conversation sends nothing to the customer; with the window closed, Meta would refuse that call anyway.
A worked example
A shoe shop answers a sizing question from a customer on WhatsApp:
They press Send; a clock icon appears on the bubble.
Half a second later it becomes a single tick: Meta took the message.
A few seconds later it becomes a double tick: the message reached the customer's phone.
When the customer opens the chat in the evening, the double tick turns coloured.
Had the same reply gone out on Instagram, they would have seen a single tick, and a Seen label would have appeared next to the bubble when the customer opened the chat.
Things that get confused
Reading a single tick as "read". A single tick only says Meta accepted the message.
Looking for a double tick on Instagram. There is none; read information comes as the Seen label.
Assuming a message failed because "delivered" never came. If the person has not opened their phone, delivery information is simply late; the message is on Meta's network.
Ignoring the red warning. A message in the "failed" state did not reach the person. Read the reason and see Message could not be sent.
Reading statuses correctly answers half of "why is the customer not replying" before anyone has to ask.