Skip to main content
After you launch a campaign, every recipient moves through WhatsApp’s delivery statuses, and some messages fail for reasons on Meta’s side. This page explains what you see on the campaign page, what Popcorn does about temporary failures, and how it protects your account from sending to numbers that cannot be reached. It applies to both campaigns and automated campaigns.

Message statuses

The campaign page shows a card for each status and a Recipients table you can filter with its Status selector: All recipients, Sent, Delivered, Queued, Couldn’t deliver, Retrying and, on a stopped campaign, Not sent. The campaign list shows a Delivery rate, which is delivered ÷ sent, and a Read rate, which is read ÷ delivered. A status only ever moves forward: a late “sent” update never overwrites a “delivered” one.

WhatsApp daily limits

Meta gives each WhatsApp business portfolio a limit on how many different customers you can start conversations with in a rolling 24-hour window: 250, 1,000, 2,000, 10,000, 100,000 or unlimited. Popcorn reads the limit from Meta and refreshes it daily. You can see it in the Message limit column under Integrations → WhatsApp → Account, and beside each number in the campaign form. It shows Syncing with Meta right after connecting, or Limit unavailable if Meta could not be reached. How the limit affects campaigns:
  • Popcorn keeps 10% of the limit free for one-to-one messages and uses the remaining 90% for campaigns.
  • When your audience is larger than that, the When panel of the campaign form says the campaign exceeds the daily WhatsApp limit and roughly how many days it will take. Messages beyond the limit stay Queued and go out as the window frees up. The campaign keeps running until everyone has been messaged.
  • If the limit has not synced yet, sending waits for up to an hour. If Meta still has not returned a limit after that, the remaining messages are marked as failed rather than sent blind. Fix the connection under Integrations and see Channel troubleshooting.
  • A campaign cannot start, resume or retry while its sender needs attention, for example a number that needs to be reconnected. Reconnect it, or choose another number.

Why messages fail

Click Couldn’t deliver to open Why some messages didn’t deliver: “Messages that didn’t reach customers, grouped by cause.” It shows the totals for Couldn’t deliver and Recipients, and each group has an explanation, steps to take and the error code. Groups that need you to act are tagged Needs you. Show contacts lists the affected customers, and Export all downloads them. Automated campaigns add two “not sent” reasons for events that never produced a message; see Automated campaigns. For one-to-one messages in the Inbox, a failed message shows the Meta error number with a short explanation and what you can do.

Automatic retries

Some Meta errors are temporary: the per-user marketing limit, “sending too quickly”, a spam-rate restriction, a Meta experiment on the recipient’s number, a per-recipient rate limit, a temporarily locked account, a paused template, or a payment problem on your WhatsApp Business account. When WhatsApp rejects a message with one of these, Popcorn marks the recipient Retrying and tries again, up to four times:
  • Per-user marketing limit: once a day, up to four days.
  • Paused template: after 4 hours, 4 hours, 24 hours and 24 hours.
  • Payment problem: every hour. While Meta keeps refusing payment, waiting messages don’t use up these attempts; see When Meta refuses payment.
  • Other temporary errors: after 1 hour, then 24, 48 and 72 hours.
Retries send the same message with the original content, and they are never charged a second time. A message that WhatsApp already accepted is never sent again, even if Popcorn lost the confirmation. Retries follow the campaign’s state:
  • Paused: the retry waits and checks every hour. If the campaign stays paused for seven days, the retry gives up and the recipient is marked as failed.
  • Stopped or Completed: outstanding retries are cancelled.
Permanent errors (unknown number, opt-out, template mismatch) are never retried.

Paused templates

WhatsApp pauses a template when too many recipients block or report it: for 3 hours the first time and 6 hours the second, after which it resumes by itself. A third time, it disables the template for good. While a template is Paused, a campaign does not send it. Popcorn holds those messages and checks again every hour, up to 8 times, so the pause can run its course. A message that still hits the pause after that goes to the retry schedule above. A Disabled template cannot be sent at all: switch the campaign to another template. See Templates.

When Meta refuses payment

If your WhatsApp Business account has a payment problem in Meta billing, Meta refuses every message it would charge you for. From the first refused message, Popcorn holds campaign and automated campaign messages from every number on that account instead of letting them fail:
  • A one-time campaign keeps its unsent messages Queued, and messages Meta already refused show Retrying. Popcorn looks again every hour, and a held message keeps its retry attempts.
  • Each hour, one message per WhatsApp Business account goes to Meta as a check. Once Meta accepts and bills a message again, the waiting messages go out on their next hourly look. You don’t need to resume anything.
  • Messages are held for up to seven days after the problem began. After that they go to Meta again, and messages Meta still refuses end in Couldn’t deliver under Payment issues.
Popcorn also shows Meta is refusing your WhatsApp messages with Open Meta billing, and the number’s status reads Meta payment problem. Fix the payment method or pay the balance there; see Channel troubleshooting.

Unreachable contacts

If WhatsApp reports “message undeliverable” for the same customer on two marketing messages in a row, Popcorn stops including that customer in marketing campaigns. Sending to numbers WhatsApp cannot reach wastes credits and hurts your number’s quality rating. What happens:
  • The customer’s profile under Customers shows the banner Campaigns are paused for this customer.
  • The audience count, the credit estimate and the launch audience of campaigns that use a Marketing template leave the customer out.
  • Automated campaigns with a Marketing template skip the customer. Utility and Authentication templates still go through.
  • One-to-one conversations in the Inbox are not affected.
The pause lifts by itself when the customer sends you a WhatsApp message, or when you change their phone number. To lift it yourself, open the customer’s profile and click Re-enable campaigns; the banner goes away and the customer is back in your audiences immediately. A successful delivery in between resets the failure count, so two undeliverable failures separated by a delivered message do not pause the contact.

Unsubscribes

A customer unsubscribes from your campaigns by asking your agent to stop (with Let customers opt out on) or by tapping Stop on your marketing messages in WhatsApp. Popcorn counts it against the last campaign message the customer received in the 7 days before, on that campaign’s Unsubscribed figure. Each customer counts once per campaign, and an opt-out with no campaign message in the week before counts against no campaign. A customer who comes back later stays counted. If WhatsApp refuses a marketing message because the customer had already tapped Stop, Popcorn marks them unsubscribed too, without counting it against the campaign. What else changes for an unsubscribed customer is on Customers.

Credits and failed messages

  • One-time campaigns reserve credits when you send or schedule: 1 credit per 10 recipients, rounded up, based on the contacts matching your conditions at that moment, with unreachable contacts left out for Marketing templates. When the campaign is stopped or completes, credits for recipients who were never sent a message are returned to your balance.
  • Automated campaigns do not reserve. Each message costs 1 credit per 5 messages, checked and charged as it is sent. If the balance is empty the message is not sent and the event is not retried.
  • Credits used counts credits for delivered messages. Failed messages are not charged, and a retry reuses the original charge.
You can see every reservation, deduction and refund by campaign name under Plan and billing → Credit usage; see Credit usage.