Theme

Reporting

Every number here is a query against your own database. There's no reporting delay and no sampling.

The Reporting section ranks emails, sequences, flows and broadcasts against each other; each row clicks through to a full report. The same reports are reachable from each thing's own actions menu.

What's counted, and what isn't

Two exclusions apply everywhere, and they're why the numbers are worth having.

Opens and clicks are counted per person. Someone who opens an email four times opened it once.

Opens are directional. Clicks are the real signal. An open is recorded when the tracking pixel loads, and Apple Mail Privacy Protection loads it for everyone using Apple Mail whether or not they read anything. Treat opens as a trend line worth comparing against the same email last month — not as a headcount. When a number has to be right, use clicks.

Unsubscribes are attributed exactly

The unsubscribe link in every email carries a signed token naming the exact send it came from. So "this email caused four unsubscribes" is a fact, not an inference from timing — including for one-click unsubscribes from the mail client's own header.

Per email

Sends, unique opens and clicks with their rates, click-to-open rate, unsubscribes attributed to it, a breakdown of clicks by URL, and the three series over time so you can see the shape of the response.

Every email in the list carries a line saying where it's used — the date it went out as a broadcast, and the sequences and flows it belongs to — so a table of subject lines and percentages tells you what each of them actually is.

Per sequence

Runs started, finished, in progress and canceled, then every step side by side: what's queued at it, what it sent, and how it performed. Read down the steps and where a sequence loses people is obvious.

Per flow

Runs entered, completed, exited early and inside right now; where everyone is sitting; and — the column worth reading — where runs ended.

A flow with a healthy entry rate and everybody leaving down a gate's give-up path is a flow whose gate is waiting for something that mostly doesn't happen. That only shows up if exits are counted by where they happened.

Per broadcast

The same treatment as an email, scoped to that broadcast's own sends.

A broadcast handed to your provider has no per-recipient rows here, and its report says so rather than showing zeroes — no data and none happened are different claims.

Date filtering

Presets for the last 7, 30 and 90 days, all time, or a custom range. The range lives in the URL, so a report link carries its period with it and a reload doesn't reset what you were looking at.

What isn't here

Revenue attribution, cohort analysis, a custom report builder, scheduled emailed digests and deliverability dashboards are all deliberately out of v1. Payments and clicks are both local, so revenue attribution in particular is buildable later.