Helo.ai marks years of building enterprise communicationExplore our Journey

Automate bulk messaging for promotions, alerts, and updates - Explore

WhatsApp Error 131049: Healthy Ecosystem Engagement Limit

WhatsApp Error 131049 occurs when Meta withholds a marketing message to maintain healthy ecosystem engagement. Learn how the dynamic limit works and how to prevent it.

helo.ai authorSuraj Kori
Aug 19, 20266mins
WhatsApp API Error 131049

Error 131049 is the only WhatsApp error where Meta tells you, in effect, that it decided your message was not worth delivering. Meta documents it as "Meta chose not to deliver," with an HTTP status of 400, recommending you wait 24 or more hours before retrying and review per-user marketing template limits (Meta for Developers, WhatsApp error codes reference, retrieved 2026-08-17). The user-facing message text is "This message was not delivered to maintain healthy ecosystem engagement"

There is one thing to establish before anything else, because a great deal of published advice gets it wrong: Meta does not publish a specific per-user marketing message cap. Articles quoting a precise number per user per week are guessing. The limit is dynamic, varies by recipient, and responds to how that individual engages with business messages generally.

This guide covers how the limit actually works, what the retry guidance does and does not achieve, why this error is a leading indicator rather than a nuisance, and how to cap frequency yourself. For the wider failure surface, our WhatsApp Business API error codes reference indexes the rest.



How the Per-User Limit Works

WhatsApp applies a cap on how many marketing template messages an individual user receives from businesses. The cap exists because the channel's value depends on users not experiencing it as a promotional feed.

Three properties matter for how you respond.


It is per recipient, and dynamic. Two contacts on the same list, sent the same template at the same moment, can produce one delivery and one 131049. The difference is the recipient's own history with business messages, including yours and others'. A user who reads and replies to business messages has more headroom than one who ignores or dismisses them.


It counts marketing templates. Utility templates delivering genuine transactional information, authentication templates, and free-form replies inside an open customer service window are not what this limit governs. If your 131049 rate is high, your marketing-to-utility mix is part of the diagnosis. Our guide to template categories covers the distinction, and error 131047 covers the customer service window.


The threshold is not published. Meta describes the mechanism without publishing the number, and BSP documentation confirms no specific figure is disclosed. Building a send strategy against a number you found in a blog post means building against a fiction. Build against observed 131049 rates in your own data instead, which is a real signal you control.


What the Retry Guidance Actually Means

Meta's recommended action is to wait 24 or more hours before retrying. That is worth taking literally, and also worth understanding.

Waiting works when the recipient's headroom is genuinely time-based and refreshes. It does not work when the recipient simply does not engage with your messages, in which case 24 hours later produces the same outcome. Several BSP platforms offer automatic retry features with multiple attempts, and used indiscriminately these are counterproductive: repeated withheld sends to a disengaged contact tell you nothing new and consume capacity.


A defensible retry policy:

Situation

Action

First 131049 on an engaged contact

Retry once after 24+ hours

Second consecutive 131049 on the same contact

Stop. Move the contact to a lower-frequency segment

131049 on a contact who has never replied

Do not retry. Suppress from marketing sends

131049 rate rising across a whole campaign

Stop the campaign. This is a frequency problem, not a delivery problem

131049 on a genuinely transactional message

Check the template category. It may be miscategorised as marketing

That last row is worth attention. If a message that is genuinely an order update is being withheld under a marketing frequency cap, it is very likely sitting in a marketing-categorised template. Recategorising fixes both the delivery problem and the cost, since utility templates inside an open customer service window are free while marketing templates are always charged (Meta for Developers, Pricing, retrieved 2026-08-17).


Why 131049 Is a Leading Indicator


Most teams file 131049 as a delivery nuisance and monitor it, if at all, as an error count. That understates it considerably.

A rising 131049 rate means Meta is observing that your recipients are receiving more marketing messages than their engagement supports. The users generating those responses are the same population that produces blocks and spam reports if you continue. Those signals drive quality rating, and quality rating drives error 131048 and ultimately error 368.

In other words, 131049 is the cheapest warning on the enforcement ladder. Nothing has been restricted, no rating has dropped, and no account is at risk yet. Meta is declining individual messages while telling you the frequency is running ahead of the relationship.

This matters more in 2026 than it used to. The "Flagged" phone number status has been removed and messaging limits no longer automatically decrease when quality rating falls. One of the visible intermediate warnings teams relied on is gone, which promotes 131049 from a nuisance metric to one of the better early signals available.

Track it as a rate by segment, not a count. A stable low rate on a warm list is normal. A rate climbing on a segment you have been messaging more often is a specific, actionable finding.


How to Cap Frequency Before Meta Does

The strategic answer to 131049 is to enforce your own frequency limit below Meta's, which you can measure and tune, rather than sending until an unpublished ceiling stops you.


Set an explicit per-contact marketing cap. Choose a number, per week or per month, based on your own engagement data. Enforce it in your send layer so no campaign can exceed it regardless of who scheduled it. The cap being yours means you can reason about it; Meta's cannot be reasoned about because it is not published.


