Salesvora
← Back to blog
Published 2026-11-0911 min read

How to Increase Your WhatsApp Delivery Rate on Meta's API (2026 Guide)

Why WhatsApp campaign messages fail on Meta's API, what each error code means, and how to raise your delivery rate, including automatic retries.

whatsappwhatsapp campaignsdelivery ratemetaindia

Short answer: most failed WhatsApp campaign messages are not lost for good. The biggest cause is Meta holding back marketing messages from people who have already received many (error 131049). That limit clears with time. To increase your delivery rate: message people who opted in, keep numbers in full international format, send fewer marketing messages per person, keep your quality rating green, and resend failed messages after a gap. Salesvora does the last part for you: tick Retry failed deliveries when you set up a campaign, and anyone the message didn't reach gets it again after 12 hours, then 24 hours, then 48 hours.

First, what "delivery rate" actually measures

Your delivery rate is messages delivered ÷ messages sent. "Sent" means Meta accepted the message from your WhatsApp Business API account. "Delivered" means it reached the person's phone. Read receipts don't matter here. A person who has turned off blue ticks still counts as delivered.

The gap between sent and delivered is where campaigns lose money. You paid for the audience, the template and the team's time. Every message that fails is a lead who never saw your offer.

Two things to know before you start fixing it:

  • Meta tells you why each message failed. Every failed message comes back with an error code. The code tells you whether the failure is temporary or permanent, which decides what to do next.
  • Failed messages are not billed. Meta charges for template messages when they are delivered. A failed message costs nothing, and so does a retry that fails again.

Why WhatsApp messages fail: the error codes that matter

These are the failures you will see most often on campaign sends, and whether trying again later can fix them.

Error codeWhat it meansWill a later retry help?
131049Meta held back a marketing message because this person has already received many from businessesYes, this is temporary
131026Message undeliverable: the number isn't on WhatsApp, the person hasn't accepted WhatsApp's latest terms, or is on an old app versionSometimes, if the person updates or accepts the terms
130429You hit your throughput (messages per second) limitYes
131048Spam rate limit: too many recent messages from your number were blocked or reportedYes, once the limit lifts. Also fix what people are reporting
131056Too many messages to the same person in a short timeYes
132015Your template was paused for low qualityYes, after Meta unpauses it, which takes a few hours
131050The person stopped marketing messages from your businessNo. Never resend
132000, 132001, 132012Template problem: wrong number of variables, template doesn't exist, or a variable in the wrong formatNo. Fix the template first

Look at your own failures before changing anything. If most are 131049, your list is fine and you need retries. If most are 131026, your list has numbers that aren't on WhatsApp. If you see 131048, people are blocking or reporting you, and that is a content and targeting problem.

The biggest cause: Meta's limit on marketing messages per person

Error 131049 deserves its own section, because for most businesses sending marketing templates in India it is the largest single reason messages fail.

Meta limits how many marketing template messages one person receives from businesses within a period. The point is to stop people being flooded with offers. If the person you are messaging has already received several marketing messages from other businesses, Meta may simply not deliver yours, and you get 131049 back.

Three things follow from how this works:

  1. It is not about you. Your number, template and quality rating can all be fine. The person's inbox was busy with other businesses.
  2. It clears with time. The same message sent hours or a day later often goes through. Meta's guidance is not to resend straight away. An immediate resend usually fails again.
  3. It only applies to marketing templates. Utility templates, such as order updates, reminders and appointment confirmations, are not held back this way. If a message is genuinely transactional, categorise it as utility. Meta reviews the category, so this doesn't work for an offer dressed up as an update.

That is why spaced retries are the most effective single fix for a low delivery rate. You don't need a better list or a different template. You need to send again when the person's limit has reset.

9 ways to increase your WhatsApp delivery rate

1. Message people who opted in

Meta requires opt-in for marketing messages, and it shows in delivery. People who contacted you, filled in your form or bought from you receive and open your messages. Purchased or scraped lists fill up with 131026 failures and drag your quality rating down. A smaller list of people who asked to hear from you beats a big list of strangers on every metric.

2. Keep numbers in full international format

A number saved as 98765 43210 or 098765 43210 has to become 919876543210 (country code, no plus sign, no leading zero) before Meta can deliver to it. Inconsistent formatting is a quiet source of failures in lists imported from spreadsheets. Clean the column before you import it. Salesvora normalises Indian numbers on send, so 10-digit numbers get the 91 prefix automatically.

3. Remove opted-out and dead numbers

