Filtering data

Filters let you narrow down data outputs by customer attributes, event attributes, and time ranges. You'll use them across analyses and campaigns—in reports, metrics, segmentations, and audience definitions.

📘

Note

You can also filter customers at the project level using the Email list hygiene filter.

Filter types

There are 3 filter types available across all Bloomreach features:

Filter typeWhat it does
Date filtersLimits results to events within a specific time range.
Customer filtersFilters based on customer attributes or event history.
Event filtersFilters events based on their attributes.

Filter_types.pngDate, customer, and event filter types shown in the metric creation interface.

All three filter types as they appear when creating a metric.

For a full reference of the operators available within each filter type, see Filter operators.

Event filters

Event filters let you filter by the attributes of a specific event. Multiple attribute conditions are combined with AND logic—the result must satisfy all conditions defined.

Event filter counting only purchases with a value greater than 1,000.

This event filter counts only purchases where the value attribute is greater than 1,000.

Customer filters vs. event filters

Choosing the wrong filter type is one of the most common mistakes. Here's an example to illustrate the difference.

Goal: Count how many times products with a price greater than 100 were viewed.

Event filter correctly counting product views where price is greater than 100.

Correct — an event filter that counts only product views where price > 100.

Incorrect customer filter counting all product views by customers who ever viewed a product over 100.

Incorrect — a customer filter counting all product views by customers who ever viewed a product priced > 100.

The first approach (event filter) is correct. It counts only the specific product views where the price attribute is greater than 100.

The second approach (customer filter) is incorrect. It counts all product views by any customer who has ever viewed a product priced over 100—regardless of which product was viewed in each event. A customer who viewed a €200 product and a €30 product would have both events counted. A customer who only viewed €40 and €50 products would have none counted.

Negation

There are 2 ways to negate a filter, and they behave differently.

Option 1: Negate within the filter condition

Select a negating operator (for example, does not contain) from the dropdown. This matches only customers who have the attribute set but where the value doesn't meet the condition. Customers without the attribute set at all are excluded.

Result of inline negation showing only customers with the attribute set.

Result of inline negation — only customers with the attribute set are evaluated.

Option 2: Negate the entire filter

Click the N button on the right side of the filter. This inverts the entire condition and includes customers who don't meet it — including those who have no value set for the attribute at all. This returns a broader result set than option 1.

Whole-filter negation using the N button.

Whole-filter negation using the N button — includes customers without the attribute.

Filtering logic

Bloomreach filtering is based on De Morgan's laws. When combining conditions with AND and NOT, follow this pattern:

  • Goal: Find customers who have marketing consent AND didn't buy product_123 AND did not buy product_456.
  • Use: A AND (NOT B OR NOT C)

This correctly excludes anyone who bought either product, in line with De Morgan's laws.

📘

Condition limit

A single filter can contain a maximum of 26 conditions (A–Z).

Using brackets to group filters

Brackets let you control how AND/OR conditions are evaluated across multiple filters. Without brackets, conditions are evaluated in sequence and may produce unintended results. For example, you can enforce (A OR B OR C) AND D instead of A OR B OR (C AND D).

Group filters using brackets

  1. Click the first filter you want to group. It highlights with a blue outline.
  2. Select the remaining filters for the group.
  3. Click the bracket icon that appears at the top edge of the first selected filter.
  4. The selected filters group into a single bracketed block.

Modify or remove a group

  1. Click the grouped block to select it.
  2. Click the bracket icon with a cross to ungroup.
  3. Select a different set of filters and regroup as needed.