TL;DR: WhatsApp error
131050means the recipient chose to stop receiving marketing messages from your business on WhatsApp. You cannot override it — only the user can opt back in. Stop sending marketing templates to them, suppress them, and subscribe to theuser_preferenceswebhook to track opt-outs.
What Error 131050 Means
Meta's details string is: "Unable to deliver the message. This recipient has chosen to stop receiving marketing messages on WhatsApp from your business." It's a per-business marketing opt-out. Meta's guidance: do not retry, and subscribe to the user_preferences webhook to be notified when users stop or resume marketing.
Where You See It
Typically a failed status webhook (status: failed, code: 131050) in statuses[].errors[]. This is a preference-state failure, not a "retry later" deliverability blip.
Common Causes
- The user explicitly opted out of marketing from your business.
- Your suppression list didn't update everywhere, or one tool sent after another recorded the opt-out.
- You treated a consent event like a temporary delivery failure.
How to Fix It
- Stop resending the same marketing message.
- Record the recipient as marketing-suppressed across all tools, numbers, and workflows.
- Subscribe to the
user_preferenceswebhook to capture opt-out/opt-in events. - Only resume marketing if the user later gives a fresh, compliant opt-in. You may still send permitted utility/service messages where appropriate.
How to Prevent It
- Maintain a single suppression source of truth and sync it across every campaign tool.
- Separate marketing consent from generic service consent.
- Keep marketing relevant and well-paced to reduce opt-out rate; enforce preferences before send-time.
Related Errors
/docs/whatsapp-error-131049— marketing cap/docs/whatsapp-error-131048— spam-rate restriction/docs/whatsapp-error-131026— undeliverable- See the full error reference
FAQ
What is WhatsApp error 131050? The user opted out of your marketing messages.
Can I override 131050? No — only the user can opt back in on their device.
How do I know who opted out? Subscribe your own Meta app to the user_preferences webhook. A Dualhook connection does not deliver it, so there you rely on failed statuses with 131050.
Does 131050 mean the user blocked the business? Not necessarily — it specifically means they stopped your marketing messages.
How Dualhook Helps
Dualhook's Meta app does not subscribe to the user_preferences webhook, so a Dualhook connection does not deliver opt-out events. The signal you do get is the failed status with error 131050 on the messages webhook, which Meta sends straight to your endpoint through Webhook Override. Suppress on that, or subscribe your own Meta app to user_preferences for stop and resume events. Dualhook does not keep a suppression list; enforce it in your sending backend. See Marketing Messages API for WhatsApp and Maintain Account Health.