Broadcast Campaigns & High-Throughput Delivery
The high-volume outbound messaging engine. Target consent-verified audiences with pre-approved Meta message templates, map dynamic personalization variables ({{1}}), schedule deliveries, and track live read and delivery rates.
1. Purpose of the Page
Broadcast Campaigns enable marketing, sales, and operations teams to deliver personalized notifications to thousands of opted-in customers simultaneously. Powered by BullMQ and Redis token-bucket rate limiters (80 msgs/sec), it ensures full compliance with Meta WhatsApp Cloud API throughput ceilings while preventing account tier penalties or delivery drops.
2. Who Uses It (Target Roles)
Orchestrates seasonal promotional announcements, product launches, and discount broadcasts.
Schedules bulk transactional alerts, system maintenance notices, and urgent customer advisories.
Analyzes read-rate telemetry and delivery SLA percentages to optimize messaging engagement.
Interactive Visual Preview
Hello Aarav Mehta, celebrate this festive season with an exclusive 25% discount using promo code DIWALI25!
3. Step-by-Step: Creating and Launching a Broadcast
- Choose an Approved Template: Select any template in
APPROVEDstatus from the dropdown. NotifyIQ synchronizes approved templates directly from your Meta WABA account. - Configure Dynamic Variables: If the template contains parameter placeholders like
{{1}}, map them to dynamic attributes (such as{{name}}for individual recipient names) or supply static values. - Select Eligible Recipients: The recipient table displays only contacts where
consentGiven === trueandoptedOut !== true. Click Select All or check specific contacts. - Choose Dispatch Mode: Select Instant for immediate queue ingestion, or choose Scheduled to set a future date and time per your marketing calendar.
- Launch Broadcast: Click Launch Broadcast. BullMQ will ingest the jobs, dispatch at 80 msgs/sec, and update real-time telemetry counters as delivery receipts arrive.
4. Fields & Controls Reference
| Field / Setting | Type | Meta Constraint | Description |
|---|---|---|---|
| Template Name | Dropdown | Status: APPROVED | Pre-registered Meta template to be sent. Unapproved or rejected templates cannot be selected. |
| Header Media URL | Input URL | HTTPS image/video/doc | Publicly accessible CDN link rendered as the visual header of the WhatsApp message. |
| Body Parameters | Key-Value Inputs | Array of strings | Values replacing {{1}}, {{2}} in the template body text per recipient. |
| Dispatch Mode | Radio Buttons | Instant / Scheduled | Determines whether messages are dispatched immediately or delayed until a timestamp. |
| Delivered SLA | Stat Counter | status === 'delivered' | Number of messages confirmed reached by the recipient's handset via webhook receipt. |
5. Behind the Scenes: Queue Architecture & Rate Limits
When a broadcast is submitted, the backend routes the request through POST /api/messages/campaigns/launch:
- BullMQ Redis Queue: Jobs are broken down into individual dispatch tasks in the Redis queue to ensure horizontal scalability without blocking Node.js event loops.
- 80 Messages / Second Token Bucket: Meta Cloud API limits standard phone number tiers to 80 requests/second. NotifyIQ uses a Redis Lua token bucket to strictly enforce this throughput ceiling, preventing HTTP 429 rate limit exceptions.
- Meta Graph API v20.0 Payload: The worker dispatches to
POST /v20.0/{phone_number_id}/messageswithtype: 'template'and the interpolated components array.
6. Common Errors & FAQs
Dispatches usually fail if the destination phone number is no longer active on WhatsApp, if the country code is missing, or if the template parameter count does not match the approved template schema.
No. NotifyIQ strictly requires DPDP-compliant consent. Unsolicited marketing violates WhatsApp Business Messaging Policy and Meta Platform Terms, risking account suspension.