Audience Builder Reference
Private Beta
Complete reference for the Audience Builder’s condition types, operators, and system limits.
For a step-by-step walkthrough, see How to Create an Audience.
Condition types
| Type | What it filters | Example |
|---|
| Properties | Columns on the data source | lifetime_value >= 5000 |
| Relations | Related records (existence or aggregate) | Customers who placed 3+ orders in the last 90 days |
| Events | Timestamped event tables (with time windows) | 3+ Add to Cart interactions in the last 7 days |
| Audiences | Membership in other saved audiences | Not in Recently Contacted |
Relations
Relationship conditions combine:
- A path of one or two relationship hops
- An optional condition on the final entity (for example,
store_type = "Flagship") - A quantifier (
any / all / none) or aggregate (count, sum, avg, min, max), or both - An optional time window (when the related entity is an event model)
Events
Events use the same structure as relations but also support time windows:
| Mode | Description |
|---|
| Any time | No time filter (default) |
| In the last | Relative window, for example In the last 30 days |
| Between | Absolute date range |
| After | On or after a specific date |
| Before | Before a specific date |
AND / OR logic
- Conditions inside a group are joined with AND by default
- Toggle to OR to match any condition instead of all
- Combine groups for mixed logic:
(A AND B) OR (C AND D)
Operator reference
The operators available depend on the column’s data type.
| Label | Operator | String | Number | Boolean | Datetime |
|---|
| equal | eq | ✓ | ✓ | ✓ | ✓ |
| not equal to | neq | ✓ | ✓ | ✓ | ✓ |
| greater than | gt | — | ✓ | — | ✓ |
| greater than or equal to | gte | — | ✓ | — | ✓ |
| less than | lt | — | ✓ | — | ✓ |
| less than or equal to | lte | — | ✓ | — | ✓ |
| between | btw | — | ✓ | — | ✓ |
| not between | nbtw | — | ✓ | — | ✓ |
| in | in | ✓ | ✓ | ✓ | ✓ |
| not in | nin | ✓ | ✓ | ✓ | ✓ |
| containing | like | ✓ | — | — | — |
| not containing | nlike | ✓ | — | — | — |
| set | nnull | ✓ | ✓ | ✓ | ✓ |
| not set | null | ✓ | ✓ | ✓ | ✓ |
| in the last | inlast | — | — | — | ✓ |
Aggregates: Compare COUNT, SUM, AVG, MIN, and MAX with eq, neq, gt, gte, lt, and lte.
Preview and size estimation
- Automatic preview: A preview runs when you open a saved audience and after every save.
- Manual preview: Use Calculate size to preview unsaved changes.
Examples
The following examples use a typical ecommerce Data Graph where Customers is the data source, related to Accounts, Sales, Customer Interactions, Products, and Stores.
High value customers
- Properties:
LIFETIME_VALUE >= 5000
Frequent buyers (last 90 days)
- Events:
Customers → Sales, COUNT(Sales) >= 10, time window in the last 90 days
Churn risk: High value but lapsed
- Group 1 (Properties):
LIFETIME_VALUE >= 500 - Group 2 (Events):
Customers → Sales, quantifier none, time window in the last 90 days - Combine with: AND
Current limitations
- Relationship hops: Up to 2 hops. Deeper traversal will be supported in a future release.
- Logical nesting: Up to 2 levels deep.
- Predicates per audience: Up to 100 (configurable per workspace).
- Audience reference depth: Up to 2 levels deep.
- Time windows: Apply only to event models. Entity relationships query across all time by default.
- Aggregates on multi-hop paths: Allowed only when the path contains a single
1:many edge.
FAQ
How do I use AND and OR?
Each group is all-AND or all-OR. Click the AND/OR label between conditions to switch. To combine both, create separate condition groups.
What’s the difference between a quantifier and an aggregate?
- A quantifier answers yes/no, for example, Do any matching records exist?
- An aggregate answers a numeric question, for example, What’s the count/sum/avg? (
count, sum, avg, min, max).
Use a quantifier for existence and an aggregate for counting or summing values.
Questions? We're here to help.
Join the RudderStack Slack community or email us for support