Anyone building integrations and chatbots on Meta's WhatsApp Cloud API has faced this sudden scare: outbound messages start failing, and your immediate reaction is that the server crashed, the webhook broke, or the API access token expired.
I went through this exact situation while monitoring automated conversational workflows. Outbound messages were rejected, customer queues began backing up, and when I inspected the application logs, Meta was returning specific API error codes: 131049 and 130472.
After analyzing the JSON responses and checking Meta's platform policies, it became clear that the application code was working as intended. The failure was entirely on Meta's side (an upstream policy restriction).
Here is a breakdown of what both errors mean, how to read their payloads, and the most practical ways to keep your messages moving.
Quick comparison between errors 131049 and 130472#
The table below summarizes the key differences between these two errors:
| Error code | Meta canonical message | Underlying cause | Where the block lives | Duration |
|---|---|---|---|---|
| 131049 | User marketing template message limits exceeded | The recipient has received too many promotional messages from businesses recently. | On the customer phone number. | Temporary and dynamic per recipient. |
| 130472 | Meta experiment restriction applied | Your WhatsApp Business phone number was randomly enrolled in Meta's 1% global test group. | On your sender account (WABA). | Temporary, governed internally by Meta. |
Error 131049: Recipient-side antispam protection#
Error 131049 occurs whenever your application attempts to start or resume a conversation using a template registered under the Marketing category.
The meta response payload#
When your engine makes an HTTP POST request to the WhatsApp API endpoint, Meta blocks the delivery and returns this JSON response:
{
"error": {
"message": "(#131049) User marketing template message limits exceeded.",
"type": "OAuthException",
"code": 131049,
"error_data": {
"messaging_product": "whatsapp",
"details": "The recipient has received too many marketing messages recently. For more details, see official Meta documentation."
},
"fbtrace_id": "ArX9_J8k2LpM5N7q"
}
}
What is actually happening#
This is not an authentication failure, an empty balance on your WhatsApp Business account, or invalid JSON syntax in your request.
Meta keeps an internal counter of marketing messages delivered to each individual WhatsApp user across all businesses. If that person recently received several promotional messages, Meta temporarily throttles marketing templates for that specific number so their personal inbox does not feel like an unmonitored spam inbox.
In other words: the restriction is on the recipient, not on your software.
How to work around error 131049#
- Switch to Utility templates: If you must contact the customer immediately and your message is transactional (order update, verification code, account notice), dispatch an approved Utility template instead. Utility messages are not counted toward marketing limits and pass through Meta filters.
- Pause marketing retries for that recipient: Do not loop and resend the same marketing payload every minute. Update your message queue to freeze marketing attempts to that specific recipient ID for a cooldown period of 12 to 24 hours.
- Encourage inbound customer interaction: When a user sends any incoming message to your number, Meta opens an official 24-hour service window. Inside this window, you can reply using regular text and media messages without marketing template restrictions.
Error 130472: Meta's 1% random experiment#
This error causes greater confusion because the limitation has nothing to do with the recipient. Instead, it is tied directly to your own business phone number.
The meta response payload#
{
"error": {
"message": "(#130472) Meta experiment restriction applied to marketing templates.",
"type": "OAuthException",
"code": 130472,
"error_data": {
"messaging_product": "whatsapp",
"details": "This phone number is part of a controlled experiment to evaluate user experience with marketing templates."
},
"fbtrace_id": "Z8y7X6w5V4u3T2s1"
}
}
What is actually happening#
Meta regularly runs A/B testing across its WhatsApp Cloud API infrastructure. Approximately 1% of business phone numbers worldwide are randomly selected for controlled experiments regarding message volume, read rates, and user retention.
When your phone number is part of this experiment:
- Your phone number status in Meta Business Manager remains green and verified.
- Your payment methods and credits remain active.
- Your message templates remain approved.
Yet any attempt to send marketing templates is rejected with status code 130472.
There is no opt-out button or API endpoint to exit this test. Meta automatically lifts the experiment restriction once their statistical sampling phase concludes.
How to work around error 130472#
- Shift initial contact to Utility templates: While the experiment is active, avoid initiating conversations with marketing templates. Use approved Utility notifications whenever a business trigger exists.
- Make use of user-initiated conversations: Send an SMS or transactional email containing a direct link to your WhatsApp chat (
https://wa.me/yournumber?text=Hi). Once the user sends an incoming message, a standard 24-hour window begins, letting your bot or agent respond freely without hitting marketing restrictions.
Practical strategies to keep messaging active without hitting meta limits#
Recognizing that errors 131049 and 130472 come from upstream platform rules rather than application bugs saves hours of unnecessary code reviews.
To make your WhatsApp integration resilient:
- Catch these error codes explicitly in your webhook or dispatch queue: Instead of tagging the message as a generic failure, record
131049and130472as distinct status events. - Display helpful status messages in your agent dashboard: When these errors occur, let your team know that Meta has temporarily throttled marketing delivery for that user or campaign.
- Always keep backup Utility templates approved: Maintain active Utility and Authentication templates in your account so your system can continue delivering critical updates without disruption.
With these safeguards in place, your automation handles Meta platform policies cleanly while keeping your core communications active.
Was this article helpful?
Leave a quick reaction to help prioritize future technical guides:
This post is licensed under CC BY-NC.



Comments
Join the discussion below.
0 comments