Segment by engagement and vary frequency accordingly. Contacts who reply and interact tolerate more; dormant contacts tolerate less and generate the withheld sends. A single global frequency applied to a mixed list guarantees you over-message one group while under-messaging another. Our guide to WhatsApp audience segmentation covers how to build those segments.


Move information into utility templates where it genuinely belongs. Order updates, delivery notifications, appointment reminders, and account notices are utility content. Categorised correctly, they are not competing for marketing headroom and they cost less inside an open window. This is the single change that most often reduces 131049 while improving unit economics.


Prefer reopening a conversation to broadcasting into one. A template with a quick reply button that earns a response reopens the customer service window, after which free-form messages are permitted and free. Conversations do not consume marketing frequency headroom the way repeated broadcasts do.


Give frequency an owner. 131049 arrives as an API error and lands with engineering, but the decision that caused it was a campaign calendar decision. Someone owning lifecycle marketing needs visibility of the 131049 rate by segment and the authority to reduce send frequency. Our guide on the WhatsApp marketing message limit per user covers the operational side.


Frequently Asked Questions


What does "this message was not delivered to maintain healthy ecosystem engagement" mean?

It means Meta withheld delivery of a marketing template to that specific recipient, most commonly because the recipient has reached a per-user limit on marketing messages given their engagement level. Meta documents the code as "Meta chose not to deliver" with HTTP status 400 and recommends waiting 24 or more hours before retrying.


What is the WhatsApp per-user marketing message limit?

Meta does not publish a specific number. The limit is dynamic and varies per recipient according to how that individual engages with business messages, which is why the same campaign delivers to most of a list and is withheld for some contacts. Any precise figure you find quoted elsewhere is unverified, so plan against your own observed 131049 rates instead.


Should I retry a message that failed with 131049?

Once, after at least 24 hours, and only for contacts who genuinely engage with you. If a contact returns 131049 twice in a row, or has never replied to any message, retrying will not help and the contact should move to a lower-frequency segment or out of marketing sends entirely. Automatic multi-attempt retries applied to every failure are counterproductive.


Does error 131049 affect utility or authentication templates?

The limit targets marketing template messages. Utility templates carrying genuine transactional information, authentication templates, and free-form messages inside an open 24-hour customer service window are not what this cap governs. If a transactional message is being withheld, check whether its template is miscategorised as marketing.


Is 131049 a sign my account is in trouble?

Not yet, and that is what makes it useful. Nothing has been restricted and no rating has dropped. But the recipients generating these responses are the same population that produces blocks and spam reports if frequency continues, and those signals lead to error 131048 and potentially account restriction. Treat a rising rate as an early warning worth acting on.


What is the difference between 131049 and 131050?

131049 is a frequency limit: the recipient has received enough marketing messages for now, and a later send may succeed. 131050 is a consent withdrawal: Meta documents it as "user has stopped receipt of marketing messages" with a recommended action of not retrying. One is a timing constraint; the other is permanent for that recipient. See error 131050.


Take the Free Warning


Error 131049 is the least expensive feedback WhatsApp gives you. No restriction has been applied, no rating has moved, and the only cost is the individual message that was withheld. What it tells you is precise and actionable: for these specific recipients, your marketing frequency has run ahead of the relationship.

The businesses that do well with this signal set their own frequency cap, segment by engagement, and move transactional content into properly categorised utility templates. The ones that do badly configure automatic retries, keep the calendar, and meet the same population again at 131048.


Want frequency capping and engagement segmentation handled in the send path? Helo.ai is a Meta Partner and enforces per-contact frequency caps, engagement-based segmentation, and template category routing for enterprise WhatsApp programmes. Talk to an expert.

Next: error 131050 for handling opt-outs correctly, or error 131047 to understand the free customer service window that reduces your dependence on marketing templates.

About Author
helo.ai author
Suraj Kori

Suraj Kori is associated with Helo.ai and focuses on enterprise communication technologies including WhatsApp Business API, SMS, RCS, and CPaaS solutions. He contributes practical insights on AI-driven messaging, customer engagement, and omnichannel communication strategies for modern businesses.

Related Blogs

WhatsApp Error 131064
Whatsapp / All

WhatsApp Error 131064: Template Classification Limits

WhatsApp Error 131064 occurs when template classification violations lead to a reduced messaging limit. Learn why it happens, how enforcement works, and how to recover.

helo.ai author
Suraj Kori
Aug 19, 20266mins
WhatsApp API Error 131050
Whatsapp / All

WhatsApp API Error 131050: Handling Marketing Opt-Outs

WhatsApp API Error 131050 occurs when a user stops receiving marketing messages from your business. Learn how to handle opt-outs, suppress contacts, and respect user preferences.

helo.ai author
Suraj Kori
Aug 19, 20266mins
WhatsApp API Error 131048
Whatsapp / All

WhatsApp API Error 131048: Fixing the Spam Rate Limit

WhatsApp API Error 131048 occurs when negative user feedback triggers a spam rate limit on your phone number. Learn the causes, recovery steps, and ways to prevent it.

helo.ai author
Suraj Kori
Aug 19, 20266mins
WhatsApp Error 131049: Causes, Limits & Fixes