Home/Help Center/Pacing and daily limit

Broadcasts

Pacing, Daily Limit Budget and Auto-Resume

How the per-number send rate adapts to your quality rating, how the daily messaging limit is tracked across your whole portfolio.

By Chirag Darji · Updated 27 Aug 2026 · 8 min read

On this page
  1. Before you start
  2. Steps
  3. What you will see
  4. How does the sending rate adapt to my number's condition?
  5. Why is the daily limit shared across my whole portfolio?
  6. Settings and options
  7. Troubleshooting
  8. Does pacing apply to anything besides broadcasts?
  9. Related reading
Broadcast delivery settings in VGraple CRM: quiet hours and marketing frequency cap

VGraple CRM sends every broadcast through an automatic pacer that stays below Meta's throughput ceiling and tracks your portfolio's rolling 24-hour messaging limit in real time, so a large campaign slows itself down or parks itself before Meta starts rejecting sends. Neither of these requires any setup; they run the same way on every campaign, on every plan.

Pacing and daily limit

  1. 1Check your daily headroom before a large
  2. 2Decide whether to auto-continue if the limit
  3. 3Send the campaign and let pacing run
  4. 4Watch the campaign detail page if a
  5. 5Check your quality rating if sending feels
The steps on this page, in order.

Before you start

  • No configuration is required; pacing and the daily limit budget are automatic defaults, not settings you turn on.
  • Know your number's current quality rating (Green, Yellow or Red) in Settings, Channels, since it directly determines your effective sending rate.
  • Understand that the daily limit applies to your whole business portfolio, not just the number sending this particular campaign, if you run more than one WhatsApp number under the same Meta business.

Steps

  1. Check your daily headroom before a large send. On the Review & Send step of any broadcast, look at the Daily limit left line. It shows the exact remaining headroom, for example "8,200 of 10,000," calculated from unique recipients your portfolio has actually started template conversations with in the trailing 24 hours.

WhatsApp broadcast campaign report in VGraple CRM with delivered, read and replied stats per contact

  1. Decide whether to auto-continue if the limit runs out mid-send. On the Schedule step, the checkbox "Continue tomorrow if the daily limit runs out" is on by default. Leave it on for most campaigns; the remaining recipients will be sent automatically once the rolling window reopens.

  2. Send the campaign and let pacing run automatically. No action is needed here. The token-bucket pacer for your channel checks capacity before every batch and waits if needed, invisibly, whether the campaign is a broadcast, a sequence step, or a flow send.

  3. Watch the campaign detail page if a park happens. If the daily budget runs out, the campaign's status changes and a message appears at the top of the detail page stating the reason and, when relevant, when it will resume. See broadcast paused reasons for the full list of what can trigger this.

  4. Check your quality rating if sending feels slower than expected. Go to Settings, Channels, and check the WhatsApp number's quality rating. YELLOW or RED both reduce the pacer's ceiling automatically; there is no manual override to force a faster rate on a degraded number, because sending slower is what gives the rating a chance to recover.

What you will see

A large campaign on a healthy (GREEN) number sends at up to 50 messages a second; you will see the funnel on the detail page fill in quickly. On a YELLOW or RED number, the same campaign visibly takes longer, and if the daily portfolio budget runs out partway through, the campaign's status changes to Scheduled (if auto-continue is on, with a resume time shown) or the remaining recipients show as skipped_quota (if auto-continue is off).

How does the sending rate adapt to my number's condition?

Meta allows roughly 80 messages a second per number on the Cloud API, and answers error 130429 above that. VGraple CRM's default of 50/s stays comfortably under that ceiling so a short burst, for example a batch of retries, never trips a hard limit. The ceiling then adjusts to your number's real condition: a YELLOW quality rating halves it to 25/s, RED cuts it to 5/s, and a coexistence number (one you also use in the WhatsApp Business app on your phone) is capped at 4/s regardless of quality, since Meta's own ceiling for coexistence numbers is far lower than a Cloud API-only number's.

If Meta itself pushes back mid-send with a 130429 throughput error, the pacer halves its rate immediately for the rest of that campaign and does not automatically recover to full speed. Recovery is deliberate rather than automatic on purpose: a campaign that has already tripped the limit once finishing the rest of its run slower is what actually protects the number, rather than immediately testing the same ceiling again on the next batch.

Why is the daily limit shared across my whole portfolio?

Since a 2024 change to Meta's policy, the messaging-tier limit (from TIER_50's 50 unique recipients up to TIER_100K's 100,000) applies to your entire WhatsApp Business portfolio, meaning every phone number under the same Meta business shares one rolling 24-hour budget, not one limit per number. VGraple CRM counts unique contacts your portfolio has actually started template conversations with in the trailing 24 hours, live, across every channel that shares the portfolio, and checks the remaining headroom before letting a campaign continue.

