Building WhatsApp Broadcast Audiences with Segments
Stop blasting everyone. Segments let you filter contacts by tag and attribute so each campaign lands with the people it's for.
Sending the same message to your whole list is the fastest way to earn blocks and drag down your quality rating. Segments let you send the right message to the right slice of your audience.
What a segment is
A segment is a saved, live filter over your contacts. It isn't a frozen list — every time a broadcast resolves its audience, the segment is re-evaluated, so new matching customers are automatically included and non-matches drop out.
What you can filter on
- Tags — labels you or your automations apply, e.g. vip, cod, abandoned-cart, city-karachi.
- Custom attributes — structured fields on each contact, such as order_total and city (synced from Shopify), or any custom field you define and fill yourself, like preferred_category.
How to build one (about a minute)
- Start a new broadcast and, under Audience, open the By segment tab.
- Add a condition: pick a field (like city, or a tag), pick a comparison (is, contains, greater than…), and type the value.
- Add more conditions if you want, then choose whether a contact must match all of them or just any.
- Click Preview recipients to see how many people match before you send.
- Give it a name and hit Save segment to reuse it next time — or just use it for this one campaign.
Match ALL vs. match ANY
Each segment combines its conditions with a match type:
- Match all (AND) — a contact must satisfy every condition. Use for precise targeting: tag is vip AND city is Lahore.
- Match any (OR) — a contact qualifies if they meet at least one. Use for broad reach: tag is vip OR order_total > 5000.
Each condition is an attribute → operator → value row. Operators include equals, contains, greater than / less than (for number fields) and is set — so you can express things like "customers whose last order was over 10,000 and whose city is Lahore."
Bring your own fields
You're not limited to tags and the fields that come from Shopify — you can add your own and target on them. Want to reach customers by their plan, their loyalty points, or their favourite category? Create a field, fill it in, and it becomes something you can segment and personalize on. Three simple steps:
- Create the field. Go to Settings → Contact Attributes, type a field name (e.g. "Loyalty points"), choose a type (Text, Number, Yes/No…), and click Add Field.
- Fill it in. Two no-fuss ways:
- From your store, automatically — in the automation builder, drop an Update Customer Attribute step into a rule. For example: "when an order is placed, save the order total into the customer's last_order_value field." The value can be pulled straight from the order — no coding.
- From another tool — if the data lives in your own app, CRM or spreadsheet, it can be pushed in with a single API call using the account key shown in your Settings. Each push updates that customer's field.
- Target it. The field now shows up in the segment builder, so you can filter on it — e.g. Loyalty points is greater than 100 — and use it as a personalization value.
Good to know: a field's type shapes how you filter it — text fields use word matches, number fields use greater/less than, and date fields unlock the time-based filters below.
Filter by dates
Date fields — like a last_order_date or a birthday — come with filters that target people by when something happened, not just whether it did:
- is on / is before / is after a date you pick.
- is within the last … days or is more than … days ago — great for recency, e.g. "last order is more than 60 days ago" to find lapsed customers.
- is within the next … days or is in exactly … days — great for what's coming up, e.g. "renewal is in exactly 7 days".
- is today, or day & month is today — the second one ignores the year, so it matches birthdays and anniversaries.
Dates are checked in your own timezone. And because a segment refreshes on every send, pairing one of these with a daily recurring broadcast turns it into an automatic birthday, renewal or win-back campaign — the send simply reaches whoever matches that day.
Quick example: win back lapsed customers
- Create a Date field called last_order_date (Settings → Contact Attributes).
- Fill it automatically: in the automation builder, add an Update Customer Attribute step to your "order placed" rule and set last_order_date to
{{date.today}}— now every order stamps the date, with no coding. - Build a segment last_order_date is more than 60 days ago and send those customers a "we miss you" offer.
The full step-by-step is in how to win back lapsed customers.
Save once, reuse everywhere
Give a segment a name and it's available in every future broadcast and drip campaign. You can also build a one-off inline segment for a single campaign without saving it.
Ready-made: Facebook ad leads
If you run Click-to-WhatsApp ads, connecting your number auto-creates a saved segment called "Facebook ad leads — not converted" — people who messaged you from an ad recently and haven't bought yet. Pick it under By segment → Reuse a saved segment to re-engage them. Every ad lead is also tagged Facebook Ad Lead with a Facebook Ad Date, so you can build your own ad-lead audiences too.
Good to know: the "not converted" part only excludes buyers if you've set up ad-conversion tracking, and the recent-days window is a default you can edit like any segment.
Opt-outs are always respected
Segments automatically exclude anyone who has opted out — you never have to remember to filter them, and it keeps you compliant. Pair segments with personalization so each slice also gets copy written for them.
Frequently asked questions
Is a segment a fixed list or a live filter?
It's live. A segment is re-evaluated each time a broadcast resolves its audience, so contacts who newly match are included automatically and those who no longer match are excluded — no manual list maintenance.
Can I combine tags and custom attributes in one segment?
Yes. A segment can mix tag conditions and attribute conditions freely, combined with either match-all (AND) or match-any (OR) logic.
Do segments exclude people who opted out?
Always. Opted-out contacts are filtered out of every segment automatically, so you stay compliant without extra steps.