Audiences
Choose who a campaign reaches, and understand why some recipients are skipped.
Every campaign needs an audience. Enscale offers three ways to build one, and applies eligibility checks to all of them.
Audience types
| Type | What it is | Best for |
|---|---|---|
| All contacts | Everyone eligible in your workspace. | Rare. Almost always too broad. |
| Segment | A saved set of conditions. Live — membership updates as contacts change. | Most campaigns. |
| CSV upload | A one-off uploaded list. | Migrating a list from another tool. |
Segments are the right default. They're reusable, they stay current, and you can see the count before you commit. See Segments.
Eligibility checks
Enscale checks every recipient before sending. Contacts failing any check are skipped, not sent to.
| Check | Skipped when |
|---|---|
| WhatsApp opt-in | The contact hasn't opted in. |
| Unsubscribed | The contact opted out. |
| Valid phone number | The number can't be parsed or reached. |
| Template approved | Blocks the whole campaign, not one recipient. |
| Plan allows broadcasts | Free plan can't send campaigns. |
This is why a 1,000-contact segment might send to 850. Before you confirm, the campaign shows the eligible count, the skipped count, and why each group was skipped.
Skipped contacts are the system working
A high skip rate isn't a bug — it's Enscale keeping you compliant. Messaging people who never opted in, or who explicitly opted out, is what gets a WhatsApp number restricted by Meta.
If your skip rate is high, the fix is collecting more opt-ins, not sending anyway.
CSV uploads
Your file needs a phone number column. Numbers are normalised to international format; unparseable ones are reported rather than silently dropped.
Consent still applies. Uploading a list doesn't grant consent for the people on it. If they opted in elsewhere, import that consent information with the list so it's recorded and evidenced. If they never opted in to hear from you on WhatsApp, don't upload them.
Recipient states
Once a campaign runs, each recipient moves through:
| Status | Meaning |
|---|---|
| Pending | Queued. |
| Sending | Being sent right now. |
| Sent | Handed to WhatsApp. |
| Delivered | Reached the device. |
| Read | The customer opened it. |
| Failed | Delivery failed. |
| Opted out | Skipped for consent. |
Sent and Delivered are different. Sent means WhatsApp accepted it; Delivered means it reached the phone. A gap between them usually means unreachable numbers.
Building a good audience
Narrow beats broad. A 500-contact segment with a relevant message outperforms 5,000 with a generic one — and costs less, since Meta charges per delivered conversation.
Exclude recent recipients. Someone who got a campaign yesterday doesn't need another today. Frequency is the fastest route to opt-outs.
Segment by behaviour, not just attributes. "Bought in the last 90 days" is a better audience than "has a phone number".
Test on a small segment first. Send to 50 before 5,000. A template that reads badly is much cheaper to discover at 50.
Audiences and workflows
The Add to Segment and Remove from Segment nodes let workflows build audiences from behaviour — tag someone who abandoned two checkouts into a recovery segment, then target that segment specifically.
Troubleshooting
| Problem | What to check |
|---|---|
| Eligible count much lower than segment count | Opt-in and unsubscribe status. Expected. |
| CSV rows rejected | Phone format. Include country codes. |
| Campaign won't start | Template not approved, or you're on the Free plan. |
| Everything Failed | Check channel status and template status. |
| Sent but not Delivered | Numbers may be invalid or not on WhatsApp. |
Next steps
- Broadcasts — creating campaigns.
- Segments — building audiences.
- Message templates — what you send.