Event Aggregates enable the calculation of real-time metrics directly from user events. By defining logic at the platform level, you can generate dynamic attributes for Segmentation and Activation without relying on external pre-calculations or data pipelines.
Event Aggregates allow you to transform event data into actionable insights at runtime. You can programmatically answer specific behavioral questions, such as:
Financial Metrics: What is the user’s total order value or spend within a specific category?
Behavioral Diversity: How many distinct products or categories has the user interacted with?
Recency & Order: What was the user's first or most recent meaningful interaction?
Why Use Event Aggregates?
For developers and growth teams, Event Aggregates bridge the gap between raw data and personalized experiences:
Advanced Logic: Build segments based on calculated values and conditional logic rather than simple event counts.
Reduced Latency: Ensure personalization and targeting reflect the latest user activity through runtime calculations.
Pipeline Efficiency: Eliminate the need to maintain external aggregate data pipelines for standard behavioral metrics.
Precision Targeting: Apply conditional logic to specific event parameters to refine audience definitions.
Typical use cases
High-Value Targeting: Identify users who spent above a specific threshold in a target category.
Dynamic Revenue Calculation: Calculate net revenue by including or excluding specific parameters like VAT, shipping, or discounts.
Discovery Analysis: Count distinct items or actions across a specific timeframe to measure user engagement depth.
Create a new Aggregate
To create a new aggregate:
Navigate to Components > Events and Attributes > Aggregates.
Click the Create button.

Define your aggregates and select:
The aggregate function
The event to calculate from
The event parameter(s) used in the calculation
Optional event parameter filter conditions
A time window

Click the Save button.
Once created, the Aggregate is calculated for each user and becomes available across multiple modules in Insider One.
How Aggregates work
An Aggregate is a calculated value derived from event data and evaluated per user.
Each Aggregate definition consists of the following components:
Aggregates Function
The aggregates function defines how values are calculated.
Function | Description |
|---|---|
SUM | Calculates the total value of a numeric event parameter across matching events |
AVG | Calculates the average value of a numeric event parameter |
COUNT | Counts how many times an event occurred within the selected time window |
COUNT DISTINCT | Counts the number of unique values of a selected parameter |
MIN | Returns the smallest numeric value from matching events |
MAX | Returns the largest numeric value from matching events |
FIRST | Returns the value from the first matching event based on event TTL. |
LAST | Returns the value from the most recent matching event based on event time |
EXISTS | Checks whether at least one matching event exists and returns true or false |

Important Notes:
Numeric functions (SUM, AVG, MIN, MAX) require numeric event parameters.
FIRST and LAST are evaluated based on event timestamps.
COUNT DISTINCT applies to parameter values, not event occurrences.
Filter conditions and time windows affect which events are included in the calculation.
Event and Event Parameters
Each “Aggregates” is calculated based on:
A selected event (for example, purchase)
One or more event parameters (for example, unit_sale_price, category, vat)
Depending on the function:
Numeric parameters are required for SUM, AVG, MIN, and MAX
Any compatible parameter can be used for COUNT, DISTINCT COUNT, FIRST, or LAST
Filter Conditions (Optional)
Filter conditions allow you to break down an Aggregate within the same event by adding conditions on event parameters.
They work only on the selected event’s parameters and determine which event instances are included in the calculation.
This enables you to calculate Aggregates on a specific subset of the same event.
How filter conditions work
When you create an aggregate:
You select one event (for example, purchase)
You select one parameter to aggregate (for example, total_price)
Filter conditions can be added using other parameters of the same event
The Aggregate is calculated only from event instances that match the filter conditions.
Example: Category-level aggregate
Scenario: You want to calculate the average purchase value, but only for purchases in the Clothes category.
Configuration:
Event: purchase
Aggregates function: SUM
Aggregated parameter: price
Filter condition: category = "Clothes"
Result:
Only purchase events where category = Clothes is included.
Other purchase events are ignored.
The result reflects category-specific behavior, not overall purchase behavior.
Time Range
The time range defines the period over which events are evaluated.
Available options include:
All Time
Last N Days
Between Dates
Important Notes:
Aggregates are calculated only within the selected time range.
The selected window cannot exceed the event’s data retention (TTL) period.
The maximum time range is 1 year.
Aggregates on User Profiles
Once an Aggregate is created:
It is calculated automatically for each user.
The calculated value appears on the User Profile.
The value updates as new events are received or as events move in and out of the selected time window.
Aggregates behave like calculated metrics derived from behavior, not static attributes.

Use Aggregates in Segmentation
You can use Aggregates directly in Dynamic Segments.
To use Aggregates in segmentation:
Navigate to Audience > Segments > Dynamic Segments.
Under the Standard tab, select the Aggregates segment box.
Choose the aggregate you have created.
Apply operators and add value.
Example: Target users where:
“Total spend in Female Clothing > 100 EUR”
This enables precise segmentation based on calculated behavioral metrics.

FAQs
Lifecycle and Management
Q: Can I edit or delete an existing Aggregate?
A: No. To ensure data consistency across Segmentation and Personalization, Aggregates are immutable. If logic requirements change, you must create a new Aggregate with the desired configuration.
Q: Is there a limit on the number of Aggregates I can create?
A: There is currently no fixed numerical limit. However, Aggregates are subject to system guardrails to maintain platform performance. Highly complex or inefficient definitions may be restricted.
Q: Do Aggregates count toward my attribute limit?
A: No. Since Aggregates are calculated metrics processed at runtime, they do not consume Attribute limits.
Logic and Calculation Constraints
Q: Are Aggregates calculated per user or globally?
A: Aggregates are always user-scoped. Each value is calculated based on the individual event history of a specific user.
Q: Can I use multiple event types in a single Aggregate?
A: No. Each Aggregate is scoped to a single event type. While you can apply filters based on parameters within that event, cross-event logic is not supported.
Q: Can filter conditions reference external attributes?
A: No. Filters can only reference parameters belonging to the selected event. They are used exclusively to include or exclude specific instances of that event from the calculation.
Q: What happens if an event parameter is missing or null?
A: If a required parameter is missing from an event instance, that specific instance is excluded from the calculation. The Aggregate will continue processing using the remaining valid event data.
Q: What happens if I change the event or event parameter?
A: Aggregates depend on the schema defined at the time of creation. If an event or parameter structure changes, the Aggregate may stop producing valid results. In this scenario, creating a new Aggregate is recommended.
Data Accuracy and Discrepancies
Q: Why does an Aggregate value change or decrease over time?
A: Values fluctuate based on the Time Window and Data Retention (TTL) settings. Events fall out of the calculation when they exit the selected lookback window or are deleted due to TTL, even if no new events are received.
Q: Why doesn’t my Aggregate value match my external system?
A: Discrepancies are typically caused by differences in Time Windows, TTL limits, parameter-level filters, or specific Identity Resolution (unification) logic. Ensure both systems are aligned on these configurations.
Q: What happens if my event data is inconsistent?
A: Because Aggregates rely on raw event data, any inconsistencies in payloads or identifiers will lead to inaccurate calculation results.
Integration and Performance
Q: Are Aggregates updated in real-time?
A: Aggregates update as new events are processed. Note that a marginal delay may occur depending on Ingestion and processing cycles.
Q: Why doesn’t an aggregate trigger an action when the value changes?
A: Aggregates update based on event data and time windows. Changes caused purely by time passing (without a new event) do not automatically trigger actions.
Q: Where can I use Aggregates within the platform?
A: Aggregates are primarily used in Dynamic Segments and Dynamic Content. A single definition can be shared across both modules.