Most undelivered WhatsApp marketing messages are not lost: Meta refused them on purpose and told you why in an error code. The most common one, 131049, means WhatsApp held your marketing template back to protect a person's inbox, so the fix is to wait at least 24 hours, send to fewer and more engaged people, and stop instant retries.
Why WhatsApp marketing messages fail in 2026
When you send a template through the WhatsApp Cloud API, the API usually accepts the request and gives you a message ID. Acceptance is not delivery. Meta then decides whether the message actually reaches the phone, and it reports the result through status webhooks: sent, delivered, read or failed. A failed status comes with an error code and a short description.
That means "my campaign didn't deliver" is almost always a question you can answer exactly. The error code tells you which one it is, and each code has a different fix. Some failures are about the recipient, some are about your account, and one very common one is about Meta's own rules for how much marketing a person should get.
In our own aggregated study of WhatsApp campaign read rates in 2026, which looked at 24,499 Meta-accepted template campaign messages from 185 businesses over 90 days, error 131049 made up 49.0% (5,373) of the Meta-coded refusals, and 131026 (message undeliverable) was second at 23.8% (2,608). Those two codes alone are worth understanding well before you touch anything else.
WhatsApp error codes for undelivered messages
The table below covers the codes that most often explain undelivered marketing messages. The meanings are taken from Meta's Cloud API error codes reference.
| Code | What it means | What to do |
|---|---|---|
| 131049 | "This message was not delivered to maintain healthy ecosystem engagement." Usually the per-user marketing limit. | Wait at least 24 hours before resending. Do not retry repeatedly. Target more engaged contacts. |
| 131026 | Message undeliverable: the number is not on WhatsApp, the person has not accepted the latest terms, or they use an old WhatsApp version. | Clean the number, then confirm through another channel that the person can receive messages from your business. |
| 131047 | Re-engagement message: more than 24 hours have passed since the person last replied. | Send an approved template instead of a free-form message. |
| 131042 | Business eligibility payment issue: an error with your payment method. | Check billing setup: payment account attached, credit limit, credit line active, timezone and currency set. |
| 131056 | Pair rate limit: too many messages from your number to the same recipient in a short time. | Wait before retrying that recipient. Other recipients can be messaged immediately. |
| 130472 | The user's number is part of a Meta experiment and the marketing message was not sent. | Do not resend. Ask the person through another channel to message you first, then reply inside the open window. |
| 131050 | The person has chosen to stop receiving marketing messages from your business. | Do not retry. Remove them from marketing sends. |
| 131048 | Spam rate limit: restrictions on your number, possibly because many earlier messages were blocked or flagged as spam. | Check quality in WhatsApp Manager and review your templates. |
| 132015 / 132016 | Template paused for low quality (132015), or permanently disabled after being paused too many times (132016). | Edit and resubmit the template, or create a new one with different content. |
Error 131049: Meta's per-user marketing limit
131049 is the code most marketers meet first. According to Meta's per-user marketing template message limits documentation, WhatsApp may limit how many marketing templates a person receives from any business in a given period when they are less likely to engage. The limit is based on a dynamic view of that person's recent marketing read rate and how many messages they already have in their inbox from friends, family and businesses. It adapts automatically over time.
Three details matter in practice:
- It is about the person, not just you. The cap counts marketing templates from all businesses. Your message can fail because other brands already filled that person's quota.
- Replies create an exception. If a person responds to a marketing message, a 24-hour customer service window opens, and marketing messages sent inside that window do not count toward the limit.
- Retrying makes it worse. Meta says to wait at least 24 hours before resending a marketing template to someone who hit their limit. If your account resends multiple times within 24 hours to people already at their limit, further delivery attempts to those people may be unavailable for up to 24 hours.
Meta's documentation also states that WhatsApp does not currently deliver marketing template messages to users with United States phone numbers (+1 with a US area code), and that per-user limits are not currently active for messages sent from a business number in the European Economic Area, the United Kingdom, Japan or South Korea, or to a WhatsApp user in those countries. Check the page for the current list before planning a cross-border campaign.
How to reduce 131049 failures
- Send marketing to people who have recently read or replied, not your whole database. Use contact segments built on recent engagement.
- Lower frequency. Fewer, more relevant campaigns keep people's read rates up, which is one of the signals the limit uses.
- Give people a reason to reply (a question, a quick-reply button). A reply opens a service window where follow-up marketing does not count toward the cap.
- Never put 131049 failures into an automatic retry loop. Queue them for a resend no sooner than 24 hours later, and only for contacts who still matter.
Error 131026: message undeliverable
Meta lists three possible reasons for 131026: the recipient's number is not a WhatsApp number, the recipient has not accepted WhatsApp's new Terms of Service and Privacy Policy, or the recipient is using an old WhatsApp version. Meta's suggested fix is to contact the person through a non-WhatsApp channel to confirm they can message your business number, have accepted the latest terms and are on a current app.
Get a 1-minute BSP audit on WhatsApp
Drop your WhatsApp number — we line-item your current invoice against Meta India rates in under 60 seconds. India-hosted, DPDP-compliant.
In practice, high 131026 rates usually point to list quality. Numbers imported from old spreadsheets, landlines, missing or wrong country codes and formatting errors all end up here. Store numbers in full international format, remove contacts that fail with 131026 repeatedly, and collect numbers through an opt-in flow where the person types their own WhatsApp number.
Error 131047: the 24-hour window has closed
131047 means more than 24 hours have passed since the recipient last replied to your number. Outside the customer service window you cannot send free-form text, images or other session messages; you can only send an approved template. The fix is simple: switch to a template for anything sent after the window closes, and keep free-form messages for active conversations.
Error 131042: a payment problem on your account
131042 has nothing to do with the recipient. Meta reports an error related to your payment method, and lists common causes: no payment account attached, an exceeded credit limit, an inactive or suspended credit line, a deleted or suspended account, or timezone and currency not set. When this happens, every paid message can fail at once, so it often looks like a sudden total outage. Check your billing setup in WhatsApp Manager or with your provider. If you are budgeting campaigns in several markets, the WhatsApp API pricing by country for 2026 and the WhatsApp pricing calculator by country help you estimate spend before you run out of credit.
Error 131056: too many messages to one person
131056 is a pair rate limit: too many messages from your business number to the same recipient number in a short period. It usually comes from automations that fire several messages back to back, duplicate triggers, or a campaign and a flow hitting the same contact together. Wait before retrying that person; you can keep messaging other recipients immediately. Then fix the cause: deduplicate triggers, add short delays between consecutive messages in a flow, and merge messages where you can.
Error 130472: user in a Meta experiment
Meta runs marketing message experiments where a very small percentage of WhatsApp users do not receive marketing templates from any business unless certain conditions are met, such as an open customer service window. If you send a marketing template to someone in the experiment group, it fails with 130472 and you are not charged for it. Resending gives the same error, and Meta says no exceptions or opt-outs are available. If the message really matters, ask the person through another channel to message you, then send it inside the open window.
Template quality and pausing
Every template has a quality rating: GREEN (little to no negative feedback), YELLOW or RED (negative feedback from multiple users, or low read rates), or UNKNOWN while data is still coming in. A template that reaches the lowest rating is automatically paused: for 3 hours the first time, 6 hours the second time, and disabled the third time. You are not charged for attempts to send a paused template and they do not count against your messaging limit, but the API rejects them (132015, or 132016 once disabled).
To keep templates healthy, write messages people actually want: a clear reason for the message, the business name, one action, and no misleading urgency. Personalize with real data, keep it short and test new templates on an engaged segment before a full send. If a template is paused, edit it and resubmit rather than pushing traffic onto a near-identical copy.
Phone number quality and messaging limits
Messaging limits cap how many unique WhatsApp users your business can deliver messages to outside a customer service window in a moving 24-hour period. They are set at the business portfolio level and shared by all phone numbers in that portfolio, so one busy number can use up the capacity of the others. New portfolios start at 250, and the tiers go 2,000, 10,000, 100,000 and unlimited. To scale automatically, your number needs a Medium or High quality rating, and your business must have used at least half of its current limit in the last 7 days.
Since Meta's October 2025 messaging limit changes, a drop in a phone number's quality rating no longer downgrades its messaging limit, and the old Flagged state no longer exists. Low quality still hurts: it blocks automatic scaling, and the spam-related 131048 error points to restrictions after many messages were blocked or flagged as spam. If a large campaign seems to stop partway, check whether you have reached your portfolio's messaging limit before assuming something is broken.
Opt-outs and consent
Meta's opt-in guidance asks businesses to state clearly that a person is opting in and to which business, to give clear instructions for opting out of specific message categories, and to honor those requests. People can also block you or tell WhatsApp they no longer want your marketing messages. When someone has done that, sends fail with 131050 and should never be retried.
Good opt-out handling protects delivery for everyone else on your list. Recognize stop words in the languages your customers actually use, remove those contacts from marketing segments right away, and keep sending them only the service or utility messages they still expect.
A simple checklist to diagnose a failed campaign
- Group failed messages by error code. One dominant code usually explains the campaign.
- If 131042 appears, fix billing first; nothing else will work until you do.
- For 131049, stop retries, schedule a single resend at least 24 hours later and narrow the audience.
- For 131026, clean the numbers and remove repeat failures.
- For 132015 or 132016, edit the template or create a new one.
- Remove 131050 contacts and anyone who asked to stop.
- Check your template quality and phone number quality in WhatsApp Manager before the next send.
How RichAutomate helps you see and fix delivery failures
RichAutomate shows delivery and read status for every message, with the Meta error code displayed on each failed one, so you can see at a glance whether a campaign hit 131049, 131026 or something else. Campaign reports break results down per send, and you can schedule campaigns in your workspace timezone so they arrive when people are awake. Opt-out keywords are handled in multiple languages, contact segments let you send only to engaged audiences, and the template manager has AI help for writing clearer templates. See the international pricing plans to get started.