A message you send from the inbox shows as queued, sent, delivered, read, or failed. Bulk sends, broadcasts and sequences, additionally show a sending state while the batch is actively going out. Most failures are temporary, and Stravax Engage retries automatically until the message goes out; a message only stays failed when the underlying reason will not change on its own, such as an invalid recipient.
| State | What it means |
|---|---|
| Queued | The message is waiting to be sent |
| Sending | A broadcast or sequence batch is actively sending it right now (bulk sends only) |
| Sent | The message reached WhatsApp successfully |
| Delivered | WhatsApp delivered it to the recipient's device |
| Read | The recipient opened it |
| Failed | The send did not succeed and will not be retried further |
Delivered and read arrive as status updates from WhatsApp after the send, so a message normally walks forward through sent, delivered, read; it never walks backward.
Failures fall into two kinds. A transient failure, a temporary hiccup somewhere in the pipeline, is retried automatically, and the message still goes out, exactly once, once the retry succeeds. A terminal failure is one where retrying would not help, such as an invalid recipient; those settle as failed right away, and any fee that was already charged is refunded. A broadcast message your wallet could not cover is different from both: it is never attempted and never charged, and it is counted separately as skipped (insufficient credits) rather than as a failure.
If a message keeps failing after several attempts, Stravax Engage stops retrying and settles it as an observable failed message rather than dropping it silently. Any fee already debited for that attempt is refunded, including when WhatsApp accepts a message and only reports the failure afterward; that refund settles automatically shortly after the failure report arrives.
Occasionally a message can get claimed for sending and then never settle, for instance if something interrupts the process mid-send. A background check runs regularly to catch messages stuck like this: after about an hour with no update, it marks the message failed and refunds any fee that was charged. Messages that are still genuinely in progress are left untouched.
No. Stravax Engage tracks each send attempt so that a retry, or a duplicate delivery notification arriving after a message already succeeded, never results in the message going out twice.
For bulk sends, broadcasts and abandoned-cart recovery messages, a message can also be skipped before it is ever attempted, with no fee charged, for three separate reasons the campaign reports distinguish: the sending number already used its volume budget for the day, the number is paused for quality reasons, or the wallet balance could not cover the message (shown as skipped, insufficient credits).
Related reading: