Skip to main content

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
app.segmailer.com/real-time-segmentation
SegMailer real-time segment builder
Live segment count updating as contacts enter and exit.

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

Rule definition (pseudo-syntax)// js
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 →