Skip to content

Reporting

WhatPro reports on every campaign in two places: the Campaigns list (lifetime totals across all campaigns) and each campaign’s detail page (results for that one campaign).

Both views report the core delivery funnel:

MetricMeaning
SentMessages handed to Meta for delivery.
DeliveredMessages Meta confirmed reached the customer’s device.
ReadMessages the customer opened.
FailedMessages Meta could not deliver — invalid number, not on WhatsApp, or blocked.
Read rateReads as a share of delivered messages.

On the detail page, the Recipients table breaks this down per customer, with the status of each message and the timestamps for sent, delivered, and read. You can filter the table by recipient status and page through it. Any failure shows its error message.

StatusMeaning
PendingNot yet sent.
SendingBeing sent.
Sent / Delivered / ReadProgress through the delivery funnel.
RepliedThe customer replied to the message.
FailedCould not be delivered.
Skipped (opt-out)The customer had opted out, so no message was sent.

The lifetime stats show Opt-outs (Stop) — the number of customers who replied STOP to your marketing messages. These customers are excluded from future campaigns automatically. See /campaigns/opt-outs/.

WhatPro attributes orders back to campaigns and reports them in two buckets:

BucketDefinition
DirectOrders placed within 24 hours of the campaign message, or after the customer replied to it.
AssistedOrders placed later, within the 7-day window after the message.

Each bucket reports both an order count and revenue, shown in your store’s currency. Use direct attribution to judge immediate response and assisted attribution to capture the longer tail.

Meta does not expose exact per-campaign spend through its API (billing is at the account level), so WhatPro shows an estimate:

  • Meta spend — Meta’s approximate WhatsApp marketing rate for your store’s currency, multiplied by the number of messages sent. It’s an estimate, not a bill, and shows a dash if your currency has no published rate.
  • ROAS — attributed revenue (direct plus assisted) divided by the estimated Meta spend. Also an estimate, and shows a dash when spend can’t be estimated.

On the Campaigns list, the stat cards across the top are lifetime totals across every campaign your store has ever created — they ignore the date filter and the table filters below them, so the headline numbers stay stable while you slice the table.

The Campaigns list has a date filter that defaults to the last 30 days. It filters the campaign table (by when each campaign was created), with presets for today and the last 7, 30, or 90 days, plus a clear option to show all campaigns. The lifetime stat cards above the table are not affected by this filter.

You can also filter the campaign table by status (Draft, Awaiting template, Scheduled, Sending, Sent, Failed, Cancelled) and search by campaign name. The detail page reports per-campaign delivery progress and updates as Meta confirms receipts.