Resources Insight
'Not delivered': what error 131049 means and why retrying makes it worse
Error 131049 isn't a ban and it isn't a bug in your template. WhatsApp decided this person has had enough marketing for now. Sending again an hour later is the one response guaranteed to make the next campaign worse.
The short version
- 131049 means WhatsApp held back a marketing template because the person reached their marketing limit, counted across every business that messages them.
- Meta publishes no fixed number for the cap. It moves with how that person reads marketing messages and how busy their inbox is.
- Wait at least 24 hours before trying the same person again. Since 30 April 2026, repeated retries within 24 hours can block further attempts to those people for up to a day.
- Marketing templates sent while a customer service window is open, after the person has messaged you, don't count towards the cap.
- Failed messages aren't billed. The cost of retrying is lost reach and muddier campaign reports, not money.
Simran Bedi runs marketing for a woollens brand in Ludhiana, a team of nine with most of its sales between October and January. Her first festive campaign on the WhatsApp Business Platform went to 18,000 opted-in customers. About 2,400 came back failed, every one with the same code: 131049.
Her developer did what developers do with failed sends. He set a retry every hour. By evening the failures had gone up, not down, and the delivery report no longer made sense to anyone.
The numbers in this story are an example, but the pattern is the one Meta’s own pages warn about.
What the error actually says
Meta’s error-code table describes 131049 as “This message was not delivered to maintain healthy ecosystem engagement.” It arrives on the messages webhook with the status set to failed.
In plain terms, WhatsApp limits how many marketing templates one person receives in a period of time, from all businesses combined. When a person has reached that limit, your marketing template to them isn’t delivered and you get 131049.
It helps to be clear about what it isn’t. (Our glossary has short definitions of the terms below.)
- It isn’t your messaging limit. That’s the count of different people you can reach in 24 hours, and it has its own rules, covered in our messaging limits guide.
- It isn’t a quality penalty on your number or a sign your template was rejected. The template was fine; this person’s marketing allowance, at that moment, wasn’t.
- It doesn’t apply to your utility templates. Meta’s page is about marketing templates only, which is one more reason to keep order and booking updates in the utility category, as our guide to template categories explains.
How the cap is set
Meta doesn’t publish a number, and anyone who quotes “two marketing messages a day” is guessing. The page says WhatsApp decides using “a dynamic view” of the person’s recent marketing read rate and how many messages they have in their inbox from friends, family and businesses. The limit “adapts automatically over time”.
So the same customer might get your message on Monday and not on Thursday, because on Thursday three other brands got to them first and they haven’t been opening any of it. You don’t see the other brands. You only see the code.
That has an uncomfortable consequence. During Diwali, every D2C brand in India is sending to the same phones in the same fortnight, and going by Meta’s description, the people most likely to be capped are the ones who already ignore most marketing. Expect your 131049 count to climb in exactly the weeks you care most about.
Why retrying makes it worse
The problems stack up, and the worst of them only arrived this year.
First, it rarely works. Meta’s error table says that if you get this code, you should wait at least 24 hours before resending, and that doing it sooner “will only result in another error response since the limit may be in effect for differing periods of time.” A retry an hour later is asking a question WhatsApp has just answered.
Second, it spoils your numbers. Meta’s per-user page says resending early “can reduce the accuracy of campaign delivery reporting”. Simran’s team couldn’t tell how many people the campaign had reached, because the same 2,400 people had been attempted six times each and the failures were counted six times.
Third, since 30 April 2026 there’s a retry limit. If your account tries to resend marketing messages multiple times within 24 hours to people who have already reached their limit, “further delivery attempts to these users may be unavailable for up to 24 hours”. Meta enforces this across the whole account, not per campaign. It doesn’t affect sending to other people, but it can mean the one message you actually wanted those customers to see tomorrow can’t reach them either.
What to do instead
Stop automatic retries for this code
Many sending scripts retry every failure the same way. Split them. A timeout or a temporary server error may be worth one retry. 131049 isn’t. Mark the contact as “capped on this date” and take them out of the current campaign.
Wait a day at least, and usually longer
Meta’s floor is 24 hours. Our view is that for a promotional message, the next attempt should be the next campaign, not a resend of this one. If someone was capped on the first day of your sale, a reminder on day three is a better second touch than the same message on day two.
Send to fewer, better people
You can’t change how a person treats other brands’ messages. You can decide not to send to people who haven’t read anything from you in months. Take the example above: 15,600 messages delivered at Meta’s India marketing rate of ₹0.8631 is about ₹13,464 before GST. If a third of those went to people who never open your messages, that’s roughly ₹4,500 spent on people who were also the likeliest to be capped. Cutting them loses a few sales. It also leaves your campaign reports showing what your actual customers did.
Get the reply first
Meta’s page says that when someone replies to a marketing message, a 24-hour customer service window opens, and marketing templates sent inside that window don’t count towards the limit. A message that asks for a reply (“Reply 1 and we’ll send the new collection”) is doing more than collecting interest. For people who reply, the follow-up isn’t competing with every other brand’s broadcast for the same allowance.
Two cautions. The follow-up still costs the marketing rate if it’s a marketing template. And since 1 October 2026, free-form replies inside the window are charged at ₹0.115 each once a number has used its 1,000 free service messages that month. Our October cost guide has the full table.
Don’t relabel marketing as utility to dodge the cap
It’s tempting to put the festive offer inside an “order update” template. Meta approves templates it judges to be marketing as marketing, and since 15 September 2026 it can switch a template’s category later if what it actually sends doesn’t match. Repeated category violations can also restrict your account’s messaging limit, reported as error 131064. You’d be swapping a cap on some people for a restriction on everyone.
Check the rate by campaign, not in a panic
Look at the share of sends that failed with 131049 each campaign, and keep it next to the read rate. A rising 131049 share in a normal month usually means you’re sending more often than your list wants to hear from you. During festive weeks, expect it to rise whatever you do, and plan the send list with that in mind.
If you use the Marketing Messages API
Meta sells a separate route for marketing, the Marketing Messages API for WhatsApp, and says it delivered up to 9% more high-engagement messages than the Cloud API in its own test on about 12 million marketing messages in India in January 2025. That’s Meta’s test of Meta’s product, so treat it as a direction, not a promise. Meta doesn’t say the separate API lifts the per-user cap, so plan as if it doesn’t.
A rule for your developer
If your team takes one thing from this page to the person who wrote your sending script, make it this: never retry a 131049 inside 24 hours, and never retry it automatically at all. Put the contact on a hold list with a date, and let the next campaign decide whether they get a message.
Common questions
What does WhatsApp error 131049 mean?
Error 131049 means WhatsApp did not deliver your marketing template because the person has reached their marketing limit, counted across every business that messages them. It is not a ban, a quality penalty or a rejected template, and it applies to marketing templates only, not utility templates.
How long should I wait before resending after error 131049?
Meta says to wait at least 24 hours before resending to that person. Since 30 April 2026, repeated retries within 24 hours to people already at their limit can make further delivery attempts to them unavailable for up to 24 hours, enforced across the whole account.
How many marketing messages can one person receive on WhatsApp in a day?
Meta publishes no fixed number. The per-user cap covers marketing templates from all businesses combined, and WhatsApp sets it using the person's recent marketing read rate and how many messages are in their inbox. It adapts over time, so the same customer may be reachable one day and not another.
Am I charged for messages that fail with error 131049?
No. Only delivered template messages are billed, so a 131049 failure costs nothing. The cost of retrying is lost reach the next day and less accurate campaign delivery reports, because the same people are attempted and counted as failed several times.
Sources
- Per-user marketing template message limits (Meta for Developers) · Updated 17 Jun 2026
- Error codes (Meta for Developers) · Read 1 Oct 2026
- WhatsApp Business Platform changelog (Meta for Developers) · Entry of 30 Apr 2026 (retry limits)
- Pricing on the WhatsApp Business Platform (Meta for Developers) · India rates effective 1 Jul 2026, unchanged on the 1 Oct 2026 card
- Marketing Messages API for WhatsApp overview (Meta for Developers) · Updated 30 Jun 2026
- Template categorization (Meta for Developers) · Updated 15 Sep 2026
Run this on your own number
Create an account, connect your WhatsApp number, and invite your team.