In Data 360, the segment canvas is the drag-and-drop interface where you define who belongs in your audience. You pick a target object to βSegment Onβ, typically a Unified Individual or an Account, and then narrow down that population by dragging attributes from the library on the left and configuring filter logic on the canvas.
UI description
The segment canvas (a.k.a. Segment Builder, Visual Builder) is a drag-and-drop workspace where you define audience logic without writing SQL. The interface has four main areas:

- Left β Attribute Library with all available data points, split into Direct Attributes (1:1 fields like First Name), Related Attributes (1:N engagement data like purchases), and Calculated Insights (pre-computed metrics). On the second tab you can choose segments.
- Center β the canvas, where you build logic. Dragging an attribute creates a Rule Container with an operator and value. The canvas has two filter tabs β Include and Exclude (max 50 filters each, 100 total) β plus a separate Group, Rank and Limit tab for prioritization.
- Above the canvas β segment population count ribbons, which show the total qualifying count for the whole segment. Each container has its own Calculate Population icon for rule-level impact.
- Top β details and buttons. You will find here the Segment On and Publish information, and Preview, Done, and Save buttons to the right.
Direct vs Related Attributes
On the segment canvas, the practical difference between Direct and Related Attributes lies in how they are visually structured, how their logic is configured, and how they interact with population counting tools.

Direct attributes land as standalone rules. You pick an operator, supply a value, and the container is done. The population ribbon calculates how many records match that field condition.
Related attributes land inside a Container that requires an extra step before field-level filtering: you first define a Measurement β how many times or in what way the related records should occur (Count, Sum, Average, Min, Max). Only then can you add specific field filters inside that container. The calculate population ribbon reflects the full container logic, not a single field value.
For Household segments, related attribute containers have one additional option: an Aggregate Values Across Household checkbox that evaluates combined behavior across all household members rather than per individual.
Containers
Containers are the canvas blocks that hold Related Attribute logic. Direct attributes sit on the canvas as standalone rules, but related attributes canβt, as a single profile can have hundreds of related records (purchases, email events, website visits), and all that interaction logic needs a defined boundary.
When you drag a related attribute onto the canvas, a container is created automatically. Everything inside it β the measurement, the attribute filters β applies exclusively to that specific set of related records. A filter inside a βSales Ordersβ container wonβt bleed into your βEmail Eventsβ container.
Each container shows three pieces of information in the UI:
- Container object name β identifies which DMO is acting as the aggregation entity for that block (e.g., βSales Orderβ, βWeb Engagementβ).
- Relationship paths β shows the navigation path from your Segment On object to the related data.
- Population ribbon β a Calculate Population icon on each container lets you check how many profiles that containerβs logic matches, independently of the rest of the segment. This is the fastest way to isolate an overly restrictive rule β calculate each container separately and find where the count drops unexpectedly.

Relationship paths
A relationship path is the route the system takes through your data model to reach an attribute that isnβt directly on the Segment On object. When you navigate the attribute library beyond the root level, youβre creating a path, and each step will result in a DMO join if you use an attribute in segment criteria.

When an attribute is reachable via more than one route, the library surfaces a path selector so you can choose which route to use β longer paths add more join levels to the definition. The system tries to optimize the navigation path, but in some cases itβs better to set this yourself. A shorter path means that fewer records need to be processed during the segment count, as Data 360 will join fewer DMOs in the query.
Aggregations
Aggregations (also called measurements) are the mathematical functions applied inside a container to summarize related records into a single value that can be tested against a qualification rule. Without an aggregation, the canvas has no way to evaluate 1:N data β you canβt filter on βSales Ordersβ directly, you first need to define whether you want to look for specific order count, total value, or other.

