Deliverability & compliance

Delivery tracking

Every campaign send records what happens to each individual email, delivered, opened, clicked, bounced, or complained, on a per-recipient audit table on the campaign detail page.

Once a campaign sends, Marketing tracks the fate of each individual email and reports it back on the campaign detail page. Delivery, opens, clicks, bounces, and spam complaints arrive from your email provider and update each recipient's status as they happen. Which of these events get tracked, and how links are tagged, is set per campaign in the Setup step; see Composer for those switches. This article covers what happens after send: the per-recipient audit, the status lifecycle, and where the events come from.

Per-recipient delivery status

Open a campaign to see the Recipients audit table. Each row is one email address the campaign sent to, with these columns:

  • To: the recipient's email address.
  • Status: a coloured pill showing the recipient's current state (see the lifecycle below).
  • Sent at: when the email was handed to the provider.
  • Delivered at: when the provider confirmed delivery.
  • First opened: the first time an open was recorded for this recipient.
  • Last error: the most recent failure reason, such as hard_bounce or complaint.

Empty cells display as a dash. A running total sits above the table, and when there is more than one page of recipients, Page N of M navigation with Previous and Next buttons appears at the bottom. Before any rows exist the table reads "No recipients recorded yet."

The status lifecycle

A recipient moves forward through a fixed sequence: pending, sent, delivered, opened, clicked. The status only ever advances; a later event never downgrades it, so a recipient who opened and then was re-delivered stays at opened.

Four outcomes sit outside the forward chain. A hard bounce sets the status to bounced, and a spam complaint sets it to complained. A recipient skipped before send because the address is on your suppression list shows as suppressed, and a send that errored shows as failed.

Campaign-level delivery metrics

Above the recipients table, once metrics are available, a Delivery metrics row rolls the per-recipient data into five cards: Sent, Delivered, Unique opens, Unique clicks, and Bounced. A line below the cards notes when the metrics were last refreshed. Metrics refresh on their own schedule, so they may not appear right after a send finishes; the refreshed timestamp tells you how current the figures are.

Tracking on journey sends

This article covers campaign sends. Journey email steps have their own analytics overlay per step and a dedicated journey report page, which track the same delivery events in the context of the journey's flow rather than a single send.

Where the events come from

Delivery, open, click, bounce, and complaint events are reported by Resend, the underlying email provider, through a single webhook. Each delivery is signature-verified before it is accepted, and the event is matched back to the right recipient row by the message ID Resend assigned at send time. You do not configure this per campaign; it is wired up at the platform level.

Soft bounces, temporary failures, are acknowledged but do not change a recipient's status or add a suppression, because the provider may still deliver on a retry. Only hard bounces are treated as permanent.

Updated