How Segments Work
Before you build segments, it helps to understand the underlying mechanics — what gets evaluated, when, and how membership changes over time.
Dynamic Membership
Segment membership is not a snapshot. Each segment continuously evaluates its rules against your data: as leads earn events, as profile attributes change, as engagement scores rise and fall, leads move in and out automatically.
This is intentional. A "Hot Leads" segment built on engagement_level = Hot always reflects who's currently hot — not who was hot last Tuesday. If you need a fixed snapshot for a campaign cohort, export the segment to CSV at the moment you want to capture.
Rule Types
Each rule inside a segment evaluates one of several data types:
| Rule Type | Description | Example |
|---|---|---|
| Lead Metadata | Lead profile properties | job_title contains "VP" |
| Event Metadata | Metadata from specific event types | Form submission where source equals "webinar" |
| Engagement Level | Current engagement level | engagement_level equals "Hot" |
| Profile Level | Current profile fit level | profile_level equals "Strong Fit" |
| Account Metadata | Account-level properties (ABM) | industry equals "Technology" |
| Account Level | Account score level (ABM) | account_level equals "High" |
Lead Metadata and Account Metadata fields come from your Mapping configuration. Event Metadata pulls from raw event payloads. Level rules use whatever you've configured under Configure > Levels.
Operators
Each rule condition uses an operator to compare values:
| Operator | Description |
|---|---|
| Equals | Exact match |
| Not Equals | Does not match |
| Contains | Value includes the specified text |
| Starts With | Value begins with the specified text |
| Ends With | Value ends with the specified text |
| Greater Than | Numeric comparison |
| Less Than | Numeric comparison |
| Greater Than or Equal | Numeric comparison |
| Less Than or Equal | Numeric comparison |
| Is Empty | Field has no value |
| Is Not Empty | Field has any value |
Level-based rules (Engagement Level, Profile Level, Account Level) support a more limited set: Equals, Not Equals, Is Empty, Is Not Empty.
Logic Groups
Rules within a segment can be organized into logic groups joined by AND or OR:
- AND — every condition in the group must be true.
- OR — at least one condition in the group must be true.
You can combine multiple groups for sophisticated criteria:
Group 1 (AND):
- Job title contains "Director"
- Company size greater than 200
OR
Group 2 (AND):
- Engagement level equals "Very Hot"
- Profile level equals "Strong Fit"
This segment includes Directors at mid-size companies or leads who are both highly engaged and a strong profile fit.
Active Status
A segment must be Active for kenbun to evaluate its rules. Inactive segments preserve their rule configuration but don't compute membership — useful for staging a new segment without affecting downstream automations or for temporarily pausing a segment without losing its setup.
When Membership Updates
Membership is recomputed in response to data changes:
- A lead's engagement or profile score crosses a level boundary.
- An event arrives that adds new metadata.
- A profile or account property is updated by a CRM sync, the API, or the UI.
- Rules on the segment itself are saved.
In the UI, the lead count next to each segment refreshes on a regular cadence; the actual rule evaluation happens continuously in the background.
What Segments Power
Segments are a lookup target across kenbun:
- Triggers can fire on segment entry or exit.
- Notifications can use segments to scope who gets alerted.
- Lead exports and CSV downloads respect segment membership.
- Analyze > Segments shows membership analytics, overlap, and trends.
This makes segments the right shape for almost any "group of leads" question, whether the answer feeds a campaign, a Slack channel, or a sales play.