How our segmentation works:
- We maintain a cache of all the users in each segment.
- When customers trigger events or have properties updated, we log these changes but do not update those caches in the UI.
- Newsletters rely on these segments, and are required to recalculate those segments at send time. This means that segments are up to date at time of send.
- Unlike newsletters, behavioral, transactional and workflow emails (automated emails) that rely on segments will actually use the individual conditions from the segments and check that the user matches each of them at send time (i.e. they do not rely on the stored cache of the segment).
Refreshing segments with new data:
Once an import is processed the data must be loaded into a database specifically used for segmenting users. You’ll notice this notification when refreshing segments:
Using Any and All conditions:
When creating a segment you’ll notice two sections:
The first section is for users that meet ALL of the listed conditions. This means the user must meet every single one of these conditions in order to join the segment.
The second section is for users that meet at least ONE of the listed conditions. This means that if you have ten different conditions listed, the user only has to meet one of them in order to join the segment. Think of each of these conditions as having the word “or” between them.
