❌ What the "Not delivered" label means
If a message did not reach the customer, a red note with the reason appears under it in the conversation. The message itself stays in the chat, but the customer will never see it: WhatsApp rejected the delivery on its side.
The main thing: almost always the reason is not WazzaBee but Meta's rules: the 24-hour window closed, the template did not fit, or Meta limited the delivery of marketing messages. You will see the same reason in your CRM if the channel is connected through a connector.
⏳ The "Waiting to be sent" label
Sometimes a grey label appears under a message: "Waiting to be sent. We will retry automatically, no need to send it again." This is not an error: the message has been accepted, its delivery is postponed for a few minutes and will be retried on its own.
No action is needed. Once the message goes out, the label disappears and the usual delivery ticks appear. Do not send it a second time, otherwise the customer receives two identical messages.
Broadcast messages behave the same way: the number stays in the campaign queue and goes out on the next attempt instead of landing in the error list.
The same label appears when your connection drops: on the road, in a lift, in a warehouse. The message, photo, video or voice note is saved in the browser and sent automatically as soon as you are back online or open your account again. It is not lost even after a page reload. It is sent from the same phone or computer you used to send it.
If there was no connection for more than 24 hours, the message is not sent and "Not delivered" appears under it. Check whether it is still relevant and send it again if needed.
📋 Common reasons and what to do
| What the chat says | What happened | What to do |
|---|---|---|
| More than 24 hours have passed since the customer's last message | The window for regular messages has closed | Send a template |
| The recipient's number was included in a Meta experiment | Meta deliberately did not deliver the marketing template | Send a utility template or reach out another way |
| WhatsApp limited delivery under Meta's rules | Too many marketing messages, or the recipient rarely replies | Wait a day, wait for the customer to reply |
| The recipient has no WhatsApp or the number is wrong | There is no WhatsApp account on this number | Check the number, write on another messenger |
| Errors about the template and its variables | The template does not match the one approved by Meta | Check the template and its variables |
| The WhatsApp account is blocked by Meta | A restriction on the whole number | Contact WazzaBee support |
⏰ More than 24 hours have passed since the customer's last message
WhatsApp lets you write freely only within 24 hours after the customer's message. This is the service window. While it is open, you reply with regular text, photos and files without limits and without an extra charge for every message.
Once the 24 hours are over, a regular message will no longer go through. You can resume the conversation only with an approved template: the customer receives it, replies, and the window opens again.
💡 The easiest way to run into templates less often is to reply faster. Set up auto-replies: the first message goes out to the customer immediately, while the window is definitely open.
More about templates and how to create them is in the article "Message templates: quick replies and HSM".
🧪 The recipient's number was included in a Meta experiment
Meta regularly runs experiments of its own: it deliberately withholds some marketing templates from certain recipients to compare how people react to advertising in WhatsApp. Landing in such a sample is random and depends on the customer's number, not on your text.
What matters here:
- Sending the same marketing template to this number again will most likely fail as well.
- The experiment does not apply to utility templates (confirmations, reminders, request statuses).
- Regular replies inside an open 24-hour window also go through fine.
What to do: send a utility template instead of a marketing one, or reach the customer another way: call them, write on another messenger.
💡 The category is visible right in the chat. When you pick a template, a colored label sits next to its name: green "Utility": this one will arrive even if the customer has been silent for a long time; yellow "Marketing": it may not arrive. The same label is shown in the send window, before you press "Send".
How to pick the right template category
| Category | What it is for | Subject to Meta's limits |
|---|---|---|
| Marketing | Promotions, discounts, invitations, service offers | Yes: experiments, frequency limits |
| Notifications and reminders (utility) | Request status, booking confirmation, appointment reminder, asking for details on a request | No |
| Authentication | One-time login codes | No |
⚠️ You cannot change the category of an existing template: it is chosen when the template is created. If your welcome template was created as a marketing one, make a new one in the "Notifications and reminders" category.
Meta reviews the text itself during moderation and can move the template back to marketing if it spots sales wording. To keep a template in the utility category, remove service offers and promotional phrasing from it and leave only the essentials: that you have received the request and what details you need to proceed.
🚫 WhatsApp limited delivery under Meta's rules
This error arrives when Meta decides that a business sends too many marketing messages, or that a particular recipient does not react to them. It protects users from intrusive broadcasts.
What helps:
- Wait at least a day and do not send this customer new templates one after another.
- Wait until the customer writes first and reply inside the open window.
- Rethink your broadcasts: less often, better targeted, with clear value for the customer.
If such rejections happen en masse, look at the number's quality rating in the article "Message limits, tier and number quality".
📵 The recipient has no WhatsApp or the number is wrong
WhatsApp found no account on this number. The usual reasons: a typo, a number from another country without its code, the person really has no WhatsApp, or they deleted the account.
Check the number in the contact card: it must be in international format, with the country code and without extra characters.
📝 Errors related to the template
| What it says | Reason |
|---|---|
| The number of variables does not match the approved template | The template has variables, but they were not filled in when sending (or the other way around) |
| Variable values do not fit the approved template | The variable got the wrong content: an empty value, a line break, text that is too long |
| This template does not exist or is not approved in the chosen language | The template was deleted, has not passed moderation yet, or exists only in another language |
| The template text changed after approval | The template was edited, you need to wait for the re-review |
| The template is paused or disabled by Meta | Many complaints and blocks from recipients: Meta stopped the template |
If a template is paused, there is no point in sending it further: create a new one with different text and make sure customers do not complain about the broadcast.
🔒 The WhatsApp account is blocked by Meta
The restriction applies to the whole number: no template and no message goes out from it. The reason is always on Meta's side: recipient complaints, broadcast rule violations, questions about the business account.
Such a decision can only be lifted through an appeal to Meta. Write to us, we will check the status of the number and suggest what can be done.
📎 The file did not upload
WhatsApp could not accept the attachment. Try sending it again, reducing its size or saving it in a different format. Most often this concerns heavy videos and documents.
🔁 A temporary failure
Sometimes WhatsApp returns a temporary error, for example, when its servers are overloaded. In this case it is enough to send the message again a few minutes later.
🧩 How to work with templates so that messages arrive
A template is text agreed with Meta in advance that lets you write to a customer first or resume a conversation after 24 hours. Every template goes through moderation: Meta checks the text, assigns a category, and only then allows sending.
What a template consists of
| Part | What for | Limit |
|---|---|---|
| Name | An internal name, the customer does not see it | Up to 50 characters, Latin letters, digits and underscores only |
| Header | A short line at the top, or an image, video or PDF | Text up to 60 characters; image up to 5 MB, video up to 16 MB, PDF up to 5 MB |
| Message body | The main part | Up to 1024 characters |
| Footer | A small line, for example "Customer care" | Up to 60 characters |
| Buttons | Quick replies, a link to your site, a call | Button text up to 25 characters |
Variables: how to avoid a rejection
Variables are placeholders like {{1}}, {{2}}: the customer's name, an order number, a date. When sending, you substitute real values into them.
- A variable cannot stand at the very beginning or the very end of the text: there must be regular text next to it.
- Two variables in a row are not allowed, separate them with words.
- A message must not consist almost entirely of variables: Meta will reject such a template.
- All variables must be filled in when sending. If even one is empty, the message will not be delivered.
💡 WazzaBee builds the example for Meta automatically: you simply specify which values are substituted, and the system shows the finished text exactly as the customer will see it.
How to pass moderation on the first try
- Pick the right category. This is the key point: Meta reviews marketing templates more strictly and limits their delivery.
- Be specific. "Your request No. {{1}} has been received, we will reply within the day" passes easily, "Best deal today only!" barely does.
- Do not promise what you cannot deliver. Guaranteed results, "100 % approval", medical and financial promises are a frequent reason for rejection.
- Check spelling and links. Meta treats typos and broken links as a sign of spam.
- Do not disguise advertising as a utility message. Meta recognizes this and changes the category itself.
Moderation usually takes from a few minutes to a day. The template status is visible in the channel's template list.
If the template is rejected
A rejected template cannot be fixed: create a new one with different text. Usually it is enough to remove promotional phrasing, add specifics and check the variables. The new template must have a different name from the old one.
How not to lose a template that already works
Meta watches how recipients react. If people block the number or complain about the messages, the template's quality drops, and then it is paused or disabled. To avoid this:
- Write only to people who left their number and expect messages from you.
- Do not resend the same template if the person did not reply.
- Keep your broadcasts separate: marketing on its own, utility notifications on their own.
- Keep an eye on the number's quality rating in the channel settings.
✅ How to get fewer undelivered messages
- Reply while the window is open. A reply within 24 hours after the customer's message needs no template and is not subject to Meta's limits.
- Turn on auto-replies. The first message goes out instantly, and the conversation starts right away.
- Split templates by purpose. Keep utility templates for handling requests and marketing ones for promotions.
- Watch your number quality. The fewer complaints and blocks from recipients, the less often Meta throttles delivery.
- Check your number database. Wrong numbers spoil delivery statistics and lower the quality rating.
🆘 If the reason is unclear
Sometimes the error text contains only a code: that means WhatsApp returned a rare reason. Write to us, we will look into the details of that specific message and explain what happened.
- Support Telegram bot: @WazzaBeeSupportBot
- Email: support@wazzabee.com
To help us sort it out faster, send the customer's number, the approximate time of sending and a screenshot of the message with the error.
