Automation·Updated Aug 3, 2026 · 8 min read

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_quote where service equals Certified Translation, or where quote_value is 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.
Was this article helpful?
Your feedback helps us improve our docs.