What is template pacing?
Template pacing is a safeguard Meta applies to marketing and utility templates that have no track record yet. When a business sends at volume on a newly created template, a template that has just been unpaused, or one without a GREEN quality rating, WhatsApp delivers messages normally up to a threshold it does not publish, then holds the rest while it watches how the first recipients react.
The hold is visible in the send response. Each messages object returned by POST /{PHONE_NUMBER_ID}/messages carries a message_status: accepted means the message is going out normally, while held_for_quality_assessment means it is waiting. If feedback is good, held messages are released, later sends scale to the whole audience and a message_template_quality_update webhook reports the quality. If feedback is poor, the template is set to PAUSED and every held message is dropped with a failed status and error 132015.
Pacing is not the same as template pausing. Pausing stops every send on a template whose quality has already fallen to low; pacing is the earlier, partial brake that decides whether a new template earns full reach. Utility templates are only paced after one of your utility templates has been paused, for a 7-day eligibility period, while marketing templates can be paced whenever they are new or unproven.
Key takeaways
- Template pacing is Meta sending only part of a new or unproven template's volume and holding the rest until early feedback arrives.
- Held messages return
message_status: held_for_quality_assessmentin the send response instead ofaccepted. - Good feedback releases the held messages; poor feedback pauses the template and fails each held message with error 132015.
- Utility templates are paced only within 7 days of one of your utility templates being paused; marketing templates whenever unproven.
Figure 1
Watch a paced campaign pile up behind the hold
4.8× slow motionService time S = 400 ms per job on average · 4 workers
Queue diagram: 12 messages waiting, 4 of 4 workers busy, 7 done, 1 dropped: 132015.
- Backlog
- ∞
- grows without bound
- Throughput
- 10/s
- 8.5/s done · 1.5/s dropped: 132015
- Average wait
- ∞
- keeps growing
- Utilisation ρ
- 1.2
- ≈ 4 of 4 busy
ρ = λ × S ÷ c = 12/s × 400 ms ÷ 4 = 1.2
Utilisation is at or above 1: the backlog grows without bound.
Why it matters
Why does template pacing matter?
Pacing changes how a launch-day campaign behaves. A brand that sends to two lakh customers on a template approved an hour earlier may see a first slice go out at once and the rest wait — and if those first readers block or report it, the whole held remainder is dropped and the template is paused. Planning for pacing means warming new templates on smaller, engaged audiences, reading message_status instead of assuming every accepted request was sent, and keeping time-critical announcements on templates that already have a quality history.Example: A festive launch in Surat
A Surat saree retailer creates a new festive-offer marketing template on the morning of a sale and queues it to 60,000 opted-in customers. The first few thousand send responses come back accepted; the rest return held_for_quality_assessment. Because the audience is recent buyers who engage, feedback is good and the held messages go out within the hour. A month later the team sends a hastily written template to a list of lapsed contacts: early recipients block it, the template is paused and the held messages fail with 132015. The team writes a new template and warms it on last month's buyers first.
How does template pacing work?
A new or unproven template is sent at volume
Pacing can apply to marketing and utility templates that are newly created, recently unpaused or not rated
GREEN. Meta does not publish the volume at which it starts.The first slice goes out
Messages up to the threshold return
message_status: acceptedand are sent normally, producing the usualsent,deliveredandreadstatus webhooks.The remainder is held
Further messages on that template return
held_for_quality_assessmentand wait. Nosentwebhook arrives for them while they are held.Meta reads the early feedback
Blocks, reports and engagement from the first recipients decide the template's quality. Meta keeps internal guardrails so a decision comes within a reasonable time, and releases held messages normally if a guardrail is reached before enough feedback arrives.
Release or drop
Good feedback releases the held messages and lifts pacing for later sends. Poor feedback pauses the template, fails each held message with
132015, and alerts the WABA's admins by Business Suite notification, WhatsApp Manager banner and email.
Template pacing in code
{"messaging_product": "whatsapp","contacts": [{ "input": "919812345678", "wa_id": "919812345678" }],"messages": [{"id": "wamid.HBgMOTE5ODEyMzQ1Njc4FQIAERgSQzVBNjE3RDlGQjM0MkE0RTk2AA==","message_status": "held_for_quality_assessment"}]}
A 200 response with a wamid, but the message is waiting. `accepted` would mean it is being sent normally.
Common mistakes with template pacing
Counting accepted requests as sent
A 200 response with a
wamiddoes not mean the message went out. Readmessage_status, and report held messages separately until asentwebhook arrives.Launching time-critical sends on brand-new templates
A flash sale on a template created that morning may be held exactly when timing matters. Create and warm such templates days ahead, or reuse one that already has a quality history.
Warming a template on the coldest list
Pacing judges a template by its first recipients. Sending first to lapsed contacts invites blocks and a pause; start with recent, engaged, opted-in customers.
Waiting for a pacing pause to lift by itself
A template paused during pacing must be unpaused manually before it can be used again. Resending before that only produces more failures.
Template Pacing FAQs
- Does pacing mean my template was rejected?
- No. The template is approved and the held messages are queued, not refused. They are released after good feedback, or dropped if the template is paused.
- Am I charged for held messages?
- Billing is per delivered message. A held message that is later dropped is never delivered, so it is not billed; one that is released and delivered is billed at its category rate.
- How is pacing different from throughput limits?
- Throughput caps how many messages per second a phone number can send, whatever the template. Pacing is per template and depends on early customer feedback, not on send speed.
- Can I turn pacing off?
- No. Meta applies it automatically. You can reduce its impact by warming new templates on engaged audiences and scheduling launches with time to spare.
Best practices for template pacing
- Split big launches: send to your most engaged segment first and the rest an hour or two later.
- Alert on a rising share of
held_for_quality_assessmentresponses; it is the earliest sign a template is under assessment. - Subscribe to
message_template_quality_updateandmessage_template_status_updateso a release or a pause reaches your campaign tool automatically. - Keep a proven fallback template for each critical use case.