[Campaign performance](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](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](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](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](campaign-performance)
- [Why a campaign skipped someone](why-a-campaign-skipped-someone)
- [WhatsApp campaigns](whatsapp-campaigns)
- [WhatsApp delivery](whatsapp-delivery)
- [Messaging consent](messaging-consent)
- [The WhatsApp 24-hour window](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](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.