Audience drift
The same segment is defined differently in analytics, CRM, ads, and product tools. Numbers never match. Trust erodes.
A canonical segmentation layer that lets marketers self-serve audiences without duplicating logic or dragging your data team into every request.
{
"name": "Jakarta Shoppers",
"description": "Users from Jakarta who purchased in the last 14 days",
"specification": {
"userbase_id": "default_userbase",
"inclusion": {
"relation": "intersection",
"slices": [
{
"type": "past_action",
"past_action": {
"relation": "intersection",
"user_actions": [
{
"event_id": "purchase",
"window": {
"operator": "in_the_last",
"params": ["14d"]
}
}
],
"user_attributes": [
{
"key": "city",
"operator": "=",
"value": ["Jakarta"]
}
]
}
}
]
}
}
}Everyone has user data. Very few teams agree on what a segment actually means.
The same segment is defined differently in analytics, CRM, ads, and product tools. Numbers never match. Trust erodes.
Every new campaign turns into a SQL request. Engineers spend time exporting lists instead of building systems.
Segments live inside tools instead of being shared, versioned, and owned as a first-class definition.
Slicer defines what a segment means before it is evaluated or activated.
Write a segment once using a canonical specification. Definitions are explicit, versioned, and reviewable.
The definition is compiled into warehouse-native SQL and evaluated where your data already lives.
The resulting audience is reused across analytics, marketing, product, or machine learning workflows.
Slicer is designed to sit alongside your data stack, not replace or abstract it.
Segments are evaluated directly in your data warehouse. No data ingestion. No shadow copies. No sync delays.
Segments are defined, versioned, and consumed through APIs. They can be used by analytics, marketing, product, or ML systems.
Slicer does not store user profiles, events, or traits. It defines meaning, not state.