HomeFeaturesTracking panel

Tracking panel

Watch a campaign land, message by message.

Most sending tools tell you a campaign finished. The useful question is the one after that: of the people it did not reach, why not — and is that a problem with the list, the number, or the message?

6 measures
on the reports chart
Per contact
campaign history and consent trail
PDF + CSV
to take away

What you get

What has gone out, what landed, what came back — and when something did not go through, the reason it gave.

Live progress

Queued, sent, failed and skipped counters move as the campaign works through its audience. Pause or resume without losing your place.

Delivery states from WhatsApp

Sent, delivered, read and failed come back from the service and land on the message, with the provider’s own error when one fails.

Every refusal has a reason

A recipient who was never messaged carries why — opted out, blocked, no number, outside hours. “Skipped: 40” is a number; this is an answer.

What a contact has received

Open anybody to see each campaign that reached them, how those messages performed, and the full trail of their consent.

Reports over any period

Pick a range and compare it against the one before. Per-campaign and per-link tables, with a chart you can switch between six measures.

Take the data with you

Download the report as a PDF, export contacts as CSV, or pull the same figures through the REST API into your own warehouse.

How it works

01

The counters that are guessed at are the ones that lie

Birsend’s sender only moves the numbers it knows first-hand: rows handed over, accepted by the service, refused, and never attempted. Delivered, read and replied come from WhatsApp’s own receipts and from nowhere else.

  • Two separate counters for “handed over” and “the service took it” — the gap between them is the whole story of a bad send
  • Progress is computed from states that cannot overlap, so a finished campaign reads exactly 100%
  • A failure carries the provider’s message, not a generic “could not send”
02

Reports read from a daily rollup

The reports screen answers from a pre-built daily table rather than scanning every message, which is why a twelve-month range opens as fast as a week. Every figure is shown next to the same figure for the previous period.

  • Attempted, delivered, replies, clicks, contacts added, opt-outs
  • Per-campaign and per-link breakdowns underneath the chart
  • The PDF is the same report, laid out for sending on — and it handles Turkish characters properly
03

One contact, one page

A contact shows every campaign that has reached them with the delivery figures for each, plus the evidence trail behind their consent — where it came from, when, and from which address.

  • Consent events are kept as evidence, not just as a status flag
  • An opt-out is recorded as an opt-out, distinct from “never told us”
  • Message-by-message history lives in the inbox thread beside it

What it does not do

The honest list. We would rather you found this here than three weeks into a trial.

  • Campaign personalisation is not implemented. A campaign body is sent exactly as written; the {first_name} style placeholders fill on automatic replies only.
  • There are no alerts. Nothing emails or notifies you when a failure rate climbs — the figures are there to look at, not to be pushed at you. There is no outbound mail on this platform at all.
  • Exports are on demand. Nothing is scheduled or sent to you on a timetable.
  • The campaign page shows aggregates. There is no screen listing each recipient and their state.

Questions

How current are the counters?

The sending counters move as each batch completes, about once a minute while a campaign runs. Delivered and read arrive whenever WhatsApp reports them, which is usually seconds.

Can I get the raw numbers out?

Yes — the REST API exposes contacts and messages, and the reports PDF and contacts CSV are one click each.

Cookies

The site runs what it needs to work, including the Crisp chat bubble. Google Analytics is the one thing we will not load unless you agree to it.