Campaign performance tells you how your campaigns did over a month. It cannot tell you what happened to the one you sent on Tuesday, because it has no room for a person in it. This screen does: one campaign, and one row for every contact it addressed.
Getting to it
Campaigns → WhatsApp in the sidebar, then the small chart icon on the campaign's card. The icon carries the tooltip View analytics; there is no button with a word on it.
Two things decide whether that path exists for you.
- The WhatsApp entry under Campaigns appears only when WhatsApp campaigns are part of your plan. Where they are not, the Campaigns group lists Live Chat and SMS and nothing else — and there are no WhatsApp campaigns to read results for either.
- The icon appears only once the campaign has started. A campaign that is Processing, Completed or Cancelled has it. One still Scheduled does not, and neither does a campaign sent from any inbox that is not WhatsApp.
Everything about campaigns, this screen included, is administrator only. See roles and permissions.
The screen is a page of its own rather than a panel. Campaigns and WhatsApp in the breadcrumb at the top both go back to the WhatsApp campaign list. Under the breadcrumb sits the inbox the campaign was sent from and Sent on — which is the time the campaign was scheduled for.
The six counters
| Counter | What it counts |
|---|---|
| Audience | every contact the campaign addressed. One row was written per contact at the moment the campaign ran |
| Submitted to WhatsApp | recipients WhatsApp accepted and returned a message id for |
| Delivered | recipients WhatsApp reported as delivered or read |
| Read | recipients WhatsApp reported as opened |
| Failed | recipients WhatsApp refused to deliver to |
| Skipped | recipients Lynomia Chat refused before anything was attempted |
Each counter except Audience carries a percentage beside it, and every percentage on this screen is a share of the audience — never a share of what was sent. That is the same denominator campaign performance uses, so the two screens agree about one campaign rather than offering two defensible numbers.
Delivered includes read. WhatsApp sometimes reports a read before it reports a delivery, and a message that was read reached the device. Counting it any other way would produce a campaign that was read but never delivered.
Submitted to WhatsApp is not the number still waiting. It counts every recipient WhatsApp accepted, including everyone since delivered, read or failed. It only ever grows.
The delivery breakdown
One bar across the whole audience, with the delivered share written to the right of its title.
| Band | What is in it |
|---|---|
| Read | opened |
| Delivered | reached the device and not opened yet |
| Failed | WhatsApp refused it |
| Skipped | never attempted |
| Queued or awaiting update | everyone else — addressed, with no outcome reported yet |
Delivered means two different things within a few centimetres of each other. The counter above includes read messages; the band does not, because the band next to it is Read. The percentage printed beside the bar's title follows the counter, so it is read-inclusive and the Delivered band is not.
The bands always add up to the audience, which is how the queued remainder gets a colour instead of being invisible.
The deliveries table
Every contact the campaign addressed, in the order it addressed them, twenty-five to a page.
| Column | What is in it |
|---|---|
| Contact | the name and phone number. The name opens that contact in a new tab |
| Status | one badge, from the six below |
| Message | the text that was built for this one contact. Not generated in italics where there is none |
| Reason | WhatsApp's own explanation for a failure, or Lynomia Chat's for a skip. Where WhatsApp returned a numeric code as well, it appears beneath as Code N |
| Badge | What it means |
|---|---|
| Queued | addressed; nothing attempted yet |
| Awaiting delivery update | handed to WhatsApp, which has reported nothing back |
| Delivered | reached the device |
| Read | opened |
| Failed | WhatsApp refused it, and the Reason column says why |
| Skipped | Lynomia Chat refused before any send — why a campaign skipped someone lists every reason |
Above the table is a row of tabs — All, Awaiting delivery update, Delivered, Read, Failed, Skipped — each carrying its own count. They filter the table and nothing else; the counters and the bar stay as they are.
There is no Queued tab. Queued recipients appear under All and nowhere else, and their number is shown only in the banner while the campaign is still sending.
A tab and a counter that share a word do not count the same thing.
| Submitted to WhatsApp, the counter | Awaiting delivery update, the tab | |
|---|---|---|
| Counts | every recipient WhatsApp accepted | only those with no report back yet |
| Includes delivered, read and failed recipients | yes | no |
| As reports arrive | stays where it is | falls towards zero |
While it is sending
A campaign that is still Processing carries an amber banner saying how many messages are queued and how many are waiting on a delivery update, and the page refreshes itself every five seconds until the campaign stops being Processing. You do not need to reload it, and you do not need to stay on it.
A campaign that has only just started shows most of its audience as Queued. That is pacing rather than a fault.
When there is nothing to show
| What the screen says | What it means |
|---|---|
| Delivery data will appear once sending begins | the campaign is Processing and no recipient rows exist yet |
| Analytics aren't available for this campaign | no recipient rows were ever recorded. Campaigns sent before per-recipient results existed read this way, and there is nothing to recover |
| Analytics couldn't be loaded | the request failed. Refresh the page |
Limits
- WhatsApp campaigns only. An SMS campaign applies the same consent and blocking rules but writes no per-recipient rows, so it has no icon and no screen.
- Deleting the campaign deletes these results with it. Stopping a campaign keeps them, which is the whole reason stopping and deleting are different actions.
- The only control on the table is the status tabs. There is no search, no sort and no export.
- Reasons are shown in English whatever language your dashboard is in. They are stored as fixed strings and shown as stored.
- The audience here is the set the campaign actually addressed, resolved when it ran. It is not the recipient count you saw while building the campaign, and for a date-based or order-based audience the two are different sets of people.
- Nothing on this screen says the campaign worked. Delivery is not a reply. What a campaign produced lives in the conversations it started.
Related
- Campaign performance
- Why a campaign skipped someone
- WhatsApp campaigns
- WhatsApp delivery
- Messaging consent
- The WhatsApp 24-hour window
If it does not work
There is no WhatsApp entry under Campaigns. WhatsApp campaigns are not part of your plan, or you are not an administrator. The Campaigns group then offers Live Chat and SMS only.
The campaign is there but has no chart icon. It has not started — the icon appears from Processing onwards. A Scheduled campaign has no results yet because nothing has been attempted.
Submitted to WhatsApp is far below the audience. Read the Skipped counter next. A skip is Lynomia Chat declining to send, so nothing reached WhatsApp at all; the Reason column on each skipped row says why, and why a campaign skipped someone explains each reason.
Delivered is lower than Read. It is not, on this screen — the Delivered counter includes read recipients. You are reading the Delivered band in the bar, which deliberately excludes them.
The numbers here disagree with Analytics → Campaigns. Check the date range on that screen first. It covers a period and every campaign in it; this screen covers one campaign and its whole life.
Read and delivered are still climbing, but the screen does not move. The five-second refresh runs only while the campaign is Processing. WhatsApp keeps reporting after a campaign completes, and those reports do reach the rows — reload the page to see them.