Build a Marketing-Ready Audience
Get people onto a contact list who can legally and practically receive Marketing (and Utility) WhatsApp campaigns: Opted in, reachable, and ready as Target audience.
Inbox Lists (conversation folders) are different — see Lists in Inbox.
Detail: Consent Management · Contact Lists · Opt-out for Marketing.
Before you start
| Need | Where |
|---|---|
| WhatsApp connected | Connect WhatsApp |
| Admin or manager | Broadcasts → Audience |
| Optional custom fields | Contact Fields before dynamic filters |
Collect numbers only with permission that matches how you will message (especially Marketing).
Path at a glance
- Know the three broadcast statuses
- Set or fix consent
- Create a contact list
- Add people (Manual / Import or Filter)
- Check addressable vs skipped
- Hand off to a campaign
1. Know the three broadcast statuses
Under Broadcasts → Audience → Consent Management:
| Status | Campaigns |
|---|---|
| Opted in | Eligible (default for many new contacts) |
| Opted out | Skipped |
| Not on WhatsApp | Skipped until status becomes Opted in |
Page subtitle: Broadcast eligibility — Opted in, Opted out, or Not on WhatsApp.
Inbound opt-out
If someone sends a WhatsApp message that is exactly STOP, UNSUBSCRIBE, or CANCEL, Kazenly sets Opted out. STOP inside a longer sentence does not opt them out.
Marketing templates should tell people to reply STOP — Opt-out Instructions for Marketing Templates.
2. Set or fix consent
- Open Consent Management.
- Search or filter (All broadcast statuses / a specific status).
- Edit a row → set Broadcast status → save (Broadcast status updated).
- Moving from Opted out or Not on WhatsApp back to Opted in asks Change broadcast status → Change to Opted in.
Hint on the field: Opted out and Not on WhatsApp are excluded from future campaigns.
3. Create a contact list
- Open Broadcasts → Audience → Contact Lists.
- Click New Contact List → Contact List Name → Create Contact List.
Lists start manual. They become Dynamic only after you save a Dynamic filter on Manage Contacts.
4. Add people (Manual / Import or Filter)
Open Manage Contacts. Choose one segment at a time — Filter (Dynamic) or Manual / Import (full detail: Contact Lists).
Manual / Import
Subtitle: Add from Contacts, or import a CSV (upserts to Contacts).
- Add from Contacts — pick Available to add
- Review Current list and broadcast status badges
- Import CSV / Export (below)
Opted out contacts cannot be added. Not on WhatsApp can sit on the list but are skipped at send until Opted in.
Import CSV
- Stay on Manual / Import → Import CSV → columns:
phone,name,wa_status,tags(phone required; wa_status optional:opted_in,opted_out,not_on_whatsapp). - Choose CSV → review Dry run (Valid, New, Add, Overrides, Invalid, Already).
- Confirm import. Split files larger than about 2 MB.
Export downloads the same layout.
Filter (Dynamic)
- Select Filter (Dynamic).
- Add conditions under Match all (AND) and/or Match any (OR) (Contact field, Tag, Last customer message, Flow submitted, Consent / send status, and similar).
- Preview matched / addressable counts.
- Save filter — Filter saved — list membership rematerialised. List shows Dynamic badge. (Save filter needs at least one condition.)
In Filter mode, membership is browse-only (no CSV, picker, or remove). Clear filter returns the list to manual membership and switches to Manual / Import.
5. Check addressable vs skipped
Before a big Marketing send:
| Check | Where |
|---|---|
| Statuses on the list | Badges on Manage Contacts / Consent Management |
| Preview counts | Filter (Dynamic) → Preview |
| Campaign exclusions | After start: N skipped (X Opted out, Y Not on WhatsApp) on campaign details |
Large audiences (over 500 addressable) ask for Large audience confirmation when creating the campaign.
6. Hand off to a campaign
- Approve a Marketing template (with STOP) — G2.
- Follow Run Your First WhatsApp Campaign (G1).
- Target audience = this list (dynamic lists may show ** · dynamic**).
Utility campaigns use the same lists; Marketing is where consent and STOP matter most.
Quick paths
| Path | Build |
|---|---|
| A. Small Opted-in list | Consent Opted in → New list → Add from Contacts |
| B. CSV import | New list → Import CSV (set wa_status when needed) → Confirm |
| C. Dynamic Opted in | New list → Filter (Dynamic) → Consent / send status = Opted in → Save filter |
| D. Field-based segment | Define Contact Fields → Filter (Dynamic) on field → Preview → Save |
| E. Fix opt-outs | Consent Management → Change to Opted in (with confirmation) → refresh list |