Anyone who replied STOP or blocked you should never get another campaign. Resending to them hurts your quality rating and is against Meta's rules. Numbers that fail with 131026 on every campaign are almost certainly not on WhatsApp, so stop paying attention to them.

4. Send fewer marketing messages to the same person

Because of the per-person marketing limit, frequency matters. Five offers a week to the same list produces more 131049s and more blocks than one good offer. Segment instead: send the course offer to people who asked about courses, and the reorder reminder to past buyers.

5. Use the right template category

Order confirmations, payment reminders, appointment reminders and delivery updates are utility templates. They are cheaper (about ₹0.12 in India versus about ₹0.86 for marketing, as of October 2026, paid to Meta) and are not subject to the marketing cap. Only use the marketing category for messages that actually promote something.

6. Keep your quality rating green

Meta rates your number Green, Yellow or Red based on how people react to your messages, mainly blocks and reports. A falling rating can lower your messaging limit and get templates paused (132015). Check it in WhatsApp Manager before big sends. The usual causes are messaging people who didn't ask, sending too often, or templates that read like spam.

7. Stay within your messaging limit

Each WhatsApp number has a daily limit on how many different people you can start conversations with, and it rises as you send good-quality messages. If your list is bigger than your limit, the extra messages fail. Split a large campaign across days, or schedule it. Salesvora shows your current tier and quality rating on the campaign send screen and warns you when your list is bigger than your limit.

8. Write templates people don't report

A template that gets reported damages every campaign after it. Name your business in the first line, make the message relevant to why the person is on your list, and give a clear way to opt out. Personalise with the person's name so it reads like a message, not a blast.

9. Retry failed messages, with a gap

This recovers the temporary failures (131049, rate limits, paused templates) that the first eight steps can't prevent. Done by hand, it means exporting the failed numbers, waiting, rebuilding the audience and sending again, three times over. Few teams actually do it. That is why we built it into Salesvora campaigns.

Should you resend failed WhatsApp messages?

Yes, but only the right ones, and not immediately.

Resend: temporary failures. That means the marketing cap (131049), rate limits (130429, 131048, 131056), paused templates (132015), and Meta-side errors.

Never resend: people who stopped your marketing messages (131050), people who replied STOP, and anyone you have since marked as junk or deleted.

Don't bother resending: invalid numbers and template errors. They fail the same way every time until you fix the number or the template.

Wait between attempts. A resend minutes later hits the same limit. A gap of hours, then a day, then two days gives each attempt a fresh chance. Stop after a few tries, because a message that failed three times across four days is not going to arrive.

How Salesvora retries failed campaign messages for you

When you set up a WhatsApp campaign in Salesvora, there is a checkbox under the message: Retry failed deliveries. Tick it, and here is what happens:

  1. The campaign sends as normal. Some messages fail at once and some come back as failed a few minutes later. Salesvora records both, with Meta's error code.
  2. 12 hours later, everyone the message didn't reach gets it again.
  3. 24 hours after that, anyone still not reached gets a second retry.
  4. 48 hours after that, a third and final retry.

The gaps get longer on purpose. Each wait gives the per-person marketing limit time to reset, which an immediate resend never does. If nobody is left to retry, the retries stop early.

What it skips, automatically:

  • People who opted out or replied STOP, and leads you have deleted or marked as junk since the send
  • Permanent failures: invalid numbers, "stopped marketing messages" (131050) and template errors
  • Anyone who has already replied

Each successful retry is saved in the lead's chat like any other campaign message. If the campaign moves recipients to a new lead status after sending, retried recipients move too.

You can see it working. On the History tab, each campaign shows which retry it is on and when the next one runs, and you can stop retries at any time. The Performance tab updates after every retry and shows how many deliveries the retries recovered, so you can see what the option did for each campaign. Messages that never arrived are not counted as sent, and never get credit for a reply or a sale.

It costs nothing extra. Meta doesn't bill failed messages, and retries don't count as an extra campaign against your monthly limit. You pay Meta's normal rate only for retries that are delivered.

Depending on why your messages were failing, retries can raise a campaign's delivery rate up to around 90%. How much you gain depends on your failure mix. Lists where most failures are 131049 improve the most. Lists full of numbers that aren't on WhatsApp improve the least, because no retry can fix a number that isn't there.

What retries can't fix

To be clear about the limits:

  • Numbers that aren't on WhatsApp fail every time. Clean your list.
  • A low quality rating caps you before retries can help. Fix what people are reporting.
  • A messaging limit smaller than your list still applies on every retry. Split or schedule large sends.
  • A broken template fails the same way on every attempt. Fix the variables first.

