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, or a paused template. 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.
  • 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, billing, 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.

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.

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.