Three numbers describe a WhatsApp campaign, they fail for entirely different reasons, and treating them as one thing is why most diagnoses go wrong.
- Delivery rate — did the message reach a phone?
- Read rate — did they open it?
- Reply rate — did they respond?
A campaign can deliver at 98% and still be a failure. A campaign delivering at 70% has a problem no amount of better copy will fix. Work out which number moved before changing anything.
What each number is actually telling you
Delivery is a data problem. A message that does not deliver was sent to a number that cannot receive it — disconnected, never had WhatsApp, typed wrong, or the handset was off for the whole retry period. Nothing about your message affects this.
Read is a trust and timing problem. It was delivered and they chose not to open it, or did not see it. Sender recognition, the preview text, and the time of day drive this.
Reply is a content problem. They read it and did not act. Now the message is at fault — the offer, the ask, or the absence of any reason to respond.
Fixing copy when delivery is the problem is the most common wasted effort in WhatsApp marketing.
WhatsApp inbox, campaigns, journeys and deep analytics that turn one-time buyers into loyal customers.
Start free See the demoWhat is normal
On a recent, properly opted-in list, most campaigns deliver well above 90%. Lists collected over several years run lower, because a predictable share of numbers go out of service every year.
The more useful benchmark is your own history. A list that delivered at 95% last month and 78% today has a specific, recent, findable cause. An absolute number on its own tells you much less.
Diagnosing a drop, in order
1. Is it the whole account or one campaign?
Check delivery on other recent sends. If everything dropped, the problem is your number or your account. If only one campaign dropped, it is that list or that template.
This single question saves hours, and almost nobody asks it first.
2. Check your messaging limit
Your messaging limit caps how many unique people you can start conversations with in 24 hours — 250, 1,000, 10,000, 100,000, or unlimited.
Messages beyond the limit are not sent at all. In most reporting that looks identical to a delivery failure, and it is a completely different problem with a completely different fix.
If you sent 12,000 messages on a 10,000 limit, roughly 2,000 were never going to arrive.
3. Check your quality rating
High, Medium or Low, shown per number. It reflects how recipients reacted to your recent messages — blocks and reports pull it down.
A falling quality rating cuts your messaging limit, which caps your reach. Content rewrites do not fix this; who you are sending to does. Stop messaging unengaged contacts, make opting out easy, and honour it the same day.
4. Look at the list
If one campaign dropped and the account is healthy, it is the list.
- Was it recently imported? Check the number formatting. Country codes present and consistent, no spaces, no punctuation, no leading zeros where they should not be.
- How old is it? A list untouched for two years will deliver noticeably worse than one from last quarter.
- Are there duplicates? The same person in two formats gets messaged twice and counted twice.
5. Check the template
Templates can be paused after approval if recipients block or report them. A paused template does not send. Check its status before assuming a delivery fault.
When delivery is fine and reads are poor
Now look at the message.
Are you recognisable? If your display name is not approved, recipients see a phone number. An unknown number asking for attention gets ignored. Getting the display name approved is the single biggest lever on read rate and most businesses treat it as optional.
Does the first line survive the preview? Recipients see the opening words in a notification. If yours starts with a greeting and the point arrives in the third sentence, the preview says nothing.
Is it arriving at a sensible time? Look at your own data — when do your customers reply? — rather than generic advice.
When reads are fine and nobody replies
The message was read and did not work. That is a content problem, and it is usually one of three.
There is no ask. A great many campaigns describe something and never ask for anything. Add one clear action.
It is asking for too much. "Book a demo" is a big commitment from a cold message. "Want the price list?" is small and gets a reply, which opens a conversation.
It is not relevant to that person. The same offer to your whole list means it is right for a small fraction. Segment and send fewer, better-matched messages. Cheaper, too — you pay per delivered message either way.
Keep a simple log
Reporting shows you today. Diagnosis needs history.
After every campaign, record six things in a sheet: date, list name, list size, template used, delivery rate, read rate.
Six columns, thirty seconds. Within a few months it answers questions that no dashboard will:
- Which lists are decaying, and how fast
- Whether a particular template consistently underperforms
- Whether delivery is drifting down gradually — which is list decay — or dropped suddenly, which is an account problem
- What your genuine baseline is, so you know what counts as a drop
Without this you are comparing today against an impression of last month, and impressions are generous.
Import small, then import the rest
Most sudden delivery drops arrive with a new list.
The habit that prevents it: import 200 contacts, send to those, check the delivery rate. If it looks like your normal rate, load the rest. If it does not, you have learned that on 200 messages instead of 20,000, and your quality rating is untouched.
Number formatting is the usual culprit. Country codes missing on some rows, leading zeros left in, spaces and dashes, numbers stored in a spreadsheet column that helpfully stripped a digit. A small test batch surfaces all of it.
When everything is fine and results are still poor
Sometimes delivery is 96%, reads are healthy, replies are reasonable — and nothing sells.
At that point the channel is working and the offer is not. That is a harder problem and a more valuable one to have found, because you have eliminated every technical explanation.
The usual causes: the offer is not compelling, it is going to people who have already bought, or the next step after the reply is too slow. A customer who replies within a minute and hears back the next morning has moved on.
Check your median time to first reply on inbound WhatsApp. If it is measured in hours, no amount of delivery optimisation will fix the funnel.
The one to watch weekly## The one to watch weekly
If you only track one thing, track delivery rate by campaign over time.
It is the earliest warning you get. Quality problems, list decay and limit ceilings all show up there before they show up anywhere else — usually weeks before somebody notices that campaigns have stopped working.
Frequently asked questions
What is a normal WhatsApp delivery rate?
On a recent, opted-in list, most campaigns deliver well above 90%. Older lists run lower because numbers go out of service. A sudden drop on a list that used to deliver well is the signal worth acting on, more than the absolute number.
Do I pay for messages that fail to deliver?
No. Meta bills on delivery. If your platform bills on sends, you are paying for failures.
Why did delivery fall right after I imported contacts?
Almost always number formatting, or a list old enough that many numbers are dead. Import a small batch first and check the delivery rate before loading the rest.
Can a low quality rating stop messages being delivered?
It cuts your messaging limit, which caps how many unique people you can reach in 24 hours. Messages beyond the limit are not sent at all, which looks like a delivery problem but is a different one.
