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.
- 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.
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.
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.
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.