What a broadcast list is
Unlike a group, in a broadcast list each recipient gets the message individually. Nobody sees who else received it. Replies come to you only, as private chat.
textCompany │ ├──> Customer A (receives as private chat) ├──> Customer B (receives as private chat) ├──> Customer C (receives as private chat)
For the customer, it looks like a personal message.
How to create a broadcast list in WhatsApp Business
On Android
On iOS
Critical rule: the customer must have your number saved
Only contacts who have your number saved in their address book receive broadcast messages. This is Meta's rule, designed to prevent spam.If you send a promotion to 200 people but only 50 have your number saved, the other 150 receive nothing — silent failure.
How to get customers to save your number
wa.me/15551234567)App broadcast list limits
| Feature | Limit |
|---|
| Contacts per list | 256 |
|---|---|
| Lists you can create | Unlimited |
| Messages per day | "Reasonable" (Meta doesn't publish a number, but ~1,000 messages/day is safe) |
| Frequency | No hard rule, but avoid more than 2-3 broadcasts per week |
Broadcast list best practices
When broadcast lists aren't enough
Move to API broadcasts with WhatsApp Business API when:
- Need to send to more than 256 contacts in one campaign
- Want to personalize with name, order number, value
- Need reports (who received, who read, who replied)
- Want to schedule automatic sends
- Need registered opt-in with date and channel (GDPR/CCPA compliance)
- Want CRM integration
API broadcasts: example
With Zavu you can send to thousands or millions in one API call:
typescriptimport Zavu from "@zavudev/sdk" const zavu = new Zavu({ apiKey: process.env.ZAVU_API_KEY }) // 1. Create broadcast const broadcast = await zavu.broadcasts.create({ name: "Black Friday 2026", channel: "whatsapp", messageType: "template", content: { templateId: "tpl_black_friday_promo", templateVariables: { "1": "{{contact.first_name}}", "2": "30%" } } }) // 2. Add contacts (up to 1,000 per request, no total limit) await zavu.broadcasts.addContacts(broadcast.id, { contacts: [ { phone: "+14155551234", variables: { first_name: "John" } }, { phone: "+14155552345", variables: { first_name: "Mary" } }, // ... thousands of contacts ] }) // 3. Send await zavu.broadcasts.send(broadcast.id) // 4. Track progress const progress = await zavu.broadcasts.getProgress(broadcast.id) console.log(Sent: ${progress.sent}/${progress.total}) console.log(Delivered: ${progress.delivered}) console.log(Read: ${progress.read})
API broadcast advantages:
- No recipient limit (you pay per delivered message)
- Real personalization with per-contact variables
- Doesn't require contact to have your number saved
- Real-time metrics
- Meta-approved templates (required for promo messages)
- Opt-in compliance with registered consent
Pricing: broadcast list vs API broadcast
| Scenario | Cost |
|---|
| App list (up to 256, saved-number contacts) | Free |
|---|---|
| API broadcast (Utility template, US) | ~$0.015 per message |
| API broadcast (Marketing template, US) | ~$0.025 per message |
Common mistakes
1. Sending heavy promo on first contact. Customer who never got anything from you marks as spam. Start with useful messages (order status, reminders) before promotion.2. Using the same list for everything. Create segmentations: VIP, just-purchased, abandoned-cart, inactive.3. Not measuring. If you don't know read and reply rates, you're shooting in the dark. App doesn't give those — only the API.4. Text too long. Long messages have much lower read rates. Ideal: up to 4 lines + 1 link.5. Message without identification. Always put company name first ("Hi from [Company]! ..."). Customers who forgot to save your number don't know who it is.Related resources
- What is WhatsApp Business
- WhatsApp Business auto-reply
- Zavu Docs — Broadcasts
- WhatsApp Business API: official guide