Home/Blog/Why WhatsApp Marketing Messages Arrive Late: Pacing, MM Lite, Holds and Limits Explained (2026)

Guide

Why WhatsApp Marketing Messages Arrive Late: Pacing, MM Lite, Holds and Limits Explained (2026)

Your broadcast is sent but recipients get it an hour later, or in waves.

By Chirag Darji · Updated 28 Aug 2026 · 6 min read

On this page
  1. The four sender-side layers
  2. Recipient-side delays are different
  3. Layer one: Meta's template pacing
  4. Layer two: the Marketing Messages API
  5. Layer three: limits
  6. Layer four: your tool's pacing and holds
  7. Reading the report
  8. A timeline of a normal large send
  9. What to do, and what not to do
A WhatsApp broadcast report in VGraple CRM with the delivery funnel from audience to read, the reason each send failed, attributed revenue and cost

Too long? Read this

  • Delays on marketing sends come from four mechanisms: Meta pacing new templates, Meta's optimised delivery via the Marketing Messages API, daily and portfolio limits, and your tool's own pacing and holds
  • None of them is a failure; messages arrive in waves and reports show held states with reasons
  • Recipient-side delays (phone offline) look similar but are different: Sent without Delivered
  • Plan with warm-up, send well within limits, do not resend, and read the report's held reasons before acting

A broadcast to 8,000 people is marked sent at 10 am. By 10:15 only 600 have been delivered; by 11 am, 5,000; by evening, 7,400; and 600 are "held". Nothing is broken. Marketing delivery on WhatsApp in 2026 runs through several layers that each add time, and understanding them is the difference between a calm operator and someone who resends three times and damages the account. This guide explains each layer, how to tell them apart in a report, and what to do.

The four sender-side layers

LayerWho applies itWhat it doesTypical delay
Template pacingMetaDelivers a sample of a new or edited marketing template, watches engagement, releases or pauses the restMinutes to an hour
Optimised delivery (Marketing Messages API)MetaTimes each delivery to the recipient's likely engagement within your windowMinutes to hours, within the window you allow
Messaging limitsMeta, enforced by your toolCaps unique marketing recipients per 24 hours per number and per portfolioUntil the rolling window frees units
Tool pacing and holdsYour toolSends below throughput and holds recipients on Meta signals (131049, 132015, 130429, 135000)Seconds to a day depending on the signal

Recipient-side delays are different

A message that shows one tick (Sent) for a long time has left your tool and Meta; the recipient's phone is offline or WhatsApp is not running. Meta holds it for up to 30 days. A campaign with many Sent-not-Delivered after a day is a stale list, not a delivery problem. Held recipients, by contrast, have not been handed to Meta yet or were refused for now, and show a reason.

An appointment reminder flow in the VGraple CRM builder: wait 24 hours, send a template, wait for the reply, then branch to a human or tag the contact

Layer one: Meta's template pacing

Since 2024 Meta paces marketing templates that are new or recently edited: a portion of recipients receive the message first, Meta observes reads, replies, blocks and reports for a short period, and then either releases the remaining sends or pauses the template (error 132015) if engagement is poor. The purpose is to stop a bad template reaching a whole list. In practice it means the first send of any new template looks slow, and that warming a template on an engaged segment before a large send is the sensible sequence.

Layer two: the Marketing Messages API

Meta's Marketing Messages API (often called MM Lite) is a separate send path for marketing templates through which Meta applies its own delivery optimisation: the message is delivered at a time Meta predicts the person will engage, inside a window you allow, and results can be reported in Ads Manager. Pricing is identical to the Cloud API. VGraple CRM routes eligible marketing sends through it, which is why a campaign started at noon may deliver to some people at 7 pm; the trade-off is control for engagement.

Layer three: limits

Each number, and since October 2025 each Business Portfolio, has a cap on unique marketing recipients per rolling 24 hours (250, 1,000, 10,000, 100,000, unlimited). A list larger than the remaining allowance cannot be sent today; a tool that understands this holds the excess and releases it as units free up, which shows as a campaign that continues over two or three days. Sending anyway would produce failures, not deliveries.

