Documentation:Broadcast Campaigns

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)

Marketing Directors

Orchestrates seasonal promotional announcements, product launches, and discount broadcasts.

Operations Managers

Schedules bulk transactional alerts, system maintenance notices, and urgent customer advisories.

Growth Specialists

Analyzes read-rate telemetry and delivery SLA percentages to optimize messaging engagement.

Interactive Visual Preview

CampaignsPage.tsx • /campaigns
80 msgs/sec BullMQ
Total Transmitted
48,200
Delivered SLA
47,890
Read (Opened)
36,120
Failed Dispatches
310
Launch Broadcast Campaign
{{1}}:
{{2}}:
Target Recipients: 1,850 Opted-in ContactsLaunch Broadcast
Live WhatsApp Bubble Preview
🖼️ [Header Media Banner]

Hello Aarav Mehta, celebrate this festive season with an exclusive 25% discount using promo code DIWALI25!

Valid until midnight Sunday. Reply STOP to opt out.
🎁 Claim Discount

3. Step-by-Step: Creating and Launching a Broadcast

  1. Choose an Approved Template: Select any template in APPROVED status from the dropdown. NotifyIQ synchronizes approved templates directly from your Meta WABA account.
  2. 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.
  3. Select Eligible Recipients: The recipient table displays only contacts where consentGiven === true and optedOut !== true. Click Select All or check specific contacts.
  4. Choose Dispatch Mode: Select Instant for immediate queue ingestion, or choose Scheduled to set a future date and time per your marketing calendar.
  5. 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 / SettingTypeMeta ConstraintDescription
Template NameDropdownStatus: APPROVEDPre-registered Meta template to be sent. Unapproved or rejected templates cannot be selected.
Header Media URLInput URLHTTPS image/video/docPublicly accessible CDN link rendered as the visual header of the WhatsApp message.
Body ParametersKey-Value InputsArray of stringsValues replacing {{1}}, {{2}} in the template body text per recipient.
Dispatch ModeRadio ButtonsInstant / ScheduledDetermines whether messages are dispatched immediately or delayed until a timestamp.
Delivered SLAStat Counterstatus === '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}/messages with type: 'template' and the interpolated components array.

6. Common Errors & FAQs

What causes “Failed Dispatches”?

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.

Can I send broadcasts to customers who have not opted in?

No. NotifyIQ strictly requires DPDP-compliant consent. Unsolicited marketing violates WhatsApp Business Messaging Policy and Meta Platform Terms, risking account suspension.