Segments
Segments group users together based on what they have done or who they are. A segment can be built from real-time activity, historical behavior, user and event properties, or an explicit uploaded list. Once a segment is defined, you can preview how many users it reaches, view the matched users, and use the segment to target campaigns and journeys.
Segments are dynamic by default: as users perform (or stop performing) the actions you describe, they move in and out of the segment automatically. This makes segments a good fit for ongoing audiences such as "active this week" or "high-intent shoppers" rather than one-time exports.
How segments are built
A segment is made up of one or more building blocks. Each block describes a condition a user must satisfy. When you combine multiple behavior conditions, an All / Any toggle controls whether a user must match every condition (All) or at least one of them (Any).
The building blocks you can use are:
- Past behavior — did, or did not do, an event in a date range
- Live user actions — recent or real-time activity (including page visits, referrers, and page counts)
- Inaction — users who have not done something within a window
- Custom - List Based — an explicit list of users you upload from a CSV
- Property filters & affinity — filter or rank users by user or event properties
The following sections describe each block and when to reach for it.
Past behavior
Past behavior targets users by the events they have (or have not) performed over a chosen time window. This is the most common starting point for a behavioral segment.
For each behavior condition you can:
- Choose did or did not do a specific event.
- Set a date range for that event (for example, "in the last 7 days"). Each behavior condition carries its own date range, so you can mix windows within a single segment.
- Apply a count aggregator to require a minimum, maximum, or exact number of occurrences — for example, did an event at least, at most, or exactly N times.
- Add property filters scoped to that event, so the condition only counts occurrences whose properties match (see Property filters & affinity).
Use the All / Any toggle to combine several behavior conditions into one audience.
Reach for past behavior when you want users defined by what they have done over a period of time, such as "purchased at least twice in the last 30 days" or "viewed pricing but never started a trial."
Live user actions
Live user actions target users based on their recent and real-time activity. Instead of looking back over a long historical window, this block focuses on what users are doing right now, which is useful for timely, in-the-moment targeting.
Use live user actions when timing matters — for example, reacting to users who just performed a key action and are still in session, or who became active again after a quiet period.
Inaction
Inaction targets users who did not perform a given event within a window. It is the natural building block for re-engagement: you describe the action you wanted users to take and the period in which they failed to take it, and the segment collects everyone who went quiet.
Use inaction for win-back and reminder audiences, such as "did not open the app in the last 14 days" or "added to cart but did not check out within 3 days."
Custom - List Based
A custom list is an explicit set of users that you provide rather than one derived from behavior. To build one, choose Custom - List Based in the Create Segment dialog, name the list, and upload a CSV of users.
Include a column to reach and identify each person — an email, phone,
user_id, or identity column — so members can be messaged and matched to
existing profiles. Any extra columns (for example name, plan, city) are
stored as user properties and become usable
for personalization and in other segments. A sample CSV is downloadable from
the builder. The upload creates the segment and its members in one step, and the
list can then be targeted from any campaign or journey.
A custom list is a static snapshot — its members are exactly the people in the file (with profile updates applied). Re-upload to create a new list. Because membership comes from the list itself, it works for imported users who have no in-product events yet.
Custom lists are useful when the audience is decided outside the product — for example, a list of webinar registrants, a hand-picked VIP group, or an audience provided by another team.
Use a custom list when you already know exactly who belongs in the audience and membership is not defined by in-product behavior.
Property filters & affinity
Beyond behavior, you can narrow or rank an audience by the attributes attached to users and events.
- Property filters match on user or event properties. Operators include
equals / does not equal, contains / does not contain, starts
with / ends with, is any of / is none of (a set of values),
numeric comparisons (greater than, at least, less than, at
most), and exists / does not exist. For example, filter to users
whose
planequalspro, or whosecityis any of a set of regions. Event property filters can also be attached directly to a past-behavior condition so they only apply to that event. - By interest / affinity ranks or selects users by their affinity to a particular property value — for instance, users with a strong affinity to a given product category or content topic. This is helpful for interest-based targeting where you care about preference, not just a single action.
For background on where these attributes come from and how they are recorded, see Properties.
Previewing and using a segment
Before you save or act on a segment, you can preview its reach (the count of matched users) and open the list of matched users to spot-check that the definition behaves as expected. Adjust the building blocks and re-preview until the audience looks right.
Saved segments can then be selected as the audience for a campaign or used to enter, branch, or filter users within a journey.
Segment examples
The examples below show how the building blocks combine in practice.
Engaged a form but stalled before booking
Target users who started a conversation but never completed the next step, so you can nudge them forward.
- Past behavior (All):
- did
Submitted Contact Formin the last 7 days, and - did not do
Started Appointmentin the last 7 days
- did
This combines a positive behavior condition with an inaction condition under the All toggle.
High-intent: repeated service-page views
Find users showing strong purchase intent by requiring multiple views of a key page.
- Past behavior: did
Viewed Service Pageat least 3 times in the last 14 days
Optionally add an event property filter so the count only includes views where
category is in your priority services.
VIP custom list from CSV
Build a fixed audience from a list owned outside the product.
- Custom list: upload a CSV of user identifiers (see CSV uploads).
Use this segment to target a specific campaign or to route those users down a dedicated path in a journey.