Error 131050 is the one error in this cluster with no technical fix, and the one where getting the response wrong carries the most risk. Meta documents it as "User has stopped receipt of marketing messages" with an HTTP status of 400, and the recommended action is unusually direct: do not retry, the user has opted out, and subscribe to the user_preferences webhook (Meta for Developers, WhatsApp error codes reference, retrieved 2026-08-17).
Almost every other WhatsApp error asks you to change a payload, a credential, a template, or a frequency. This one asks you to stop. The recipient used WhatsApp's own controls to tell your business they no longer want marketing from you, and the platform is relaying that decision.
This guide covers what 131050 means precisely, why retry logic is the wrong reflex, how the user_preferences webhook turns a per-send error into a proper suppression system, and what you can still legitimately send. For the wider failure surface, our WhatsApp Business API error codes reference indexes the rest.
What 131050 Actually Means
WhatsApp gives users native controls to stop receiving marketing messages from a business. When a user exercises that control, subsequent marketing template sends to that recipient return 131050.
Two clarifications that matter operationally.
This is a platform-level opt-out, not your own unsubscribe list. The user did it in WhatsApp, which means your CRM may show them as happily subscribed. Any consent record you hold is now superseded for marketing purposes on this channel, and the discrepancy is your problem to reconcile.
It is specific to marketing content. The opt-out targets promotional messaging. Utility templates carrying genuine transactional information, authentication templates such as one-time passcodes, and free-form replies inside an open 24-hour customer service window are generally still deliverable. A customer who opts out of your promotions has not opted out of their delivery notification.
That distinction is where judgement is required, and where businesses get into trouble. Recategorising a promotional message as utility to reach an opted-out user is a policy violation with a direct path to error 368. The test is whether the recipient would consider the message information they need about something they did, or something you want them to do.
Why You Must Not Retry
Meta's recommended action says not to retry, and it is worth being explicit about why, because retry logic is often applied uniformly across error codes.
A retry cannot succeed. The opt-out is a standing state, not a transient condition, so the same send will be refused indefinitely. There is no backoff interval that changes the outcome.
More importantly, attempting to reach a user who has opted out is precisely the behaviour that generates the signals leading to enforcement. Users whose stated preference is ignored block the business and report it as spam. Those signals drive quality rating, which drives error 131048, which sits directly below account restriction on the enforcement ladder.
There is also a legal dimension. Ignoring a documented opt-out creates exposure under consent regimes such as the GDPR, India's DPDP Act, and equivalent rules in other markets, independent of anything Meta does. A platform error code is not the only party keeping score. Our guide to WhatsApp API compliance covers the regulatory side.
Correct handling in your send layer:
Error | Retryable? | Handling |
|---|---|---|
131050 | Never | Suppress the contact from marketing permanently; record the timestamp |
Once, after 24h+ | Frequency limit, not consent withdrawal | |
Depends on cause | Five causes, three permanent | |
Yes, as a template | Window closed; send an approved template |
If your platform applies one retry policy across all four, 131050 will be retried. That is worth checking today rather than after a quality incident.
Use the user_preferences Webhook
Meta's recommended action names a specific remedy, and it converts this from a per-send error into a managed consent system.
Subscribing to the user_preferences webhook means you are notified when a user changes their marketing preference for your business. The practical difference is timing. Without it, you discover the opt-out by attempting a send that fails, which means every opted-out contact costs you a failed send and sits in your active list until then. With it, you suppress the contact before the next campaign is built.
An implementation that actually holds:
- Subscribe to the webhook on your WABA and handle the preference-change events.
- Write the opt-out to your source of truth, not just to the messaging platform. If your CRM, your marketing automation, and your WhatsApp platform each hold separate consent state, the least-informed one will eventually send.
- Suppress at query time, not at send time. Marketing audiences should be built excluding opted-out contacts, so a campaign physically cannot include them.
- Record the timestamp and the source. You need to demonstrate when consent was withdrawn and where the signal came from, both for compliance and for reconciling the CRM discrepancy.
- Keep the contact reachable for utility. Suppression should apply to marketing sends, not delete the contact. They still need their order updates.
- Reconcile back to the CRM. A contact who opted out on WhatsApp but shows as subscribed in your CRM is a future violation waiting for whoever builds the next list.
Step 3 is the one most often skipped. Filtering at send time means the contact stays in campaign audiences, appears in reporting, and gets included by anyone who exports a segment manually. Filtering at query time removes the possibility.
What You Can Still Send
An opt-out is not the end of the relationship, and treating it as a total loss both over-corrects and under-serves the customer.
Utility templates for genuine transactional content remain appropriate: order confirmations, shipping updates, appointment reminders, payment receipts, service notices. This is information about something the customer did.
Authentication templates such as one-time passcodes remain appropriate, since the user is actively requesting them.
Free-form replies inside an open customer service window remain appropriate. If the customer messages you, you can have a conversation. An opt-out from marketing is not a refusal to be helped.
What is not appropriate: promotional content dressed as utility, "we noticed you opted out" win-back messages sent through WhatsApp, or reaching the same person through a different phone number on the same business portfolio.
The constructive response is to keep serving that customer well on the transactional side and to move promotional communication to a channel where they have consented. Our comparison of WhatsApp versus email for D2C brands covers the trade-offs when reallocating.
Reading Your Opt-Out Rate as a Metric
A single 131050 is a customer preference. A rising 131050 rate is a message about your programme, and it is worth putting on the same dashboard as revenue.
Opt-outs concentrate where frequency has outrun value. If a particular campaign, segment, or template precedes a cluster of opt-outs, that is a specific finding you can act on. Track the rate by segment and by template rather than as a single account-level number, and watch it alongside your 131049 rate, since both measure the same underlying tension between frequency and tolerance.
This matters more in 2026 than it once did. The "Flagged" phone number status has been removed and messaging limits no longer decrease automatically when quality rating falls which removed a visible intermediate warning. Consent metrics such as the opt-out rate now carry more of the early-warning load, because the platform gives you fewer free alarms before enforcement.
Frequently Asked Questions
What does WhatsApp error 131050 mean?
The recipient has used WhatsApp's controls to stop receiving marketing messages from your business. Meta documents it as "User has stopped receipt of marketing messages" with HTTP status 400, and the recommended action is not to retry and to subscribe to the user_preferences webhook so you are notified of preference changes proactively.
Can I retry a message that failed with error 131050?
No. Meta's guidance explicitly says not to retry because the user has opted out. The opt-out is a standing state rather than a transient failure, so no backoff interval will change the result, and continuing to attempt delivery generates the blocks and spam reports that lead to quality-rating damage and eventual account restriction.
Can I still send transactional messages to a user who opted out?
Generally yes. The opt-out is scoped to marketing content, so utility templates carrying genuine transactional information, authentication templates such as one-time passcodes, and free-form replies inside an open 24-hour customer service window remain appropriate. What is not appropriate is recategorising promotional content as utility to reach them.
What is the user_preferences webhook?
A Meta webhook that notifies your application when a user changes their marketing message preference for your business. Meta names it in the recommended action for error 131050. Subscribing means you suppress the contact before your next campaign rather than discovering the opt-out through a failed send.
Does an opt-out on WhatsApp affect my email or SMS consent?
No. The WhatsApp opt-out is channel-specific to WhatsApp marketing. However, you should record it in your central consent store rather than only in your messaging platform, both so no system sends in ignorance and because a contact showing as subscribed in your CRM while opted out on WhatsApp is a future compliance problem.
How do I reduce my WhatsApp opt-out rate?
Opt-outs cluster where message frequency has outpaced perceived value. Track the rate by segment and by template to find the specific campaigns that precede clusters, cap per-contact marketing frequency below what Meta enforces, segment by engagement so dormant contacts receive less, and move genuinely transactional content into properly categorised utility templates so it does not consume promotional goodwill.
Suppress Properly and Move On
Error 131050 is the simplest error in this cluster to handle correctly and the most damaging to handle badly. There is no fix to implement and no payload to correct. A customer told your business to stop, WhatsApp relayed it, and the only correct response is to stop sending marketing to that person while continuing to serve them on the transactional side.
The system worth building is the one Meta points to: subscribe to user_preferences, write opt-outs to your central consent store, and exclude opted-out contacts when audiences are built rather than when messages are sent. That turns an error you react to into a state you respect, and it removes the single most reliable path from a healthy account to a restricted one.
Want consent state enforced across channels rather than per platform? Helo.ai is a Meta Partner and manages user_preferences subscriptions, central suppression, and template category routing so opted-out contacts cannot enter a marketing audience. Talk to an expert.
Next: error 131049 for the frequency limit that usually precedes opt-outs, or the WhatsApp opt-in guide for building consent that holds.




