Why your WhatsApp messages aren't reaching customers
There are five common causes and they look almost identical from the outside. Checked in the wrong order you can waste a week. Here they are in the order that finds the problem fastest.
Start here. Are you on the free WhatsApp Business app or the official API? On the app, the answer is almost always the saved-contact rule. On the API, it is almost always the template category. Those two account for the large majority of cases.
1. The saved-contact trap (free Business app only)
This is the big one, and it is not documented anywhere a normal person would look. On the free WhatsApp Business app, a broadcast list only delivers to people who have saved your number in their phone contacts.
Everyone who has not saved you gets nothing. No error, no warning, no indication in the app. You see the message as sent. From your side a broadcast to 250 people looks identical whether 250 received it or 12 did.
Most customers do not save business numbers. So a broadcast list built from customers who bought once will typically reach a small fraction of the list. If your broadcasts get near-zero response, check this before anything else.
Fix: there isn't one within the app — the requirement is the product. The official API has no saved-contact rule, which is the main reason businesses move to it. See broadcast limits in the UAE.
2. Template category, and the cap nobody warns you about
If you are on the API and messages report as sent but never arrive, the likely cause is error 131049 — Meta's per-user marketing frequency cap. It is applied at delivery, after the send API has already returned HTTP 200 with a message id.
On one UAE account we operate this was 1,388 of 1,557 delivery failures — 89.1%. It is not a ban and not a fault in your code; Meta simply declines to deliver more marketing to someone who has had a lot of it recently. Genuinely transactional content sent as a utility template is not subject to it. Full detail and the fix: WhatsApp error 131049.
3. You're outside the 24-hour window
Free-form messages can only be sent inside a 24-hour customer service window, which opens each time the customer messages you. Outside it you must use a pre-approved template. If your system is trying to send plain text to someone who last wrote three days ago, Meta will reject it.
Two useful details: the window resets on every inbound message, and a Click-to-WhatsApp ad opens a longer free-entry window when the customer starts the conversation.
4. They opted out — rarer than you'd think
Error 131050 means the user has stopped marketing messages from you. Worth putting in perspective: across 3,293 UAE contacts and 14,899 messages over two months on an account we run, there were 6 opt-outs. If your delivery is broken, this is very unlikely to be why.
5. The number genuinely can't receive
Error 131026 means the recipient cannot receive the message — not on WhatsApp, a dead number, or a device issue. On the same account this was 111 of 14,899 sends. Normal list decay; nothing to fix beyond hygiene.
The order to check
| # | Check | How |
|---|---|---|
| 1 | Free app, or API? | If app → saved-contact rule explains it |
| 2 | Are you reading status webhooks? | If not, you are blind to every failure |
| 3 | What error code is returned? | 131049 → category; 131050 → opt-out; 131026 → bad number |
| 4 | Send a utility control to the same number | hello_world. Lands? It's your category, not the number |
| 5 | Free-form outside the window? | Use an approved template instead |
Step 2 is the one that matters most. The send API returns success even when the message will be dropped. If you are not storing status webhooks, none of these failures are visible to you and your dashboard will report a campaign that never landed as fully sent.
Adjoltz runs WhatsApp for UAE brands on the official Cloud API, including webhook status logging and template categorisation — so failures like these surface while a campaign can still be fixed. From $149/month, zero markup on Meta's rates.
Frequently asked questions
Why can't my customers see my WhatsApp broadcast?
On the free WhatsApp Business app, broadcast lists only deliver to people who have saved your number. Everyone else receives nothing, with no error shown. It is the most common reason a broadcast looks successful but produces no response. The official API has no such requirement.
Why does WhatsApp say sent but not delivered?
One tick means Meta accepted the message, not that it arrived. It can still be dropped — most often by error 131049, the per-user marketing frequency cap, applied after the API returns success. On one UAE account, 1,388 of 1,557 failures were this error.
Why can I only message customers who message me first?
Outside a 24-hour customer service window you can only send pre-approved templates, not free-form text. The window opens each time the customer messages you and resets on every inbound message.
How do I know if a customer opted out?
Meta returns error 131050. In practice it is rare: across 3,293 UAE contacts and 14,899 messages over two months, only 6 opt-outs.
