Skip to main content
A segment is an audience. Dynamic segments are live filters that re-evaluate every time you read them; static segments are a fixed membership list you curate.

Dynamic vs static

Dynamic

A filter tree. “VIPs who haven’t bought in 30 days.” Membership is computed on read — always current.

Static

An explicit set of contacts. “The 200 people I hand-picked for early access.” Members are added and removed by you.

v1 filter fields

The segment builder and the AI parser expose eight fields:
Direct API callers can also filter on safe native contact columns (name, email, phone, locale, timezone, created/updated dates, consent timestamps). A handful of fields (city, source, engagement, CLV) are gated as post-launch.

Predictive scores

Predictive fields are first-class and scored daily by a heuristic model (heuristic_v1), reproducible from an append-only score log.
Will this contact buy soon? likely / unlikely / unknown.
Risk of going dormant. high_risk / medium_risk / low_risk.
High-value customer signal.
Which channel this contact engages with — email / sms / both / none.
Every predictive value traces back to a stored snapshot with its model name and inputs. Scores are never invented — they’re recomputed from real engagement.

Building a segment

Add conditions and groups. Combine with AND/OR. Live counts come from a preview endpoint as you build.

Using segments

  • Campaigns target a segment.
  • Flows use segments in audience gates and branch conditions.
  • Ad audiences sync a segment 1:1 to Meta or Google Customer Match.
  • The API filters contacts by segmentId and manages static membership.
See Meta audiences and Google Customer Match for outbound sync.