The Segment Builder allows you to define a set of contacts based on a variety of dimensions, using logical AND or OR conditions. These segments are used to target your marketing efforts to specific groups of customers.
# Segment criteria
Segment conditions come from fields in your datasets. These conditions are defined using the following types of qualifiers:
Dates (absolute or relative)
Strings (drop-downs or text fields)
Boolean values (true or false/is or is not)
The format of each condition will depend on the content of the field - some common examples are date ranges, status is/isn’t active/cancelled/expired (i.e. subscription), and numeric value entry (i.e. average order value).
In the Segment Builder, null values will default to 0. If you would like to maintain null values, please contact your account manager
All dates and times in Simon are UTC (Universal Time Coordinated).
Dates can be qualified in the following ways:
|Is||Refers to a specific calendar date, 12:00AM-11:59PM UTC|
|Is before||This is relative, referring to an event taking place earlier than number of days or weeks, ago or from now (example: ‘Last login date is before 2 weeks ago’ would populate contacts who have not logged in to their account in the last 2 weeks)|
|Is before date||This refers to an event taking place before a specific date|
|Is after||Refers to an event taking place some time period after a date. The date is defined relative to now using a number of days or weeks, ago or from now (example: ‘Last order date is after 5 days from now’ would populate contacts 5 days after they place an order)|
|Is after date||Refers to an event taking place after a specific date|
|Is between||Refers to an event taking place between two specific dates, inclusive of the first date and exclusive of the second|
When qualifying a date by a number of months, the actual number of days in each month is taken into account.
Numbers can be conditioned in the following ways:
Greater than (>)
Less than (<)
Greater than or equal to (>=)
Less than or equal to (<=)
Does not equal (!=)
## Strings and sets
Strings and sets are text values. A string is a single value, while a set is a list of comma-separated values, such as a list of items a customer has purchased.
Strings and sets are very versatile; they can be qualified in many ways, including:
|Column Title||Column Title|
|Is||Requires an exact match between the criteria and the data field|
|Is not||Populates any records that are not an exact match|
|Includes||Populates records that have the exact criteria in the set|
|Does not include||Populates records without an exact match in the set|
|Contains||Populates records that have the criteria found anywhere in the set|
|Does not contain||Populates records in which the search criteria is not found|
|Is available||Populates records that have a value|
|Is not available||Populates records with a null value or no value|
|In||Populates records that have a match in the set listed in the criteria|
Booleans are a true/false flag. For example, they are often used for the following:
Subscribed = True
Is Customer = False
# Condition groups
When adding many conditions and mixing AND with OR, it can be necessary to utilize multiple groups to clarify logic. For example:
This segment will include customers who have subscribed and either have an open rate of more than 10%, or more than 2 orders.
# Related segments
You can refer to other segments as conditions to include or exclude members of another segment, as well as filter customers who have gone through a specific flow. A segment used as a condition in a segment is called a **Base Segment**. A segment that references another segment in its definition is called a **Dependent Segment**.