When you drag a related attribute onto the canvas, selecting an aggregation is the first required step before any field-level filtering. Count aggregation is based on records, but others require selecting the attribute that will be measured.
| Aggregation | What it calculates | Example |
|---|---|---|
| Count | Number of related records matching the filters. | Count At Least 1 Lead, Count At Most 2 Opportunities, Count Exactly 3 Sales Orders |
| Sum | Total value of a numeric field across records. | Sum Amount Is Between 500 AND 1500, Sum Quantity Is Greater Than 5 |
| Average | Arithmetic mean of a numeric field. | Average Amount Is Less Than 100 |
| Maximum / Minimum | Highest or lowest value within the record set. | Min Quantity Is Greater Than 1, Max Amount Is Greater Than Or Equal To 10000 |
Operators
Operators in the segment canvas work at two levels: you will find them in Aggregations, and also in the Segment Criteria. Letβs look at the full list of operators available in Segmentation, with a description and examples:
| Data Type | Operator | Description | Example |
|---|---|---|---|
| All | Has No Value | Field is null or empty. | Phone Number Has No Value |
| All | Has Value | Field is not null or empty. | Email Address Has Value |
| Number, Text | Is Equal To | Exact match on the value. | Country Is Equal To βPolandβ |
| Number, Text | Is Not Equal To | Excludes records matching the value. | Subscription Status Is Not Equal To βCancelledβ |
| Number | Is Less Than | Field value is below the threshold. | Age Is Less Than 18 |
| Number | Is Less Than Or Equal To | Field value does not exceed the threshold. | Number of Complaints Is Less Than Or Equal To 1 |
| Number | Is Greater Than | Field value exceeds the threshold. | Amount Is Greater Than 1000 |
| Number | Is Greater Than Or Equal To | Field value meets or exceeds the threshold. | Loyalty Points Is Greater Than Or Equal To 500 |
| Number | Is Between | Field value falls within a defined numeric range (inclusive). | Credit Score Is Between 600 and 800 |
| Number | Is Not Between | Field value falls outside a defined numeric range. | Age Is Not Between 18 and 25 |
| Text | Is Similar To | NLP-based operator using vector search to find semantically similar values (requires Vector Filters feature enabled). | Product Category Is Similar To βschool suppliesβ |
| Text | Contains | Field includes the specified substring. | Product Name Contains βPremiumβ |
| Text | Does Not Contain | Field does not include the specified substring. | Job Title Does Not Contain βInternβ |
| Text | Begins With | Field starts with the specified string. | Email Begins With βinfo@β |
| Text | Exists As A Whole Word | Field contains the specified value as a standalone word, not as part of another word. | Notes Exists As A Whole Word βVIPβ |
| Text | Matches | Field matches a pattern or regular expression. | Phone Matches β+48*β |
| Text | Doesnβt Match | Field does not match the specified pattern. | Email Doesnβt Match β*@competitor.comβ |
| Text | Is In | Field value matches any item in a provided list (up to 10,000 values with Value Suggestions). | City Is In βWarsaw, KrakΓ³w, GdaΕskβ |
| Text | Is Not In | Field value does not match any item in the list. | Tier Is Not In βBronze, Silverβ |
| Date | Is On | Field date matches a specific date exactly. | Date of Birth Is On 01/01/1990 |
| Date | Is Before | Field date is earlier than the specified value. | Contract Start Is Before 01/01/2023 |
| Date | Is After | Field date is later than the specified value. | Last Login Is After 01/01/2025 |
| Date | Is Between | Field date falls within a defined date range. | Purchase Date Is Between 01/01/2025 and 31/03/2025 |
| Date | Is Anniversary Of | Field date matches the month and day of the specified date regardless of year. | Date of Birth Is Anniversary Of today (birthday targeting) |
| Date | Is Not Anniversary Of | Field date does not match the month and day of the specified date. | Signup Date Is Not Anniversary Of 01/01 |
| Date | Greater Than Last Number Of Days | Field date is older than N days ago β excludes recent records. | Last Purchase Greater Than Last 90 Days (inactive customers) |
| Date | Last Number Of Days | Rolling lookback window β field date falls within the last N days. | Last Login Last 30 Days |
| Date | Next Number Of Days | Forward-looking window β field date falls within the next N days. | Appointment Date Next 7 Days |
| Date | Last Number Of Months | Rolling lookback window β field date falls within the last N months. | Engagement Date Last 3 Months |
| Date | Next Number Of Months | Forward-looking window β field date falls within the next N months. | Contract Expiration Next 4 Months |
| Date | Last Number Of Years | Rolling lookback window β field date falls within the last N years. | Customer Since Last 2 Years |
| Date | Last Year | Field date falls within the previous calendar year. | Purchase Date Last Year |
| Date | This Year | Field date falls within the current calendar year. | Revenue Date This Year |
| Date | Next Year | Field date falls within the next calendar year. | Renewal Date Next Year |
| Date | Day Of Week | Field date falls on a specific day of the week. | Event Date Day Of Week Monday |
| Date | Day Of Month | Field date falls on a specific day of the month. | Billing Date Day Of Month 1 |
| Date | Before Day Of Month | Field date falls before a specific day within the month. | Payment Date Before Day Of Month 15 |
| Date | After Day Of Month | Field date falls after a specific day within the month. | Shipment Date After Day Of Month 20 |
| Date | Month Of Year | Field date falls within a specific month. | Purchase Date Month Of Year December |
| Date | Not Month Of Year | Field date does not fall within the specified month. | Activity Date Not Month Of Year August |
| Date | Is Last Month | Field date falls within the previous calendar month. | Order Date Is Last Month |
| Date | Is This Month | Field date falls within the current calendar month. | Login Date Is This Month |
| Date | Is Next Month | Field date falls within the next calendar month. | Renewal Date Is Next Month |
| Date | Is Today | Field date matches todayβs date. | Appointment Is Today |
| Date | Is Tomorrow | Field date matches tomorrowβs date. | Scheduled Call Is Tomorrow |
| Date | Is Yesterday | Field date matches yesterdayβs date. | Last Purchase Is Yesterday |
| Boolean | Is True | Field value is true. | Email Verified Is True |
| Boolean | Is False | Field value is false. | Account Suspended Is False |

