Build a segment (segment criteria)

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 Snowflake tables. These conditions are defined using the following qualifier types:

The format of each condition depends 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).

Dates

All dates and times in Simon are UTC (Universal Time Coordinated).

Dates can be qualified in the following ways:

OperatorDescription
isRefers to a specific calendar date, 12:00AM-11:59PM UTC
is beforeThis 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 dateThis refers to an event taking place before a specific date
is afterRefers 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 dateRefers to an event taking place after a specific date
is betweenBetween two time periods ,including the start and end dates, and encompassing the day before the second date.

Note: The function currently includes the day before the second date as well. For example, if you need to confirm purchases from 9, 10, or 11 days ago, you should set the date range as "is between 11 and 10 days ago."
is between datesRefers to an event taking place between two specific dates, inclusive of the first and exclusive of the second
is nullContains no value
is not nullContains a value

Note, when qualifying a date by a number of months, the actual number of days in each month is taken into account.


Numerics

Numbers can be conditioned in the following ways:

OperatorDescription
equals=
is not equal to!=
greater than>
greater than or equal to> =
less than<
less than or equal to<=
is betweenBetween to numbers, inclusive of the first and exclusive of the second.
inInclude a comma separated list of values
is nullContains no value
is not nullContains a value

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:

isRequires an exact match between the criteria and the data field
is notPopulates any records that are not an exact match
containsPopulates records that have the criteria found anywhere in the set; works for partial matches, or substrings
does not containPopulates records in which the search criteria is not found; works for partial matches, or substrings
begins withPopulates records that begin with a specific character
does not begin withPopulates records that don't begin with a specific character
ends withPopulates records that end with a specific character
does not end withPopulates records that don't end with a specific character
inPopulates records that have a match in the set listed in the criteria; for example, is in "pink, blue, green"
likePopulates records that are similar to the specified character(s)
includesPopulates records that have an exact match inside of the set
does not includePopulates records that do not have an exact match inside of the set
is availableSets are considered available if they have more than 0 elements
is not availableSets are considered not available if they have 0 elements
is not nullContains a record
nullContains no record

Booleans

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 might be necessary to use multiple groups to clarify logic. For example:

This segment includes customers who aren't loyalty members and have either clicked and email more than once _or_ made more than two purchases.

This segment includes customers who aren't loyalty members and have either clicked and email more than once or made more than two purchases.


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 -- aka nested segmentation. 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.

Note, if you're using Connected Segmentation only then nested segmentation is not currently available.