Message statuses
The campaign page shows one card per status and a Recipients table you can filter with the tabs All, Sent, Delivered, Queued, Failed and Retrying.
Rates on the cards: Delivery Rate is delivered ÷ sent, Read Rate is read ÷ delivered, and Click Rate is recipients who clicked a tracked link ÷ 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 Channels → WhatsApp → Account (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 Send step of the wizard tells you that 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 Channels and see Channel troubleshooting.
Why messages fail
Click Couldn’t deliver to open Why some messages didn’t deliver. Failures are grouped by cause, each with What happened? and What you can do, plus View Failed Contacts and Export CSV.
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 # with a short explanation and What can I 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, or a temporarily locked 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.
- Other temporary errors: after 1 hour, then 24, 48 and 72 hours.
- Paused: the retry waits, checking 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 and those recipients are marked as failed.
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 badge Campaigns suppressed.
- Audience previews, 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.
Credits and failed messages
- Campaigns reserve credits when you launch: 1 credit per 10 recipients, rounded up, based on the contacts matching your audience filters 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.
- The Credits Consumed card counts credits for successfully delivered messages. Failed messages are not charged, and a retry reuses the original charge.