Standard Segmentation allows you to easily create a rule to search for contacts based on one or more conditions, matching all or any of the defined conditions. It supports fields of type Number, Float, Date, and Text. Conditions using Number, Float, and Text fields require three settings: Field, Operator, and Value. Date Fields have an additional sub-type to help segment based on parts of a date (Day, Month, Year) or anniversaries.
This updated version of Standard Segmentation was introduced in v9.8.0.
To add a Standard Segmentation Rule
- Go to SEGMENTATION > SEGMENTATION RULES, then click Add Rule. Alternately, you can click the arrow next to Add Rule, and select Add Standard Rule.
- Enter a Name.
- Drag a Field from the Fields navigation on the left onto the workspace where the Add Conditions box is displayed.
- Select an Operator from the listbox.
- Enter a Value in the value textbox.
- Repeat steps 3 through 5, dropping the new conditions below the existing when prompted to 'Drop Condition Here', or nesting the rule in another rule when prompted to 'Nest Condition'.
- Select a Condition Type (AND, OR, NOT) when multiple conditions are connected.
- Click SAVE to save the new rule and remain on the page. Click CANCEL to return to the Segmentation Rules page without creating the new rule. Alternately, click the down arrow next to Save and choose one of the following options:
- Save and Test - Select a List from the List to Test Against listbox, then select SAVE AND TEST to save the rule and determine the number of contacts the rule will find when run against the selected list.
- Save and Close - Save the rule and close the editing page to return to the list of Segmentation Rules.
- Revert - Undo all changes made since the last save.
- Delete - Delete the rule (if it has already been saved.)
Advanced Settings
To edit advanced settings for the rule, click the gear icon next to the Name field. In the Rule Properties dialog, you can edit the name, enter a Description, and set the Folder for organizing your rules. Click SAVE to save your changes, or click the X to close the dialog without saving.
Parts of a Condition
A segmentation rule condition is composed of at least one field and operator and can also include one or more values.
Condition Types
Standard rules support three types of conditions:
Type | Description |
AND | Find only contacts that match all defined conditions |
OR | Find any contacts that match any defined condition |
NOT | Find only contacts that do NOT match the defined conditions |
Fields
The Fields navigation allows you to drag any available field into the workspace to create rules. The Contact Data fields are displayed by default. To select from a different field group, click the down arrow next to the Fields label. The fields groups include:
- Contacts - Contact Data Fields
- Subscriptions - Contact Subscription details
- Custom - Contact Custom Data Fields
- Tracking - Tracking Data
- Browser Opens - Browser details for Open tracking events
- Browser Clicks - Browser details for Click Through tracking events
- Relational - Relational Data Fields for active tables (Only available if enabled for Realm)
In the Field selector, the fields are sorted by Name. To search for a field, click the Fields label and enter a search string in the Filter box. To close the filter, click the X next to the textbox.
The following Fields are available for segmentation:
Contact Data Fields | Type | Sample or Description |
Text | Contact's email address | |
First Name | Text | Contact's first name |
Last Name | Text | Contact's last name |
Company | Text | Contact's company name |
Address | Text | First line of contact's street address |
Address 2 | Text | Second line of contact's street address |
City | Text | Contact's city |
State | Text | Contact's state |
Zip, Zip Code Range*** | Text | Contact's zip or postal code |
Country | Text | Contact's country |
Phone | Text | Contact's phone number |
Fax | Text | Contact's fax number |
Created Date | Date | Date contact record was created |
Updated Date | Date | Date contact record was updated |
Subscription Fields | Type | Sample or Description |
Subscribed Date | Date | Date contact was added to a List |
Subscription FormatType | Number | Format contact is set to receive (see below) |
Date Campaign Last Sent | Date | Date contact was last sent a campaign message |
ID of Campaign Last Sent | Number | Identification of the last campaign sent to contact |
Custom Fields | Type | Sample or Description |
custom_[field_name] | Number, Float, Date, or Text | Custom fields are prepended by 'custom_' to distinguish them from default Contact Data fields |
Tracking Data Fields | Type | Sample or Description |
Tracking Campaign ID | Number | Identification of the campaign associated with tracked event |
Tracking Event Date | Date | Date contact performed a tracked event |
Tracking Event Type | Number | Type of event contact performed. |
Tracking List ID | Number | Identification of the list associated with tracked event |
Browser Fields* | Type | Sample or Description |
Browser/Device (clicks) - Browser | Text | Name of browser associated with the click-through event |
Browser/Device (clicks) - Campaign ID | Number | Identification of the campaign associated with clcik-through event |
Browser/Device (clicks) - Client Type | Text | Name of software client displaying click-through event |
Browser/Device (clicks) - Event Date | Date | Date contact performed click-through event |
Browser/Device (clicks) - List ID | Number | Identification of the list associated with click-through event |
Browser/Device (clicks) - OS Name | Text | Name of Operating System displaying click-through event |
Browser/Device (opens) - Browser | Text | Name of browser associated with the open event |
Browser/Device (opens) - Campaign ID | Number | Identification of the campaign associated with open event |
Browser/Device (opens) - Client Type | Text | Name of software client displaying open event |
Browser/Device (opens) - Event Date | Date | Date contact performed open event |
Browser/Device (opens) - List ID | Number | Identification of the list associated with open event |
Browser/Device (opens) - OS Name | Text | Name of Operating System displaying open event |
Conversion Tracking Data Fields** | Type | Sample or Description |
Conversion Campaign ID | Number | Identification of the campaign associated with Conversion Tracking Event |
Conversion Email Address | Text | Email address of contact who performed Conversion Tracking Event |
Conversion Event Description | Text | Description of Conversion Tracking Event |
Conversion Event Details 1 | Text | Details of Conversion Tracking Event |
Conversion Event Details 2 | Text | Details of Conversion Tracking Event |
Conversion Event Details Number | Float | Number or Price for Conversion Tracking Event |
Conversion Event Name | Text | Name of Conversion Tracking Event |
Conversion Other ID | Text | Alternate Details of Conversion Tracking Event |
Conversion Referenced URL | Text | URL from which Conversion Tracking Event was launched |
Conversion Referenced URL Parameter | Text | Parameters of URL from which Conversion Tracking Event was launched |
Conversion Event Date | Date | Date of Conversion Tracking Event |
*Browser Tracking in 8.4 and up. NOTE: In some realms, tracking browser information may not be permitted in order to honor privacy requirements in certain areas. Please contact your Account Manager if you have questions.
**Conversion Tracking in 8.7 and up
***Zip Code Range in 11.2 and up
Comparison Operators
A comparison operator is the test to perform against the selected field and the value you provide. Not all operators work with every field type. The 'LIKE' and 'NOT LIKE' operators compare a Text field to a text string. These operators require a string value that includes a percent symbol ( % ) to act as a wild card for searching.
The following table defines each operator and the supported field types:
Operator | Type(s) | Description |
In | Float, Number, Date, Text | Is the field included in the list of values? This is like creating several OR conditions with one condition. |
Not In | Float, Number, Date, Text | Is the field not included in the list of values? This is like creating several AND NOT conditions with one condition. |
=, Equals | Float, Number, Date, Text | Is the field equal to the value? |
!=, Not Equals | Float, Number, Date, Text | Is the field not equal to the value? |
>, Greater Than | Float, Number, Date | Is the field greater than the value? |
<, Less Than | Float, Number, Date | Is the field less than the value? |
>=, Greater Than or Equal to | Float, Number, Date | Is the field greater than or equal to the value? |
<=, Less Than or Equal to | Float, Number, Date | Is the field less than or equal to the value? |
Like | Text | Is the field like the text string? Contains: %string% Begins With: string% Ends With: %string |
Not Like | Text | Is the field not like the text string? Does Not Contain: %string% Does Not Begin With: string% Does Not End With: %string |
Is Null | Float, Number, Text, Date | Is the field NULL, or does it not exist? This is not the same as a field being blank (exists, but no data stored). |
Is Not Null | Float, Number, Text, Date | Is the field not NULL, or does it exist? This is not the same as a field being not blank (exists, but no data stored.) |
In Miles | Zip Code Range*** only | Is the zip code within a range of miles. |
Matching Empty or Non-Existent Fields
Standard Segmentation Rules can match both empty (blank) or non-existent (NULL) custom fields. This is done using the "Equals/Not Equals" operators for blank fields, and "Null/Not Null" operators for non-existent fields. For example, to find contacts that have no data stored in the field "weekly", define the command:
custom_weekly Is Null OR custom_weekly Equals _____ (blank value)
This checks if the field does not exist or, if it does exist, is empty.
To find all non-empty fields, define the command:
custom_weekly Is Not Null AND custom_weekly Not Equals _____ (blank value)
This checks if the field exists and, if it does exist, is not empty.
This is an important difference between the prior and new Standard segmentation, due primarily to improvements in data storage. When you add or import contacts, custom data fields are not always filled or created if the data is blank or empty. For instance, if a field is blank in your import file and you import with the SmartSubscribe option, a blank custom field is added. However, if you do not use SmartSubscribe, the custom field is not created. If a field is not filled on import or save, then it essentially does not exist. When you search for contacts, you must take into account fields where data exists vs. fields that don't exist at all.
For example, if you want to search for contacts who do not want to receive the monthly version of your email (custom_monthly != 1), in Standard segmentation, your rule would look like:
custom_monthly != 1 or custom_monthly Is Null
The operator 'Is Null' finds all contacts that have never had data stored for the field, and '!= 1' finds all contacts that have data stored, but it is not the number 1, meaning it could be blank, or 0, or a string like NO.
As of Version 16.00 (January 14, 2021), customers using new custom fields in segmentation rules where the Operator is Not Equal, Not Like or Not In, will experience a change in how we calculate the results of the rule. This will have no effect on old Custom fields. Currently, if a rule has a “Not” operator, it will specifically calculate everyone who meets the criteria but wouldn’t calculate anyone with a null value. As an example, if you have the following segment rule:
AND
State “IS NOT NULL”.
Values
A Value is required for all conditions except those using the 'IS NULL' or 'IS NOT NULL' operators. If a value is missing or incorrectly formatted, the field will appear with a red outline. Mouse over or click in the field to display a tool tip with information on how to correct the issue. If you attempt to save with invalid settings, an error will occur and allow you to make corrections before saving.
Each field type expects a value to match that type. Dates also require sub-types and a matching value pair.
Type | Sub-Type | Expected Value |
Number | -/+ integer | |
Float | -/+ float | |
Text | string of characters | |
Date | Value of | date in format mm/dd/yyyy |
Date | Day of | integer from 1 to 31 |
Date | Month of | integer from 1 to 12 or List (see below) |
Date | Year of | four digit integer |
Date | Days between/before/after, End Date | date in format mm/dd/yyyy |
Date | Days between/before/after, Value | -/+ integer |
Date | (Anniversary of) Days between/before/after, End Date | date in format mm/dd/yyyy |
Date | (Anniversary of) Days between/before/after, Value | -/+ integer |
Date | Months between/before/after, End Date | date in format mm/dd/yyyy |
Date | Months between/before/after, Value | -/+ integer |
Date | (Anniversary of) Months between/before/after, End Date | date in format mm/dd/yyyy |
Date | (Anniversary of) Months between/before/after, Value | -/+ integer |
Date | Years between/before/after, End Date | date in format mm/dd/yyyy |
Date | Years between/before/after, Value | -/+ integer |
Zip Code Range*** | Miles | 5 digit numeric zip code |
List of Values
Most Operators allow only one Value per condition. With the 'IN' and 'NOT IN' operators, you can enter a list of possible values, including a blank value. These operators act as a group of OR conditions in a single definition.
For example, to find all contacts who live in Washington OR Oregon OR Idaho OR California, use the following:
state IN WA,OR,ID,CA
To define the list of Values, select a Field and then the 'IN' and 'NOT IN' operator. Click to select the Value field and enter each value separated by a comma (WA,OR,ID,CA).
Range***
Zip Code Range field allows you to query for contacts within a mile range of a specific zip code. Drag the Zip Code Range field to the workspace, then select a Mile range from 5 to 100 miles (in 5 mile increments). Enter a single 5-digit Zip Code in the Value field.
To search within a range of multiple zip codes, use the OR condition type and group the Zip Code Range queries together.
***Zip Code Range in 11.2 and up
Predefined Values
While most fields require you to enter a value, the Date: Month of, Subscription Format, and Tracking Event Type fields provide a list of options based on the values allowed for the default fields.
Month Values |
January |
February |
March |
April |
May |
June |
July |
August |
September |
October |
November |
December |
Subscription Format
Plain Auto is the default format when you import contacts to a list and do not define the contact selected format. It acts the same as Plain Text when sending a campaign, but is used to differentiate between contacts that have chosen to receive Plain Text versus contacts who have not selected a preferred format. When segmenting based on Format, if you want to find all contacts who will receive Plain Text messages, create a condition that checks for Subscription Format IN Plain Auto, Plain Text.
Subscription Format options include:
String | # | Description |
Plain Auto | 0 | Default subscription format, Sends Plain Text message |
Plain Text | 1 | Plain text with no formatting |
HTML | 2 | HTML formatting |
Multipart MIME | 99 | Merged Plain Text and HTML |
Tracking Event Type
Tracking Event Type options include:
**Note: Tracking_Event_Type Not Equals will return 0 results. To search for contacts who have NOT performed an event, use Advanced Segmentation or Remarketing.
String | # | Description |
Sent Message | 9 | Message was sent to contact. Track Sends must be enabled in the realm. Only available on Broadcaster systems. |
Read (Open) Message | 10 | Contact read or opened message |
Clicked on URL | 11 | Contact clicked a URL in message |
Subscribed | 20 | Contact opted in to subscribe to a list |
Unsubscribed | 21 | Contact opted out of a list |
Globally Unsubscribed | 22 | Contact opted out of all lists in the realm |
Universally Unsubscribed | 23 | Contact opted out of all lists in the system. Only available on SMB systems. |
Soft Bounce | 30 | Message bounced back as Soft Bounce |
Hard Bounce | 31 | Message bounced back as Hard Bounce and opted out |
Complaints | 34 | Contact reported the message as abuse or junk |
Block Bounce | 36 | Message bounce back as a Block Bounce |
Display Message | 40 | Contact clicked to display message in a browser |
Display Message: Mobile | 43 | Contact clicked to display message in a mobile browser |
FTAF | 50 | Contact clicked to forward the message to a friend |
FTAF (Anon) | 51 | Anonymous user clicked to forward message to a friend |
Sent Message (one-off) | 70 | Message was sent to contact via API single message. API must be enabled on the realm |
Sent cc Message (one-off) | 72 | Message was sent to contact via API single message carbon copy (CC). API and CC must be enabled on the realm |
Clicked Preference Site Unsubscribe Link | 81 | Contact clicked a Preference Site Unsubscribe link in a message* |
Clicked Preference Site Manage Link | 82 | Contact clicked a Preference Site Manage link in a message* |
Clicked Preference Site Subscribe Link | 83 | Contact clicked a Preference Site Subscribe link in a message* |
Cart Abandonment | 121 | Contact abandoned a cart tracked with analytics. Analytics integration must be enabled on the realm |
Product Purchases | 122 | Contact purchased a product tracked with analytics. Analytics integration must be enabled on the realm |
Product Views | 123 | Contact viewed a product tracked with analytics. Analytics integration must be enabled on the realm |