Include vs. Exclude tabs
Include and exclude tabs are the primary functional areas of the segment canvas. We can use them to define audience membership using standard Boolean logic.

The Include Tab is the default workspace for defining who should be in your audience. Any profile meeting the rules set in this tab is added to the potential segment population.
The Exclude Tab is used to define who must be removed from the audience, even if they meet the criteria in the Include tab. It effectively functions as a NOT operator for the segment definition.
The segment engine first evaluates the Include criteria to identify all qualifying members, then subtracts any members that meet the criteria defined in the Exclude tab to produce the final population count.
Group, Rank, and Limit
With the Group, Rank, and Limit feature, we can prioritize a group of people who are in the segment. For example, we can pick only the top 100 high spenders who are currently included in our segment.

The feature is accessed via a dedicated Rank and Limit tab and provides three options:
- Grouping β we can create a cohort or bucket based on a specific, limited number of people with proper criteria.
- Ranking β we can sort those people in a group using a chosen attribute, such as lifetime value, income, or engagement score.
- Limiting β we can limit the final population to a specific number of records.

The Limiting (Maximum Records) feature specifies the upper limit on the number of records returned by the query. If no Group By attribute is configured, the limit applies to the entire result set. If Group By is configured, the limit applies independently to each group. For example, a limit of 1000 with three groups may return up to 3000 records in total.
Hard Limits in Canvas
Segment Canvas brings some limitations that we should be careful about:
- Data 360 enforces a hard limit of 100 filters per segment; this limit is split as 50 filters for each Include and Exclude Tab.
- Exclusion logic is not available in Real-Time Segments.
- You can use up to 3 nested AND/OR operators.
- In Group, Rank, and Limit, you can use only Direct attributes and Calculated Insights.
- Group, Rank, and Limit cannot be applied in nested segments.
- You can have only one level of nested segments.