On this page

Symptom
A message shows a single tick (Sent) for a long time without Delivered, or a broadcast report shows recipients in a Held state with a reason such as "daily limit reached", "paced by Meta", "recipient capped (131049)", "template paused (132015)", "rate limited (130429)" or "portfolio pacing (135000)". The campaign's progress bar slows or stops for a while and then continues on its own.
Why it happens
Two different things look alike. Delayed delivery is on the recipient's side: the phone is off, has no data, or WhatsApp is not running; Meta keeps the message for up to 30 days and delivers it when the phone comes back. Held sending is on the sender's side: VGraple CRM has chosen not to hand a message to Meta yet, or has paused after Meta signalled that it would refuse it, so that the recipient is preserved and retried at the right moment instead of failed.

| Held reason | What Meta is doing | When it clears |
|---|---|---|
| Daily limit reached | Your number or portfolio used its unique marketing recipients for the rolling 24 hours | As the window rolls forward |
| Paced by Meta | Meta is sampling engagement on a new or edited marketing template before releasing the rest | Usually under an hour |
| Recipient capped (131049) | The person hit Meta's per-user marketing cap across all businesses | A single retry after 24 hours or more |
| Template paused (132015) | The template's quality dropped and Meta paused it for 3 or 6 hours | When the pause lifts; switch templates if urgent |
| Rate limited (130429) | Sends exceeded the number's throughput | Seconds, with backoff |
| Portfolio pacing (135000) | Meta-side check at Business Portfolio level | Minutes to an hour, with backoff |
Telling the two apart quickly
Open the conversation or the report and look at the state. A single grey tick with no reason is delayed delivery on the recipient's side; VGraple CRM has handed the message to Meta and Meta is waiting for the phone. A Held badge with a reason is on the sending side; the message has not been handed over, or Meta refused it for now and it will be offered again. A red Failed state with an error code is neither; it is a final refusal (wrong number, closed window, invalid template) and is covered by the error guides.
Delayed deliveries pile up on lists that have not been messaged for a long time: numbers that changed hands, phones that were replaced, WhatsApp uninstalled. A campaign with 8 percent Sent-not-Delivered after a day is telling you about the list, not about Meta. Held recipients, by contrast, tend to be a block of the list in one state with one reason, and they move together when the reason clears.
Fix
- Open the broadcast report and read the Held reasons; they tell you which row of the table applies.
- For daily limits, do nothing; the remaining recipients send as the window rolls. Check the channel page for the tier and consider the warm-up plan if the limit is small.
- For Meta pacing, wait; if the template is released, the rest sends automatically. If the template is paused instead, the report changes to 132015.
- For 131049, leave the automatic retry alone; reach the person with a utility message about their own order or booking if it cannot wait.
- For a template pause, either wait for the time shown or switch the campaign to another approved template from the report.
- For single conversations stuck at Sent, check whether the contact's earlier messages were delivered; a number that never delivers is probably not on WhatsApp any more and will fail with 131026 on the next template.
- Do not click resend, clone the campaign, or re-import the list. Duplicates annoy customers, and Meta's retry penalties since April 2026 slow senders that hammer failures.
How VGraple CRM handles it automatically
The broadcast worker paces sends (50 per second on a green number, 25 on yellow, 5 on red, 4 in coexistence), holds recipients on each Meta signal with the reason recorded, backs off exponentially on 130429 and 135000, retries 131049 once after a cooling period, and resumes template pauses when they lift. Held recipients never count as failed and are never billed. Alerts go to owners when a campaign is held for long or when the quality rating moves.
Prevention
- Warm a new number and a new template on an engaged segment before a large send.
- Keep marketing to consenting, recently active contacts; blocks are what turn pacing into pauses.
- Clean the list of numbers that have failed with 131026; suppression does this automatically after the first failure.
- Schedule big campaigns with room before the daily limit and outside quiet hours.
- Watch the quality rating on the channel page; a green number is held far less.
FAQ
See the questions above; for the codes themselves, the 131049, 132015 and 132016, 130429 and 135000 guides go deeper, and broadcast stuck in sending covers the campaign-level view.