This is why two campaigns from two different numbers under the same business can compete for the same daily budget, and why VGraple CRM's tracking is portfolio-wide by design rather than per number. Without this, a business running a big campaign on Number A could unknowingly starve Number B's smaller, time-sensitive send of headroom, and neither campaign's owner would understand why.

Settings and options

SettingWhat it doesDefault
Sending rate (per number)Messages per second the pacer allows50/s (GREEN), 25/s (YELLOW), 5/s (RED), 4/s (coexistence)
Daily portfolio budgetUnique recipients allowed per rolling 24 hours, shared across all numbers in the portfolioSet by Meta's assigned messaging tier
Continue tomorrow if the daily limit runs outAuto-resumes a parked campaign when the rolling window reopensOn
Throughput backoff (130429)Halves the sending rate for the rest of the campaign's run when Meta signals too-fast sendingAutomatic, no manual recovery

Troubleshooting

SymptomLikely causeFix
Campaign is sending noticeably slower than expectedThe number's quality rating is YELLOW or RED, halving or cutting the pacing rateCheck Settings, Channels for the current quality rating; sending slower is intentional and helps the rating recover
Campaign paused with "over your daily messaging limit"The portfolio's rolling 24-hour budget ran out mid-sendIf auto-continue is on, it resumes automatically at the stated time; otherwise resume it manually from the Broadcasts page once headroom returns
Remaining recipients show status skipped_quota instead of resumingAuto-continue was turned off for this campaignThis is expected behavior for that setting; use Retry to attempt them again once headroom is available
Sending suddenly slowed mid-campaign with no quality change visibleMeta returned a 130429 throughput warning and the pacer halved its rate for the rest of the runExpected and intentional; the rate does not recover automatically within the same campaign
Two campaigns on different numbers both seem limited by the same daily budgetBoth numbers belong to the same Meta business portfolio, which shares one daily budgetExpected since 2024's Meta policy change; plan large sends across numbers with the shared budget in mind

Does pacing apply to anything besides broadcasts?

Yes. The same token-bucket pacer, and the same daily portfolio budget tracking, sit underneath every template send path in the product, not only broadcasts. A sequence step, a chatbot flow sending a template, and an automation rule all pass through the identical pacing and budget checks a broadcast does, since the number itself does not know or care whether a message came from a bulk campaign or a single automated step, Meta's throughput ceiling and the daily recipient limit apply the same way regardless of source. This is why a large broadcast and a busy day of sequence-driven messages compete for the same daily headroom, and why protecting the number requires this logic to live in one shared place rather than being reimplemented separately for each feature that can send a template.

See every reason a broadcast can pause itself for the full list beyond pacing and the daily limit, and understanding and recovering your phone number quality rating for how the rating that drives pacing is calculated.

Frequently asked questions

How fast does VGraple CRM send a broadcast by default?
50 messages a second per number, deliberately below Meta's roughly 80/s ceiling so a short burst never trips a hard rate limit. A YELLOW quality rating halves it to 25/s, RED cuts it to 5/s, and a coexistence number (also used in the WhatsApp Business app) is capped at 4/s regardless of quality.
What happens if Meta itself says I am sending too fast?
Error 130429 means the number exceeded its throughput. The pacer halves its rate immediately for the rest of that campaign's run and does not automatically recover to full speed, since a number that has already tripped the limit once should finish slower rather than immediately testing the same ceiling again.
What is the daily messaging limit, exactly?
A count of unique people your whole WhatsApp Business portfolio, every number under the same business, can start a template conversation with in a rolling 24 hours. Meta assigns a messaging tier (from 50 to 100,000 unique recipients) and can raise it as your sending history builds trust.
Is the daily limit per number or per business?
Per business portfolio since 2024's Meta policy change, not per individual number. Two campaigns sending from two different numbers under the same business draw from the same shared daily budget.
What happens when a campaign runs out of daily headroom mid-send?
It parks itself with a resume time set to the moment the rolling 24-hour window reopens, and continues automatically from there with no manual restart, unless you turned off "Continue tomorrow if the daily limit runs out," in which case the remaining recipients are marked skipped_quota instead.
Can I see how much daily headroom I have left before sending?
Yes, the Review & Send step shows "Daily limit left" as a live count, for example "8,200 of 10,000 remaining," calculated from your portfolio's actual usage in the trailing 24 hours.
Does pacing slow down small campaigns too?
No noticeably. Pacing only becomes visible on campaigns large enough that the sending rate is the bottleneck; a campaign to a few dozen contacts finishes in seconds regardless of the per-second ceiling.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.