Checklist before your next campaign

  • List is people who opted in, with numbers in full international format
  • Opted-out and junk contacts excluded
  • Template category is right (utility for updates, marketing for offers)
  • Quality rating is green and the list fits your messaging limit
  • Message names your business and is relevant to this audience
  • Retry failed deliveries is ticked
  • After the retries finish, check delivery, read, reply and conversion per template on the Performance tab

Get started

WhatsApp campaigns with automatic retries are on Salesvora Pro (₹499/month for up to 5 team members, 4 campaigns a month) and Max (₹999/month for up to 15, unlimited campaigns), both with a 14-day free trial. Meta bills your own WhatsApp Business account directly, and Salesvora adds no markup. Start free or see how WhatsApp CRM works.

Related reading: Best WhatsApp-integrated CRM in India · WhatsApp Business is not a CRM · Follow-up strategy that closes more deals

Frequently Asked Questions

How do I increase my WhatsApp message delivery rate?

Message only people who opted in, keep phone numbers in full international format, send fewer marketing templates per person, keep your quality rating green, and resend failed messages after a gap instead of giving up on them. The biggest single cause of failed campaign messages is Meta's per-person limit on marketing messages (error 131049), which clears with time, so spaced retries recover a large share of those failures. Salesvora's 'Retry failed deliveries' option does this automatically after 12, 24 and 48 hours.

Why are my WhatsApp Business API messages not delivered?

The common reasons are: Meta held the message back because the person already received many marketing messages (131049), the number cannot receive it because it is not on WhatsApp, the person has not accepted WhatsApp's latest terms or is on an old app version (131026), the person stopped marketing messages from you (131050), you hit a rate limit (130429, 131048, 131056), or the template was paused for low quality (132015). The error code on each failed message tells you which one it was.

What does WhatsApp error 131049 mean?

Error 131049 means Meta chose not to deliver a marketing template to keep the person's experience healthy. Meta limits how many marketing messages one person receives from businesses in a period, so if they have already had several, yours is held back. It is temporary: Meta's guidance is not to resend straight away, but the same message sent later often goes through.

Should I resend failed WhatsApp messages?

Yes, for temporary failures, and with a gap. Resending immediately usually fails again, especially for 131049. Resending after several hours, then a day, then two days, recovers messages that failed for temporary reasons. Do not resend to people who opted out (131050) or to numbers that are invalid. Those failures are permanent.

Does Meta charge for WhatsApp messages that fail?

No. Meta charges for template messages when they are delivered, so a message that fails is not billed. That means retrying a failed message costs nothing unless the retry is delivered, and then you pay the normal rate for one delivered message.

What is a good WhatsApp delivery rate?

Meta does not publish an official benchmark. Delivery depends mostly on your list: people who messaged you recently and opted in receive far more reliably than an old or imported list. Measure delivery rate per template as delivered divided by sent, track it over time, and look at the error codes of the failures to see what is fixable.

Which WhatsApp CRM retries failed campaign messages automatically?

Salesvora has a 'Retry failed deliveries' option on every WhatsApp campaign. Anyone the message did not reach gets it again 12 hours later, then 24 hours after that, then 48 hours after that. Opted-out numbers and permanent errors are skipped, and the Performance tab shows how many deliveries the retries recovered. WhatsApp campaigns are on Pro (₹499/month, 4 campaigns a month) and Max (₹999/month, unlimited).

Related Articles

Best CRM for Dealers and Distributors in India (2026): WhatsApp Orders, Price Lists and Payment Follow-ups

How dealers and distributors run retailer orders, price-list broadcasts and payment follow-ups on one WhatsApp CRM, with prices in ₹ as of October 2026.

Best CRM for IndiaMART Leads (2026): Auto-Import, WhatsApp Reply and Call Tracking, with Prices

How to stop losing IndiaMART buy-leads: what a CRM for IndiaMART sellers should do, how the IndiaMART API works, and what it costs (October 2026).

Best WhatsApp CRM for Manufacturers in India (2026): Features, Prices in ₹ and WhatsApp Charges

What a manufacturer needs from a WhatsApp CRM: IndiaMART leads, auto-reply, call tracking and dealer broadcasts, with prices in ₹ as of October 2026.

Stop losing leads to missed calls and forgotten follow-ups

Free plan for one user. Call tracking on every plan. No credit card.