Before you begin
- A configured schema.
Add and combine filters
Add filters for the customer data or behavior that determines whether someone belongs in the audience. You can build the conditions directly, start from an audience template, or ask the agent to draft or refine the logic.
Combine conditions with AND and OR
Use AND when all conditions must match. Use OR when any condition can match. For example, to include users who either made a purchase or added an item to their cart, but only if they belong to the Gold tier:Nest conditions within a related model
Conditions on the same related record can have their own AND/OR logic. For example:has a Purchase where (amount > 100 AND category = "Electronics") OR (amount > 50 AND category = "Accessories")
Open the … menu on the related-model filter and select Add “OR” group to add another condition group inside it.


Filter on related records
Use related and event models when the audience depends on data that isn’t stored directly on the parent model. For example, with aUsers → Orders relationship, you can build an audience of users who placed an order worth more than $100. Customer Studio evaluates the related records, then includes the parent records that meet your conditions.
Select Add filter, then Relations to filter on a related model.


If a model or field you expect isn’t available, your data team may need to
update the schema
relationships or merge
columns.
Filter on events
Event filters target customers by what they did and when. Add an event condition, then refine it:- Frequency — require the event at least, at most, or exactly a number of times (for example, purchased at least one time).
- Time window — limit to a period such as the last 30 days, using a rolling or calendar window.
- Where — filter on the event’s own properties, such as
category equals "Toy". - Sequential events — add Then did perform or Then did not perform to require or exclude a later event within a time window, such as viewed a product and then did not purchase.
Filter by audience or journey membership
Reuse an existing audience or a journey as a condition. Audience membership — filter by whether customers Are included in or Are not included in another audience. Use this to build on top of an existing segment or to exclude one. Journey participation — target customers by where they are in a journey:Compare columns and traits
Instead of comparing a field with a fixed value, you can compare two columns or traits. For example,lifetime_value > avg_order_value includes customers whose lifetime value is greater than their own average order value, rather than comparing every customer against the same threshold.
When configuring the condition, select a value, property, or trait as the comparison, then choose the field you want to compare it with.

Trait comparison in audience filters must be enabled by Hightouch. to turn it on.
Build a trait inside the audience
When you need a calculated value for a single audience, add a trait condition directly in the builder instead of creating a reusable trait first. Choose a calculation method such as Average or Count, the column to calculate, and the event or related model to calculate across, then compare the result. Select Add filter, then Traits to create a custom trait or start from a trait template.
Filter across multiple related models
For data that spans multiple relationships, you can nest related or event filters. For example, with aUser → Purchases → Items schema, you can find users who made a purchase in the last 30 days that included an item in the Toy category.

- The outer condition finds qualifying purchases for each user.
- The inner condition finds qualifying items within those purchases.

Nested audience filtering must be enabled by Hightouch. to turn it on.
Segment across people, households, and accounts
If your schema includes multiple entity types, such as people, households, or accounts, you can use relationships between them when building an audience. For example, you could build a People audience that includes:- people in households with at least one active subscription
- people associated with accounts that recently purchased or renewed


Schema labels must be enabled by Hightouch. to turn it on.
Filter nested JSON
If a column contains a JSON object or array, use dot-path notation to filter on values inside it. For example:booking.product.geo.citytargets a nested object property.booking.0targets the first item in an array.
inventory.stock, inventory.warehouse, or an item in dimensions.


unknown type. Set the nested value’s type to String, Number, or Boolean to use the operators that type supports. For example, a numeric value can use greater than, while a string can use contains. JSON filtering is supported on parent, event, and related models.
JSON audience filtering must be enabled by Hightouch. to turn it on.
Add a list of values
For filters that accept multiple text or numeric values, you can drag a.txt or .csv file into the value field instead of entering each value manually.
This is useful for long lists such as customer IDs, organization IDs, or email addresses. The file should contain comma-separated values.

Filter operator reference
The available operators depend on the field’s data type.String operators
Use these operators for text values such as product names, locations, email domains, or status fields.contains matches the value anywhere within the field. equals matches the complete value.
exists matches any value that isn’t null. exists and is not empty also excludes empty text values.
Number operators
Number filters can compare a field against either:- a fixed value, such as
purchase_amount > 100 - a percentile, such as customers in the top 10% of lifetime value

Timestamp operators
Timestamp filters support fixed dates and relative time windows. For relative periods, choose between:- Rolling periods — calculated backward from the current time. For example,
within previous 2 months. - Calendar periods — completed calendar units. For example, if today is June 3,
within previous 2 calendar monthscovers April 1 through May 31.

If the field includes timezone information, Hightouch uses it when evaluating
the timestamp. Otherwise, Hightouch uses the warehouse’s default timezone.
Configure null behavior
Workspace admins can control whethernull values match negative operators such as does not equal. For example, consider Country does not equal USA. Depending on the workspace setting:
- Treat null values like any other value — records where
Country = nullqualify. - Use special behavior for null values — records where
Country = nulldon’t qualify.

Troubleshoot filters
A filter returns no results
First check:- that you’re filtering on the expected model
- that the relationship connects the records you expect
- that the field contains the values you’re filtering for
- how your workspace handles
nullvalues
Filter value suggestions are missing
Column suggestions may be disabled or out of date. Confirm that value suggestions are enabled. If they’re enabled but values are missing, refresh the suggestions from the filter.
A filter references a missing column
If a warehouse column was renamed or removed, an existing audience can continue to reference the old field, and the preview fails with an error that the column can’t be resolved or no longer exists.- Open the model and confirm the column exists.
- Refresh or re-save the model so Customer Studio has the current columns.
- Update any audience conditions that reference the missing field.
- Preview the audience again.
Next steps
- Build an audience to review the full audience-building workflow.
- Audience builder prompting guide for prompting patterns and guidance on using the agent.
- Create traits for reusable calculated values you want to use across audiences.