WhatsApp Broadcast Failed? Every Meta Error Code Explained (Malaysia 2026)
You sent a WhatsApp broadcast, and the delivery report is showing failures. Some messages went through, some did not, and the app just gives you a number like 131049 or 131042 with no plain explanation. Now you are wondering: did I do something wrong, is my number in trouble, and should I resend?
This is the honest, practical guide to what those Meta error codes actually mean, which ones are your fault, which you can fix, and which you should simply leave alone. It is written for Malaysian SMEs running real broadcasts, not for engineers.
The single most important idea up front: not every failure is a problem you can fix, and resending the wrong failures makes things worse. Some codes mean "this number is dead", some mean "you are sending too much", and some mean "your card failed". Treating them all the same is how businesses damage their own WhatsApp number.
The quick reference table
Here are the codes you will actually see on a Malaysian broadcast, grouped by what they really mean.
| Code | What it means | Is the person reachable? | What to do |
|---|---|---|---|
| 131026 | Undeliverable (not on WhatsApp, wrong number, or recipient setting) | Usually no | Remove from future sends. Do not resend. |
| 130403 | You blocked this contact | No | Unblock the contact only if it was a mistake. |
| 131042 | Payment method issue on your account | Yes, but nothing sends | Fix your WhatsApp payment method, then retry. |
| 131049 | Meta throttled your marketing to protect the recipient | Yes | Wait 1 to 2 weeks, or send a utility template. Do not resend now. |
| 130472 | Meta marketing frequency-cap experiment dropped it | Yes | Same as a throttle. Wait, do not resend now. |
| 131053 | Your template image or file failed to upload | Yes | Fix the media, then create a new broadcast. |
| 132012 | Template parameter format mismatch | Yes | Fix the template variables, then resend. |
| 130429 / 131057 | Temporary rate limit | Yes | Nothing. A good platform retries these automatically. |
Now the detail, because the difference between "dead number" and "temporary throttle" is the difference between a healthy WhatsApp account and a restricted one.
Group 1: dead numbers (131026, 130403)
These are permanent. The recipient will not receive your message no matter how many times you try.
131026 is the big one. Meta calls it "undeliverable" and deliberately does not tell you the exact cause. In practice it means the number is not a WhatsApp user, the number was mistyped (a common one in Malaysia is an extra digit or a missing 6 in the country code), or the recipient has a privacy setting blocking business messages.
130403 means you, the business, blocked that contact at some point. Unblock them only if that was a mistake.
The rule for dead numbers: do not resend to them. Every retry is a wasted Meta charge and, worse, a low-quality signal that tells Meta's spam classifier your list is bad. The right move is to strip them out of every future campaign. On ForwardChat this happens automatically, once a number returns 131026 or 130403 it is tagged and permanently excluded from your future audiences, so you never re-hit a dead-letter list.
Group 2: throttled, not dead (131049, 130472)
This is the group most people misread, and getting it wrong is expensive.
131049 ("not delivered to maintain healthy ecosystem engagement") and 130472 (Meta's marketing frequency-cap experiment) both mean the same thing in practice: the recipient is a real, active WhatsApp user who has not blocked you, but Meta decided they have received too many marketing messages recently and dropped yours to protect their inbox.
The crucial word is recently, from all businesses. Meta caps how many marketing messages a single person gets across every business that week, not just from you. So a contact who has never failed for you before can suddenly get throttled, through no fault of your list.
What this means for you:
- These people are reachable again later, usually within one to two weeks, once the cap resets.
- Resending now does not help and can make Meta throttle you harder.
- You can still reach them right now with a utility template (an order update or reminder), because utility messages are not frequency capped the way marketing ones are.
On ForwardChat, throttled contacts are tagged and skipped on your next campaign automatically, then the tag decays after 14 days so they quietly re-enter your audience without you tracking anything. If you need to reach them sooner, you deselect the throttle exclusion for that one campaign.
The honest truth about throttling: no tool can prevent it, because it is driven by Meta protecting the recipient, not by anything wrong with your list. The only real levers are lower volume, better spacing, and sending to people who actually engage with you. Any platform that promises to make throttling disappear is selling you something that does not exist.
Group 3: the payment block (131042)
131042 is not about your list at all. It means the payment method on your WhatsApp Business account has a problem, an expired card, a failed charge, or a billing setting Meta is unhappy with. While it is active, it blocks every business-initiated broadcast, though your normal one-to-one replies keep working.
The catch that trips up many Malaysian businesses: the card has to be added in the right place. In Meta, open your WhatsApp Business Account, go to the Summary tab, click Payment Settings, and add the card there. Adding a card elsewhere in Meta Business Manager will not unblock broadcasts, and you will think you paid while sends keep failing.
This one is dangerous because a card can fail in the middle of a live campaign, and then every remaining message fails on 131042, hundreds of guaranteed failures in a row. On ForwardChat a campaign now pauses itself the moment it hits a payment failure and emails you, instead of burning through your whole list. The paused campaign shows a clear payment banner so you know exactly what happened and how to fix it.
Group 4: your template is broken (131053, 132012, 100)
These are sender-side. They are not the recipient's fault, and they affect every recipient of that send equally.
- 131053 means your template's image, video, or file failed to upload to Meta. Re-upload the media (PNG or JPG up to 5 MB for images, MP4 up to 16 MB for video) and create a new broadcast.
- 132012 means the values you supplied do not match the template's expected format, for example text where an image was expected. Fix the template variables.
- 100 is a bad template payload, usually an invalid media ID or a wrongly referenced parameter.
If you see a large number of these on a single campaign, stop, the problem is your template, not your audience. Fix it once and resend.
Group 5: temporary rate limits (130429, 131057)
These just mean you sent too fast for your account's current throughput. They are transient and self-correcting. A proper broadcast platform paces your sends under Meta's per-tier throughput and retries these automatically, so you should rarely see them surface. On ForwardChat the send queue is throttled to stay comfortably under every WhatsApp tier, exactly to avoid these.
The one mistake that costs Malaysian SMEs their number
Put the groups together and a pattern appears. The failures you can safely ignore or that we handle for you (dead numbers, throttles, rate limits) are not the ones that get your number restricted. What gets a number restricted is the behaviour behind the failures: blasting large lists of people who do not engage, too often, too fast.
We wrote a full breakdown of that in WhatsApp Broadcast Strategy Malaysia 2026, including Meta's tier limits, the silent quality score, and the account warm-up schedule that keeps a fresh number safe. If your broadcasts are failing a lot, read that next, because the fix is usually who and how often you send, not the tool.
What ForwardChat does about failures automatically
You should not have to memorise error codes to run a broadcast. ForwardChat reads them for you and acts:
- Dead numbers (131026, 130403) are removed from future sends automatically, so you never resend to a dead-letter list.
- Throttled numbers (131049, 130472) are skipped for two weeks, then re-included automatically once the cap resets.
- A payment failure (131042) pauses the campaign and alerts you instead of firing hundreds of guaranteed failures, with a clear payment banner on the campaign.
- Every failed recipient shows a plain-English reason and next step, and you can export the full list as a CSV.
- Sends are paced under your Meta tier so temporary rate limits rarely happen.
None of this makes cold blasting safe, nothing can, but it protects your number from the avoidable damage and takes the guesswork out of a failed report.
Next steps
- Look at your failed report and sort by error code, not by contact.
- Leave the dead numbers and throttles alone, do not resend them.
- If you see 131042, fix your payment method in Meta and retry.
- If you see a lot of 131053 or 132012, fix your template, not your list.
- If failures are high across the board, your volume or audience is the real issue, read the broadcast strategy guide and tighten who you send to.
Broadcasts are still one of the highest-return channels for a Malaysian SME, but only when you send to people who want to hear from you and let a platform handle the failures safely. See how ForwardChat does broadcasts on the official WhatsApp API on our WhatsApp Broadcast Malaysia page, or get started with your own number.


