WhatsApp Error 131049: Healthy Ecosystem Engagement

WhatsApp error 131049 means Meta withheld a marketing message to maintain healthy ecosystem engagement. Causes, the per-user limit, and how to fix it.

TL;DR: WhatsApp error 131049 means Meta chose not to deliver your marketing template message to protect the user from too many marketing messages (the per-user marketing frequency cap). It is not a fault in your number or account. Fix it by waiting before retrying, using the correct template category for content that is genuinely non-marketing, and targeting only engaged users.

What Error 131049 Means

Meta's details string is: "This message was not delivered to maintain healthy ecosystem engagement." It is triggered by Meta's per-user marketing template message limits, an adaptive cap on how many marketing-category templates a single WhatsApp user receives across all businesses in a rolling window. Meta does not publish a fixed number. Marketing messages delivered while the user's 24-hour customer service window is open don't count toward the cap. Separately, Meta currently does not deliver marketing template messages to WhatsApp users with United States phone numbers (+1 with a US area code); those sends fail, typically with 131049.

Where You See It

Most often it arrives asynchronously in the statuses[].errors[] array of the messages webhook (status: failed, code: 131049). It can also be returned synchronously on the send call. A 200 on the send call is not proof of delivery here.

Common Causes

  • The recipient already received marketing messages (from your business or others) in the current window.
  • The template is categorized as Marketing, even when your team thinks of it as informational.
  • Low engagement: the user rarely reads or replies to marketing messages.
  • Sending marketing templates into a region where Meta currently restricts them.

How to Fix It

  1. Do not immediately retry — the same error returns while the limit is in effect.
  2. Wait before retrying. Meta's guidance is to wait at least 24 hours. Repeated resends within 24 hours to a user who already hit the cap can block further marketing attempts to that user for up to 24 hours, and they also return 131049.
  3. If the content is genuinely utility or authentication under Meta's template-category rules, use the correct non-marketing template category (those categories are not subject to the marketing cap). Do not recategorize promotional content as utility just to bypass 131049 — miscategorization is a policy/quality risk that can hurt your account.
  4. Verify the template's category is correct; recategorize only where a utility/auth message was genuinely mislabeled Marketing.
  5. Re-engage low-intent users with value-driven content so future deliverability improves.

How to Prevent It

  • Segment to engaged users; suppress cold contacts.
  • Space marketing sends; avoid multiple marketing pushes per user per day.
  • Keep template quality and opt-in hygiene high.
  • Monitor failed-status rates to detect cap onset early.

FAQ

What does WhatsApp error 131049 mean? Meta withheld your marketing template to maintain a healthy ecosystem — the recipient hit the cross-business per-user marketing cap.

How do I fix 131049? Wait before retrying (Meta says at least 24 hours for per-user limits), use the correct non-marketing template category for content that genuinely qualifies as utility/auth, and target engaged users.

Why do invoices/reminders get 131049? Usually because the template is categorized as Marketing even though the content feels transactional.

Is 131049 my fault? No — it is recipient-level and cross-business; even a first message can fail.

How Dualhook Helps

This is a send-side error: the fix lives in your sending backend. Dualhook relays /messages requests without content persistence and returns Meta's response unchanged. It also surfaces failed delivery statuses routed via your webhook. Retry and throttling decisions remain in your backend; Dualhook never retries sends automatically.

Browse more docsStart Free Trial