Track sent, delivered, opened, clicked, and bounced for each email turn.
Every outbound email turn carries its own delivery status. As your provider sends
webhook events, Anyreach advances the turn along a fixed ladder and records when
the recipient opened the message, clicked a link, or bounced. The status shows on
the turn in the conversation detail view.
Each outbound turn moves through a monotonic ladder. A new event only advances the
status if it outranks the current one, so out-of-order webhooks never regress a
turn (an opened event arriving before its delivered event cannot pull the turn
backward). The terminal negative states always win, regardless of the current rank.
queued < sent < delivered < opened < clicked bounced / complaint / failed (terminal)
State
Rank
Meaning
queued
1
Accepted by the provider; not yet sent. A delayed delivery also reports here.
sent
2
Handed off to the recipient’s mail server.
delivered
3
Accepted by the recipient’s mailbox.
opened
4
The recipient opened the message.
clicked
5
The recipient clicked a link in the message.
bounced
terminal
The message hard-bounced. Auto-suppresses the recipient.
complaint
terminal
The recipient marked it as spam. Auto-suppresses the recipient.
failed
terminal
The provider could not process the message.
opened and clicked require open and click tracking enabled at the provider.
Without it, a turn may stop at delivered.
When a status event arrives, Anyreach patches the matching outbound turn (located
by the provider’s message ID) with the new status and any engagement details the
event carries:
Field
Set by
Description
delivery_status
every event
The current ladder state for the turn.
opened_at
opened
Provider timestamp of the open.
clicked_at
clicked
Provider timestamp of the click.
clicked_link
clicked
The exact URL the recipient clicked.
delivery_error_code
bounced / failed
Provider error or bounce type.
These are written atomically alongside the underlying delivery row, so the turn and
the delivery record never disagree.
A bounced or complaint event is terminal and also adds the recipient to your
unsubscribe ledger so future turns are not sent to that address. The reason is
recorded as bounce for a hard bounce and complaint for a spam complaint.
Suppression is idempotent: a repeat event for an already-suppressed address is a
no-op.
Suppression is automatic and account-wide for the channel. To send to a recipient
again, remove them from the ledger as described in
/email/unsubscribes-and-compliance.
Open a conversation in the detail view to see a status badge on each outbound email
turn. The badge label matches the ladder state:
State
Badge
queued
Queued
sent
Sent
delivered
Delivered
opened
Opened
clicked
Clicked
bounced
Bounced
complaint
Complaint
failed
Failed
Hover the badge for a tooltip with the open time, click time, and any error code.
When a turn reaches clicked, the clicked link is shown on the turn itself.
Conversation detail
Read a full transcript and inspect each turn, including email delivery badges.
Unsubscribes and compliance
Manage the suppression ledger and the keywords that add or remove addresses.