Layer four: your tool's pacing and holds

A well-built sender releases messages to Meta at a controlled rate (VGraple CRM: 50 per second on a green number, 25 on yellow, 5 on red, 4 in coexistence), backs off on rate limits (130429), holds recipients who fail with the per-user cap (131049) for a single retry after a day, pauses on template pauses (132015) until they lift, and treats portfolio pacing (135000) as a temporary hold. Each of these appears in the report as a held recipient with a reason rather than a failure.

Reading the report

What you seeMeaningAction
Delivered climbing in wavesPacing or optimised deliveryNone
A block of recipients held: daily limitLimit reachedNone; they send as the window rolls
Held: paced by MetaTemplate samplingNone; if it turns into 132015, switch templates
Held: recipient capped (131049)Per-user capNone; one retry after a day
Held: template paused (132015)Quality pauseWait or switch the campaign to another template
Failed: 131026Not on WhatsApp or blockedSuppressed automatically
Sent, not delivered, for a dayPhone offlineNone; consider list hygiene

A timeline of a normal large send

10:00 the campaign starts; the tool sends at 50 per second, so 8,000 messages reach Meta within three minutes. 10:03 Meta has delivered about 600 and is pacing the rest because the template was edited yesterday. 10:40 pacing releases; deliveries climb to 5,000 by 11:00. During the morning 1,100 recipients fail with 131049 and are held for a retry tomorrow; 300 fail with 131026 and are suppressed. The daily limit was 10,000 and 8,000 were sent, so nothing is held for the limit. By 18:00, 6,500 are delivered and 4,900 read; 700 remain Sent without Delivered because those phones are offline. Tomorrow at 10:00 the 1,100 capped recipients are retried once and 700 deliver. Final reach: 7,200 of 8,000, with no duplicates and no penalties. Every number in this story is visible on the report as it happens.

What to do, and what not to do

  • Warm up new templates on a small engaged segment before a large send.
  • Schedule big campaigns with room under the daily limit and with a window wide enough for optimised delivery.
  • Read the held reasons before touching anything.
  • Never resend, clone or re-import to "push it through"; duplicates annoy customers and retry penalties slow the account.
  • Keep the quality rating green; pacing is gentler on trusted numbers.

The messages delayed or held and broadcast stuck in sending articles show each state in VGraple CRM; the tiers guide and the frequency cap guide cover the two Meta mechanisms in depth.

Frequently asked questions

My broadcast says sent but people got it an hour later. Why?
Most likely Meta pacing a new or edited marketing template: it delivers a sample first, watches engagement, then releases the rest. Optimised delivery through the Marketing Messages API can also spread sends to each person's best time.
What is MM Lite?
The Marketing Messages API, Meta's endpoint for marketing templates that applies Meta's own delivery optimisation and reports in Ads Manager. Sends routed through it may be timed by Meta within your window.
Why did only part of my list go out?
The daily messaging limit or the portfolio-level limit was reached; the remainder is held and sends as the window rolls.
What does held mean?
Your tool deliberately not sending yet, or pausing after a Meta signal (limit, pacing, 131049, template pause, rate limit) so the recipient is retried at the right time instead of failed.
Should I resend?
No. Resends duplicate messages and, since April 2026, trigger Meta's retry penalties. Let the holds clear.
Is a delay a sign of low quality?
Pacing applies to every new template. A yellow or red rating adds more conservative pacing; a green number with a new template is still paced.
How long can it take?
Pacing holds are usually under an hour; limit holds until the 24-hour window rolls; 131049 retries after a day; template pauses three or six hours.
How do I see what is happening?
In VGraple CRM the broadcast report shows each recipient's state and reason; the campaign resumes automatically.

Chirag Darji

Founder, VGraple CRM

Founder of VGraple CRM and of the VGraple digital agency (Ahmedabad, est. 2011). Builds and operates the platform, runs WhatsApp Business API onboarding for customers, and writes the guides here from first-hand support and product work.

Run your WhatsApp on VGraple CRM

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