Feature / Real-time segmentation
Segments that evaluate on every update.
When contact data changes, via REST API, CSV import, or dashboard edit, segment rules are re-evaluated in under 1s. Contacts enter and exit segments without manual reconciliation. Time-based conditions re-check on schedule.
- AND / OR filter logic on any contact attribute
- Time-based rules that re-evaluate on schedule
- Instant updates via API, CSV, or dashboard
- Unlimited custom attributes per contact
- No nightly batch jobs or stale lists

How it works
A closer look at what makes it tick.
How evaluation actually works
Every contact write (a POST to /api/v2/contacts, a CSV row imported, a dashboard edit) triggers a re-check of every segment that touches any of the modified attributes. The common case resolves in single-digit milliseconds; the p99 end-to-end API-to-membership-change is under 1s. Active workflows reading from those segments reconcile in the same tick.
Filter logic you can actually compose
Segments are expressions, not list operations. Combine attribute equality (plan is Pro), ranges (mrr > 99), time windows (last_active within 7d), sets (country in [US, CA, UK]), and boolean checks (email_verified is true). AND / OR / NOT nest freely. Build a segment like: plan is Pro AND (last_active within 7d OR has_opened_campaign) AND NOT churn_risk_flag.
Time-based rules
Rules like signed_up more than 30 days ago or trial_ends_at within 3 days are re-evaluated on a rolling schedule, so segments stay accurate even without any contact activity. This is how a trial-ending segment works: nothing changes on the contact, but time does.
Example use cases
Who this is actually for.
Active Pro users
plan is "Pro" AND last_active within 7 days AND email_verified is true
Trial ending, not yet upgraded
trial_ends_at within 3 days AND has_upgraded is false
At-risk paying customers
plan != "Free" AND last_login more than 14 days ago AND support_tickets >= 1
Dormant but previously engaged
last_login more than 60 days ago AND total_sessions > 20
segment("active_pro_users", {
where: [
{ plan: "pro" },
{ last_active: { within: "7d" } },
{ email_verified: true }
],
mode: "realtime"
})FAQ
Real-Time Segmentation, answered.
Any write to a contact attribute that is referenced by at least one segment rule. Writes come from the REST API, CSV imports, or dashboard edits. Time-based rules also re-evaluate on a rolling schedule to handle conditions that change purely with the clock.
Ready to try real-time segmentation?
Free forever up to 500 contacts. No credit card. Set up in minutes.
Start free →