Combining segmentation rules
A segment can be as simple as one condition, for example all contacts whose language is Dutch. But when you have richer contact data, combining multiple conditions lets you build much more precise target groups.
This article explains how to add conditions, how AND and OR logic work, and gives a reference overview of everything you can segment on.
Before you begin
- Segmentation is available on all Flexmail subscription plans.
- Each segment can hold up to five conditions. Use nested segments for more complexity than five conditions allow.
- Segments only work on confirmed contacts. Unconfirmed and blacklisted contacts are always excluded.
How to add a condition
- Go to Contacts, then Segments.
- Click Add segment or open an existing segment to reconfigure it.
- Select the data type you want to filter on, then choose the function and the value.
- Click Add condition to add your first rule.
- Click Add another condition to add a rule.

All conditions vs. one of the conditions
Once you have added a second rule, Flexmail asks whether contacts need to meet all conditions or just one:
- All conditions (AND logic): a contact must match every rule to be included. Use this to narrow your audience.
- One of the conditions (OR logic): a contact only needs to match one rule to be included. Use this to broaden your audience.
Example: all conditions (AND logic)
You want to reach contacts who are subscribed to the "Promotions" interest AND live in the province of Antwerp. Only contacts who match both criteria are included. Someone in Antwerp who has not subscribed to promotions is excluded.

Example: one of the conditions (OR logic)
You are launching a new line of eco toys and want to reach contacts subscribed to "Promotions" OR "Sustainable toys" OR "New products". A contact only needs to match one of these three to receive the campaign. It is a broader audience that maximises reach for the launch.

All available segmentation conditions
Contact fields
- Text: is equal to, is not equal to, contains, does not contain
- Numerical: is equal to, is not equal to, is less than, is greater than
- Date: before [date], on [date], not on [date], after [date]
- Multiple choice: is equal to, is not equal to, is equal to any of the following, is equal to all of the following
Add date
- The date on which your contact was added to your account: added before, added on, added after
Language
- Language is [language]
Interests
- subscribed to [interest], is subscribed to any of these [interests], is subscribed to all these [interests]
- is not subscribed to [interest], is not subscribed to any public interest
- is unsubscribed from [interest]
Campaign interaction
- has received campaign, has not received campaign
- has opened campaign, has not opened campaign
- has clicked [link] in campaign, has not clicked [link] in campaign
Pay attention with open conditions. If the open tracking consent policy is active, "has opened" only matches contacts with consent, because no open data exists for the others. "Has not opened" also matches contacts without consent, because they have no recorded opens. Segments for reactivation become larger as a result. Flexmail shows a warning about this on the detail page of the segment. The same warning appears when open tracking is disabled. Conditions on clicks are not restricted.
Form and survey interaction
- has filled out form, has not filled out form
- has filled out survey, has not filled out survey
Landing page interaction
- has visited landing page, has not visited landing page
Opt-in
- has subscribed via [opt-in form], has not subscribed via [opt-in form]
Support tip You can combine up to five conditions per segment. If you need more complexity than five conditions allow, use nested segments. A child segment inherits all the conditions of its parent and adds its own on top.
Common mistakes to avoid
Mixing AND and OR logic unintentionally
In Flexmail, all conditions in a segment share the same logic. You either use AND for all conditions, or OR for all conditions. You cannot mix AND and OR within a single segment.
If you need mixed logic, for example (Language = Dutch AND Interest = Newsletter) OR (Language = French AND Interest = Newsletter), use nested segments to combine them.
Using the wrong function for text fields
"Is equal to" requires an exact match. If a contact has "Brussels" in the city field but your condition says "is equal to 'brussel'", it will not match. Use "contains" when you want a looser match. The matching of the value is not case-sensitive.
Expecting real-time campaign interaction data
Campaign interaction conditions such as "has opened campaign X" are based on data that is processed over time after a send. If you build a follow-up segment immediately after sending, some contacts may not yet appear in the results. Wait a reasonable period after a campaign before using interaction data for follow-up targeting.
Forgetting that unconfirmed contacts are always excluded
Unconfirmed contacts never appear in segment results, regardless of their field values. If someone subscribed but never confirmed their email address, that person will not be included in any segment. This is by design and cannot be overridden.