Segments
Dynamic contact groups defined by filter rules evaluated at send time.
A Segment is a named group of contacts used as a Broadcast audience or as a logical grouping for reporting. Segments come in two types: static and dynamic.
Static segments
A static segment works like a List: contacts are members only because you explicitly added them, and they stay members until you remove them. Static is the default type when you create a new segment.
Manage static segment membership from the Workflow layer using:
- ADD_TO_SEGMENT — enrolls a contact in the segment.
- REMOVE_FROM_SEGMENT — removes a contact from the segment.
You can also manage membership from the segment's detail page in the UI.
Dynamic segments
A dynamic segment defines its membership through filter criteria stored in the segment record. EzFlow evaluates the criteria at query time — for example, when resolving the audience for a Broadcast — so the membership stays current automatically as contact data changes.
Criteria structure
A dynamic segment's criteria has:
- Operator —
ANDorOR. Controls how multiple conditions are combined. - Conditions — one or more property conditions, each specifying:
propertyName— a standard contact field (email,firstName,lastName,phone) or a path into custom properties (e.g.customProperties.company).operator— one of:=,!=,contains,starts_with,ends_with,is_null,is_not_null.value— the value to compare against (not used withis_null/is_not_null).
You cannot manually add or remove contacts from a dynamic segment. Membership is read-only from the segment management UI; it is derived entirely from the criteria.
Example criteria
A segment targeting contacts whose custom property plan equals "enterprise" with AND operator and a single condition:
{
"operator": "AND",
"conditions": [
{
"type": "PROPERTY",
"propertyName": "customProperties.plan",
"operator": "=",
"value": "enterprise"
}
]
}Segments vs. Lists
| List | Segment | |
|---|---|---|
| Membership | Explicitly managed | Static: explicit; Dynamic: criteria-driven |
| Broadcast use | Yes | Yes |
| Workflow nodes | ADD_TO_LIST / REMOVE_FROM_LIST | ADD_TO_SEGMENT / REMOVE_FROM_SEGMENT |
| Dynamic filter | No | Yes (DYNAMIC type) |
Related
- Contacts — the underlying records
- Lists — purely static audience groups
- Broadcasts — targeting a segment with a send
- ADD_TO_SEGMENT node
- REMOVE_FROM_SEGMENT node