
When to use it
-
You want to track the performance of a campaign (bulk sends) in Cloud Chat
-
You want to understand how many messages were created, sent, delivered, read and replied to
-
You want to compare performance across different campaigns, audiences or inboxes
-
You want to identify why some of the sends never reached the recipient
-
You want to monitor proactive messages sent individually by automations or through API integrations
-
You want to understand at which times of day and days of the week messages are read the most
Prerequisites
-
Being logged in as a supervisor, CX Engineer or administrator
-
Having at least one campaign sent or at least one proactive message sent
Overview
The Campaign screen brings together, in a single place, all the information about proactive messages that go from your operation to the end customer β that is, sends made by you without the customer having started the conversation.
There are two types of sends considered:
-
Campaigns β bulk sends configured in Cloud Chat, usually segmented by audience (e.g., "customers with overdue payments", "new sign-ups of the week").
-
Individual proactive messages β messages sent one at a time to a contact from previously configured automations, either manually through Cloud Chat or via API. On the screen, these sends appear grouped as "via API or individual messages".
Each message sent goes through up to five states, in this order:
| State | What it means |
|---|---|
| Created / Scheduled | The operation registered the send attempt |
| Sent | The platform (e.g., WhatsApp) accepted and dispatched the message |
| Received | The message was delivered to the recipient's device |
| Read | The recipient opened the conversation and viewed the message |
| Replied | The recipient replied to the message |
These states form the main send funnel on the screen.
What each block of the screen shows
The screen is divided into four main areas:
-
Filters at the top β let you slice the data by date, campaign, audience, inbox and grouping period.
-
Total cards β Created Events, Send Errors, Sent, Delivered, Read and Replied.
-
Send Funnel β shows the drop-off between each stage, with the percentage relative to the total created.
-
Complementary visualizations β sends with errors by error type, a heatmap of reading time by day of the week, and the evolution of sends over time.
How the total cards relate to each other
The cards at the top of the screen follow the funnel arithmetic β each stage is the result of the previous one minus what stopped along the way:
-
Scheduled β Errors = Sent
-
Sent β Not delivered = Delivered
-
Delivered β Not read = Read
-
Read β Not replied = Replied
The rule Scheduled β Errors = Sent does not apply to campaigns/sends via API or individual messages.
The funnel is cumulative
When you see 1,000 in Received, that does not mean "1,000 messages stopped at Received". It means "1,000 messages reached at least the Received state" β including those that were also read and replied to afterwards.
That is why the number at each stage is always less than or equal to the previous stage:
Created β₯ Sent β₯ Received β₯ Read β₯ Replied
How to calculate the conversion rates
The natural way to read the funnel is to always compare against the total of created/scheduled events:
-
Send rate = Sent Γ· Created
-
Delivery rate = Received Γ· Created
-
Read rate = Read Γ· Created
-
Reply rate = Replied Γ· Created
In the funnel on the screen itself, the percentage displayed next to each stage already treats the total of Created as 100%.
Difference between "Created (or Scheduled)" and "Sent"
-
Created: the operation attempted to send the message. There is a record of the send on your side.
-
Sent: the messaging platform (e.g., WhatsApp) accepted the send and dispatched it to the recipient.
The difference between the two usually represents failures before sending: invalid number, policy block, send limit reached, ineligible contact, etc. To understand the reason, see the Send errors section below.
On the screen, this difference is highlighted by the "Send Errors" card, which shows how many created messages never made it to being sent.
Send errors (why my message did not go out)
When a message is created but not sent, you can identify the reason from an error code. The screen translates the most frequent codes:
| Code | Meaning in plain language |
|---|---|
| 131026 | Message not delivered β generic reason. It may be an inactive number, a number without WhatsApp, or one that blocked the sender. |
| 131049 | Policy violation β the message was blocked by WhatsApp for not following the platform's guidelines. |
| 130472 | The contact is part of a WhatsApp experiment and is not eligible to receive this send. |
| 131042 | Restriction on the sender's account β usually a payment issue or a problem enabling the business account. |
| 130429 | Send limit reached β too many messages were sent in a short period of time. |
| 131053 | Failure uploading the media (image, video, audio or document) attached to the message. |
| Others | Other errors that do not fit the codes above. |
Use this breakdown to understand whether the problem is:
-
In your contact base (wrong numbers, blocks) β 131026
-
In the message content β 131049
-
In your business account β 131042
-
In the send volume β 130429
-
In the attached media β 131053
The "Sends with errors by error type" chart shows, day by day, the share of each code in the total of errors β useful for spotting whether a specific type of failure is growing over time.
Heatmap of reading time by day of the week
The heatmap crosses the day of the week with the hour of the day and colors the cells according to the volume of reads observed in that interval.
How to read it
-
The darker the cell, the higher the volume of reads at that time and day of the week.
-
Light or blank cells indicate times with few or no reads.
What it is for
-
Identifying the window in which your base consumes messages the most (e.g., Tuesday around midday).
-
Adjusting the timing of your sends to match the peaks of attention.
-
Spotting days or times when it is worth avoiding sends (due to low open rates).
The heatmap considers the time at which the message was read β not the time at which it was sent.
Evolution of Sends Over Time
This chart shows, for each day in the selected range, the number of events at each stage of the funnel:
-
Created events
-
Sent events
-
Received events
-
Read events
-
Replied events
What it is for
-
Tracking the consistency of your sends over time.
-
Identifying atypical days β sharp drops (technical issue, holiday, campaign pause) or spikes (extra campaigns).
-
Checking whether the read and reply rates follow the creation volume, or whether the curves are drifting apart.
Because the funnel is cumulative, the lines usually appear in order: created at the top, sent just below, and so on down to replied.
"via API or individual messages"
When you open the screen's filters, it is normal to see a line called "via API or individual messages" in place of a campaign name.
This means that this group of sends was not made by a campaign configured in Cloud Chat. These are proactive messages sent individually β through sends from automations or via API integration.
To isolate campaigns only, filter by the campaign column and remove that group. To look only at sends outside campaigns, keep only that group.
Available filters
The screen lets you cross-reference sends by:
-
Send scheduling date β the day on which the message was created.
-
Campaign β the name of the campaign configured in Cloud Chat (or "via API or individual messages" when the proactive send does not come from a campaign).
-
Audience β the contact segment tied to the campaign. As a rule, messages generated via API have no audience configured β which is why "via API or individual messages" appears for them.
-
Inbox β the inbox the conversation was directed to.
-
Group by period β defines the time granularity used in the charts (day, week, etc.).
The filters can be combined: you can see, for example, "audience X of campaign Y in Inbox Z in a given week".
Practical example
Scenario
On Monday, you send the "Black Friday Promotion" campaign to an audience of 10,000 contacts.
Funnel result at the end of the day
| State | Amount | Rate relative to the total created |
|---|---|---|
| Created | 10,000 | 100% |
| Sent | 9,700 | 97% (send rate) |
| Received | 9,200 | 92% (delivery rate) |
| Read | 6,500 | 65% (read rate) |
| Replied | 1,300 | 13% (reply rate) |
How to interpret it
-
300 created messages that were not sent β go into the error breakdown to understand the reason for the send failures.
-
500 sent that were not received β contacts with the device turned off, without internet, or with outdated numbers.
-
2,700 delivered that were not read β an opportunity to review the send timing and the subject line / first message. The heatmap can help identify a better time.
-
5,200 read that did not reply β an opportunity to review the message's call to action (CTA).
Frequently asked questions
Why is the "Created" number higher than the "Sent" one?
Because some of the messages were registered for sending, but the messaging platform refused the send. The cause appears in the error breakdown β usually an invalid number, a policy violation, a send limit, or a problem with the business account.
Can the numbers on this screen change over time?
Yes. A message sent today may be read tomorrow and replied to the day after. Since the funnel date is the message's creation date, the "Read" and "Replied" metrics for the send day keep growing in the following days, as the recipient interacts.
Looking at a campaign right after the send underestimates the read and reply rates. Wait a few days before considering the numbers final.
Why can "Replied" show up as zero even with many reads?
Some campaigns are informational (notices, reminders, confirmations) and the recipient has no reason to reply. In those cases, a low reply rate is expected and does not indicate a problem.
For campaigns that ask for action ("Confirm your order", "Click to complete"), a low reply rate is a sign that the message content needs to be reviewed.
Do sends via API or individual message automations appear alongside the rest of the data on the screen?
Yes, but in a separate category called "via API or individual messages". You can filter it in or out of the analysis as needed.
Why does the same message appear in more than one stage of the funnel?
Because the funnel is cumulative. A message that was sent, received and read appears in all three stages β it is the same event moving through the funnel, not three different messages.
Do test messages count in the metrics?
Yes. All sends made through the platform β including internal tests β are counted.
Can I see a campaign's performance by day?
Yes. The screen lets you filter by the desired date range, and the Evolution of Sends Over Time chart shows the daily breakdown. Since each send is tied to its creation date, you can track the daily evolution of a campaign that stayed active for several days.
How do I use the heatmap to improve my campaigns?
The heatmap shows at which times and on which days your base reads messages the most. Use this information to schedule your next sends during reading peaks and avoid cold windows. Keep in mind that the heatmap reflects historical behavior β peaks may vary depending on the audience profile.
Is the percentage in the funnel relative to the previous stage or to the total created?
Relative to the total of Created (which appears as 100% in the first step). That is why the "Sent" percentage represents the send rate, the "Received" one the delivery rate, and so on β always compared to the initial volume.
Notes
-
Related category: π Metrics and reports.
-
Detailed WhatsApp error codes are published by Meta: Meta Developers β Cloud API Error Codes.