Build segments of contacts
Group contacts by attributes and behaviour, automatically
A segment is a live group of contacts defined by rules. Contacts enter the segment automatically when they match, and leave when they stop matching — you never manage the list by hand. Segments are the audience for broadcasts and the trigger for workflows.
Manage them under Automation → Segments (Owners and Admins).
Rules
A segment is one or more groups of conditions. You choose whether contacts must match all groups or any group, and within each group whether all or any conditions must hold — enough to express things like "(GBP customers with high spend) OR (anyone who complained recently)".
There are two kinds of condition:
Attribute conditions
Match on a contact attribute: currency equals GBP, total_spend is at least 1000, signed_up_at is greater than 2026-01-01, vip is set.
The picker also includes the contact's core fields — Name, Email and Phone Number — alongside your custom attributes, so "contacts without an email address" is simply Email is not set (it matches both missing and empty values). If a custom attribute shares a name with a core field, the core field wins.
Operators adapt to the attribute's type — numbers compare numerically, dates chronologically. is set / is not set check whether the attribute exists at all, and does not equal includes contacts who don't have the attribute.
Event conditions
Match on behaviour: performed place_order at least 1 time in the last 30 days. Each event condition has:
- A count — at least / more than / exactly / at most / fewer than N times. "Exactly 0 times" (or "fewer than 1") means "has never performed" — the key to lapsed-customer and follow-up segments.
- A time window — "in last N days", or leave blank (∞) for all time.
- Property filters (optional) — click "Where property…" to match against the event's payload: performed
request_quotewhereserviceequalsCertified Translation, or wherequote_valueis at least 500. Property filters also work on "has never performed" conditions: "never requested a certified-translation quote" ignores their other quotes.
The classic recipe: abandoned quotes
Group 1 (match all):
- Event: performed
request_quote— at least — 1 — in last 7 days- Event: performed
place_order— exactly — 0 — in last 7 days
Everyone who asked for a quote this week and hasn't bought. Point a broadcast or workflow at it and follow-ups take care of themselves.
Preview and membership
- Preview count evaluates your rules instantly while you build, before saving.
- On save, Chatlane computes the member list in the background — the segment page shows the member count, the contacts themselves, and when membership was last recomputed.
- Membership then stays fresh automatically: each event or attribute change re-evaluates the affected contact within seconds, and segments with rolling time windows ("last 7 days") are re-checked every 15 minutes so contacts fall out as their events age.
Each contact's profile also shows which segments they're currently in.
How segments drive automation
- Broadcasts send to the segment's members (snapshotted at send time).
- Workflows can trigger the moment a contact enters a segment, and optionally exit contacts who leave it.
- Workflow filter, branch, and only-if conditions use the same rule builder, so anything you can express as a segment you can also use mid-workflow.