Skip to main content

Campaign analytics

Once your campaign is sent, Reepli feeds a real-time dashboard visible on the campaign page. This article explains each metric, how to interpret them, and which levers to pull to improve your results.

Campaign metrics
Campaign metrics

How the metrics are fed

Reepli tracks every message sent. When a lifecycle event comes back from WhatsApp (delivery, read, failure), the message status is updated, along with the campaign's aggregated counters.

Send → WhatsApp accepts


Delivery events

┌──────────┼──────────┐
▼ ▼ ▼
Delivered Read Failed
│ │ │
└──────────┼──────────┘

Aggregated counters updated

No manual refresh needed — the campaign page updates in real time.


The 5 main metrics

Sent

Number of messages accepted by WhatsApp. This is the total you attempted to send, minus immediate rejections (malformed number, invalid template).

It's the basis for calculating all the other rates.

Delivered

Number of messages that actually reached the recipient's phone. A single grey tick at first, then two grey ticks on the WhatsApp side.

Delivery rateAssessment
> 95%Excellent
90 – 95%Good
80 – 90%Needs improvement (clean up the database)
< 80%Problematic (stop and fix)

Causes of delivery failure:

  • Number not registered on WhatsApp.
  • Contact has blocked your number.
  • Invalid or malformed number.
  • Meta limit reached (rate or tier).

Read

Number of messages opened by the recipient. Double blue tick on the WhatsApp side.

Read rate (of delivered)Assessment
> 80%Excellent — engaged audience
60 – 80%Normal WhatsApp performance
40 – 60%Average — check timing and relevance
< 40%Low — rethink targeting and content
Read receipts disabled

Some WhatsApp users disable read receipts in their settings. These contacts show as delivered but never as read, which underestimates your real rate. Consider a correction factor of around 10 to 15%.

Replied

Number of contacts who sent a message back within a 7-day window after receiving it.

Reply rate (of delivered)Assessment
> 20%Excellent — very engaging campaign
10 – 20%Good
5 – 10%Normal for an informational campaign
< 5%Low — the message doesn't prompt a reply

Failed

Number of messages with a permanent error: nonexistent number, block, limit exceeded.

Watch the failure rate especially: a spike indicates either a database to clean up or a quality rating in free fall.


Common failure causes

Failure typeDescriptionAction
Invalid formatMalformed numberFix the number in the contact record
No WhatsApp accountThe number has no WA accountRemove the contact from your audiences
BlockedThe contact has blocked your numberRemove them
Rate exceededTier exceededStagger your sends
Template suspendedTemplate suspended by MetaCheck the template's quality
Message not deliveredThe message couldn't be sent for a regulatory or technical reasonCheck the recipient's connectivity

The Errors tab of a campaign lists the failed contacts with a description, and lets you export to CSV for cleanup.


A campaign's funnel

On the campaign page, the metrics dashboard is complemented by a visual funnel:

Sent          1,000  (100%)


Delivered 950 (95% of sent)


Read 720 (76% of delivered)


Replied 180 (25% of read)


Conversions 45 (per your business objective)

Each stage shows the absolute number and the percentage relative to the previous stage. This immediately visualizes where it drops off.


Identifying what isn't working

Symptom by symptom:

SymptomLikely causeAction
Delivery rate < 90%Database with many dead numbersClean up via the Errors tab → exclude from future campaigns
Read rate < 50%Wrong timing, poorly engaged audienceChange the time, segment more finely
Reply rate < 5%No clear call to action, generic messageRewrite with a precise, personalized CTA
Unsubscribe rate > 2%Inappropriate content or excessive frequencySpace out, rethink the content, check the opt-in
Lots of contacts blocking youPerceived as spamStop everything, wait, redo a clean opt-in

Comparing multiple campaigns

To identify winning patterns:

  1. Go to the Campaigns section.
  2. Filter by period (last 30 days, 90 days…).
  3. Compare the overall rates.

Ideally, keep a file (Notion, Sheets) where you track:

  • Send date and time slot.
  • Template category.
  • Audience (count, main filters).
  • Read and reply rates.
  • Meta cost.

After 5 or 10 campaigns, you'll clearly identify what works for your audience.


Exporting the data

CSV export

On the campaign page, the Errors tab offers Export to CSV: the list of all failed contacts with the error cause, directly usable.

To export all recipients (with their status), use the export from the contacts list after filtering.

No automatic PDF

Reepli does not generate PDF reports — the idea is to keep the analysis operational on the dashboard rather than producing documents that get archived without being read again.


The real cost after sending

Once the campaign is complete, Reepli displays:

  • Pre-authorized cost (amount initially held on the card).
  • Actual cost (amount charged after adjusting for failures).
  • Difference refunded if applicable.

The actual cost is generally slightly lower than the pre-authorized one: failures (nonexistent numbers, immediate blocks) are not billed by Meta.


Measuring business conversions

Reepli does not automatically track conversions beyond Replied. If you want to measure a specific objective (sale, appointment booking, signed quote), there are two approaches:

1. Label + filter

Before the campaign, tag the audience (campagne-soldes-mai). After a few days, filter stage = Won AND label = campagne-soldes-mai to count the attributable sales.

2. URL button with UTM

If your template has a URL button, add UTM parameters (?utm_source=whatsapp&utm_campaign=soldes-mai). You track on the web analytics side.


Best practices

  1. Look at the metrics 24h later, not immediately — the read rate climbs gradually.
  2. Compare against your own benchmarks, not web averages — every industry, every database has its own reality.
  3. Iterate — keep a record of the changes (audience, time slot, content) between campaigns to identify the effect of each lever.
  4. React quickly to weak signals — a rising unsubscribe rate is more important than a falling read rate.


Need help?

To interpret a campaign's results or diagnose a high failure rate, support is reachable via the chat at the bottom right of the dashboard or by email at [email protected].