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