Operators Reference
This page documents all comparison operators available in the audience filter builder. Each operator is listed with its supported data types, behavior, and examples.
Operator Summary
| Operator | String | Number | Boolean | Date / Timestamp | Description |
|---|---|---|---|---|---|
| Equals | Yes | Yes | Yes | Yes | Exact match |
| Not Equals | Yes | Yes | Yes | Yes | Inverse of equals |
| Contains | Yes | — | — | — | Substring match |
| Not Contains | Yes | — | — | — | Inverse of contains |
| Starts With | Yes | — | — | — | Prefix match |
| Not Starts With | Yes | — | — | — | Inverse of starts with |
| Ends With | Yes | — | — | — | Suffix match |
| Not Ends With | Yes | — | — | — | Inverse of ends with |
| Greater Than | — | Yes | — | Yes | Strict greater than |
| Greater Than or Equal | — | Yes | — | Yes | Greater than or equal |
| Less Than | — | Yes | — | Yes | Strict less than |
| Less Than or Equal | — | Yes | — | Yes | Less than or equal |
| Between | — | Yes | — | Yes | Inclusive range |
| Not Between | — | Yes | — | Yes | Outside inclusive range |
| In | Yes | Yes | — | — | Match any value in a list |
| Not In | Yes | Yes | — | — | Match no value in a list |
| Is Null | Yes | Yes | Yes | Yes | Value is null |
| Is Not Null | Yes | Yes | Yes | Yes | Value is not null |
| Is True | — | — | Yes | — | Boolean is true |
| Is False | — | — | Yes | — | Boolean is false |
String Operators
Equals
Exact match comparison. Case-sensitive by default.
| Field | Operator | Value | Matches |
|---|---|---|---|
country | Equals | "US" | Entities where country is exactly "US" |
SQL: country = 'US'
Not Equals
Inverse of equals. Matches entities where the field does not have the specified value.
| Field | Operator | Value | Matches |
|---|---|---|---|
status | Not Equals | "churned" | Entities where status is anything except "churned" |
SQL: status != 'churned'
Not Equals does not match null values. If status is null, the entity will not be included. To include nulls, combine with an OR Is Null condition.
Contains
Substring match. Returns entities where the field value contains the specified text anywhere within it.
| Field | Operator | Value | Matches |
|---|---|---|---|
email | Contains | "@company.com" | All emails containing "@company.com" |
SQL: email LIKE '%@company.com%'
Not Contains
Inverse of contains. Matches entities where the field value does not contain the specified text.
| Field | Operator | Value | Matches |
|---|---|---|---|
email | Not Contains | "test" | All emails that do not contain "test" |
SQL: email NOT LIKE '%test%'
Starts With
Prefix match. Returns entities where the field value begins with the specified text.
| Field | Operator | Value | Matches |
|---|---|---|---|
phone | Starts With | "+1" | All phone numbers starting with "+1" |
SQL: phone LIKE '+1%'
Not Starts With
Inverse of starts with. Matches entities where the field value does not begin with the specified text.
Ends With
Suffix match. Returns entities where the field value ends with the specified text.
| Field | Operator | Value | Matches |
|---|---|---|---|
email | Ends With | "@gmail.com" | All Gmail addresses |
SQL: email LIKE '%@gmail.com'
Not Ends With
Inverse of ends with. Matches entities where the field value does not end with the specified text.
Numeric Operators
Equals / Not Equals
Exact numeric match. Same semantics as string equals/not equals.
| Field | Operator | Value | Matches |
|---|---|---|---|
order_count | Equals | 0 | Entities with exactly zero orders |
Greater Than
Strict greater than comparison.
| Field | Operator | Value | Matches |
|---|---|---|---|
lifetime_value | Greater Than | 1000 | Entities with lifetime value above 1000 |
SQL: lifetime_value > 1000
Greater Than or Equal
Greater than or equal comparison.
| Field | Operator | Value | Matches |
|---|---|---|---|
order_count | Greater Than or Equal | 5 | Entities with 5 or more orders |
SQL: order_count >= 5
Less Than
Strict less than comparison.
| Field | Operator | Value | Matches |
|---|---|---|---|
days_since_last_purchase | Less Than | 30 | Entities who purchased within the last 30 days |
SQL: days_since_last_purchase < 30
Less Than or Equal
Less than or equal comparison.
| Field | Operator | Value | Matches |
|---|---|---|---|
avg_session_minutes | Less Than or Equal | 2 | Entities with average session 2 minutes or less |
SQL: avg_session_minutes <= 2
Between
Inclusive range comparison. Matches entities where the field value is between the lower and upper bounds (inclusive of both bounds).
| Field | Operator | Lower | Upper | Matches |
|---|---|---|---|---|
lifetime_value | Between | 100 | 500 | Entities with lifetime value from 100 to 500 |
SQL: lifetime_value BETWEEN 100 AND 500
Not Between
Inverse of between. Matches entities where the field value is outside the specified range.
| Field | Operator | Lower | Upper | Matches |
|---|---|---|---|---|
age | Not Between | 18 | 65 | Entities younger than 18 or older than 65 |
SQL: age NOT BETWEEN 18 AND 65
Boolean Operators
Is True
Matches entities where the boolean field is true.
| Field | Operator | Matches |
|---|---|---|
is_enterprise | Is True | All enterprise entities |
SQL: is_enterprise = TRUE
Is False
Matches entities where the boolean field is false.
| Field | Operator | Matches |
|---|---|---|
has_opted_out | Is False | All entities that have not opted out |
SQL: has_opted_out = FALSE
Equals / Not Equals
Boolean fields also support equals and not equals with explicit true or false values. Functionally equivalent to Is True / Is False.
Date and Timestamp Operators
Date and timestamp fields support the same comparison operators as numeric fields (equals, not equals, greater than, less than, between), plus relative date values.
Absolute Dates
Enter a specific date or timestamp value:
| Field | Operator | Value | Matches |
|---|---|---|---|
created_at | Greater Than | 2025-01-01 | Entities created after January 1, 2025 |
Relative Dates
The filter builder supports relative date expressions that are computed at evaluation time:
| Expression | Description |
|---|---|
today | Current date |
N days ago | N days before today |
N weeks ago | N weeks before today |
N months ago | N months before today |
N years ago | N years before today |
Example:
| Field | Operator | Value | Matches |
|---|---|---|---|
last_purchase_date | Greater Than | 30 days ago | Entities who purchased within the last 30 days |
created_at | Between | 1 year ago / today | Entities created in the last year |
Relative dates are re-computed on each audience evaluation, so the audience membership stays current as time passes.
List Operators
In
Matches entities where the field value is any one of the specified values. Enter values as a comma-separated list.
| Field | Operator | Values | Matches |
|---|---|---|---|
plan_type | In | "free", "trial" | Entities on free or trial plans |
country | In | "US", "UK", "CA", "AU" | Entities in English-speaking countries |
SQL: plan_type IN ('free', 'trial')
Not In
Inverse of In. Matches entities where the field value is not any of the specified values.
| Field | Operator | Values | Matches |
|---|---|---|---|
status | Not In | "deleted", "banned" | All active entities |
SQL: status NOT IN ('deleted', 'banned')
Null Operators
Is Null
Matches entities where the field value is null (not set).
| Field | Operator | Matches |
|---|---|---|
phone | Is Null | Entities with no phone number |
SQL: phone IS NULL
Is Not Null
Matches entities where the field value is not null (has a value).
| Field | Operator | Matches |
|---|---|---|
email | Is Not Null | Entities with an email address |
SQL: email IS NOT NULL
Null handling is important in audience definitions. Most comparison operators (equals, greater than, contains, etc.) return false when the field value is null. If you want to explicitly include or exclude null values, use the Is Null / Is Not Null operators.
Operator Behavior by Data Type
This matrix summarizes which operators are available for each data type:
| Operator | String | Number | Boolean | Date | Timestamp |
|---|---|---|---|---|---|
| Equals | Yes | Yes | Yes | Yes | Yes |
| Not Equals | Yes | Yes | Yes | Yes | Yes |
| Contains | Yes | — | — | — | — |
| Not Contains | Yes | — | — | — | — |
| Starts With | Yes | — | — | — | — |
| Not Starts With | Yes | — | — | — | — |
| Ends With | Yes | — | — | — | — |
| Not Ends With | Yes | — | — | — | — |
| Greater Than | — | Yes | — | Yes | Yes |
| Greater Than or Equal | — | Yes | — | Yes | Yes |
| Less Than | — | Yes | — | Yes | Yes |
| Less Than or Equal | — | Yes | — | Yes | Yes |
| Between | — | Yes | — | Yes | Yes |
| Not Between | — | Yes | — | Yes | Yes |
| In | Yes | Yes | — | — | — |
| Not In | Yes | Yes | — | — | — |
| Is Null | Yes | Yes | Yes | Yes | Yes |
| Is Not Null | Yes | Yes | Yes | Yes | Yes |
| Is True | — | — | Yes | — | — |
| Is False | — | — | Yes | — | — |
Next Steps
- Filter Builder — How to use operators in the visual builder
- Creating an Audience — End-to-end audience creation guide