GA4 Segments: User, Session and Event Segments

Segments let you look at one slice of your data inside a GA4 exploration: buyers, sessions from one campaign, or a single event on one operating system. This guide covers the three segment scopes, how to build conditions, sequences and exclusions, the limits, the segment overlap technique, and how segments differ from audiences and from comparisons in standard reports.

This guide is built from Google's Analytics Help articles on the segment builder, applying segments and filters in explorations, segment overlap, comparisons in reports and getting started with explorations. For the exploration workspace and its other techniques, see our guide to GA4 explorations; for groups of users you can reuse in reports and Google Ads, see GA4 audiences.

What a GA4 segment is

Google defines a segment as "a subset of your Analytics data that can be used in Explorations for analysis", for example users from one country, or users who bought a particular line of products. Two points shape everything else:

  • Segments live in Explore only. "Segments are available only within the Explore module." The standard reports use comparisons instead (see below).
  • Segments are retroactive. A segment "doesn't include any membership logic and it's fully retroactive": a purchasers segment includes everyone who purchased during the date range of the exploration, even if you build the segment today.

A segment can be local or property level. Any user role can create a local segment, but it is "available only to the user who created them and only within the exploration where they were created". Sharing the exploration does not share its local segments. Property level segments can only be created and edited by users with Editor or higher permissions (see GA4 user permissions), and every user of the property can then apply them to their own explorations.

User, session and event segments

Every segment has a scope, and the scope decides how much data comes along with each match:

  • User segments: people who engaged with your site or app, for example users who added items to the cart but didn't complete a purchase.
  • Session segments: sessions, for example all sessions that came from one advertising campaign.
  • Event segments: individual events, for example purchase events in one location, or app_exception events on one operating system.

Google's example makes the difference concrete. A user browses on day one without buying, comes back on day two and buys. With a date range of yesterday and today:

SegmentWhat it returns
User segment: users with a purchase eventAll of this user's activity from both days
Session segment: sessions with a purchase eventOnly today's session, the one with the purchase
Event segment: purchase eventsOnly the single purchase event

So if you want to know what buyers did before they bought, use a user segment. If you want to know what happened in the visit that converted, use a session segment. Sessions and users are explained in our guide to users vs sessions.

Three ways to create a segment

In an exploration, click the plus symbol beside "Segments" in the Variables panel. Google lists three options:

  1. Custom segment: pick the scope, enter a name and description, then click Add new condition. Apply and Save to property stay grayed out until you enter at least one complete condition.
  2. Suggested segment: pre-built segments and templates. Segments in the General tab work as they are; templates already contain conditions and you only fill in the values.
  3. From your data: right-click a data point on the canvas and choose Create segment from selection. From there you can also use the segment to build an audience.

An Editor can also create a property level segment in Admin > Data display > Segments, by clicking New segment.

To use a segment, drag it from the Variables panel into Segment comparisons in the Settings panel, or double-click it. One detail on dates: a condition built on the event_count metric can carry its own time period, such as event_count > 5 in any 5-day period. Google advises keeping that period less than or equal to the segment's date range, because "the segment can never include more data than what is included in the date range."

Conditions, scope and condition groups

A condition picks the data to evaluate, an operator and one or more values. Google's example: a user segment for North America uses the Country ID dimension, the "is one of" operator and the values US, CA and MX. There are three kinds:

  • Dimension conditions: demographics, geography, technology and so on. GA4 won't let you mix incompatible traffic source or attribution dimensions in one segment.
  • Metric conditions: based on predictive metrics, for example in-app purchase probability above the 90th percentile.
  • Event conditions: an event plus any of its parameters. A custom parameter has to be registered as a custom dimension first, either in Admin or by clicking register in the segment builder. See GA4 custom dimensions.

Condition scope

For user and session segments, each condition has a scope of its own: within the same event, within the same session, or across all sessions (the whole lifetime of the user). Conditions in an event segment must all occur within the same event.

"At any point"

By default, a user segment with dimension conditions includes users while they meet the condition and drops them when they no longer do. Select At any point to keep users who met the condition at any time in the period. In Google's example, a user who was in Brazil two months ago but is somewhere else now stays in a "Country = Brazil" segment over the last 3 months only with At any point selected.

Condition groups

Inside a group, conditions are joined with AND or OR. Groups are joined with AND, and each group can use a different scope, so one segment can mix "within the same event" and "across all sessions".

Sequences and exclusions

Sequences (user segments only)

User segments can include or exclude people who did steps in a set order. Click Add sequence, then define each step as a simple event (add_to_cart) or a condition (add_to_cart AND item_category = shoes). Between steps you choose:

  • Directly followed: the next event has to come immediately after the previous one.
  • Indirectly followed: other events can happen between the two steps.

A time constraint can require the whole sequence to finish within a period, such as a few days. Google notes that the same sequence can give slightly different user counts in paths, funnels, segments and audiences, because each "have optimizations that might not perfectly match." If you need step-by-step drop-off rather than a group of users, a funnel exploration is the better tool.

Exclusions

Conditions include data by default. To exclude, add a condition group and set it to exclude:

  • Temporarily exclude users when: leaves users out only for the periods when they meet the condition.
  • Permanently exclude users when: leaves them out if they ever met it.

"Segments first evaluate all your inclusion conditions, then apply any exclusion conditions you've defined." A segment can have several exclude groups; to exclude on several conditions, Google says to use OR.

Limits

LimitValue (Google)
Segments per explorationUp to 10
Segments applied to one technique at a timeUp to 4
Saved (property level) segmentsUp to 50 per standard property, 200 per 360 property
Filters per tabUp to 10
Segments in a segment overlapUp to 3 user segments

Filters are not segments: a filter restricts the data in the current exploration tab, while segments are "available in any tab of the current exploration." With several filters, all of them must be met.

Segment overlap

The segment overlap technique compares up to 3 user segments in a diagram, for example New Users, Mobile Traffic and Converters. Start it from Explore > Template Gallery > Segment overlap. How to read it:

  • Point at the inside of a segment or intersection for the exclusive numbers, with any overlap with other segments taken out.
  • Point at the border of a segment for the inclusive numbers, overlaps included.
  • The table below the diagram takes a breakdown dimension (Google's example uses Country) and up to 10 metrics.

Right-click an area of the diagram, or a cell in the table, to create a new segment from it, such as Mobile Traffic AND Converters AND New Users. You can then use it in other tabs of the exploration, or publish it for other explorations.

Segments vs audiences vs comparisons

SegmentAudienceComparison
Where you use itExplorations onlyReports, comparisons, Google AdsStandard reports
Looks back in timeYes, fully retroactiveNo, collects from the day it is createdAudience-based conditions only from the audience's creation date
ConditionsDimensions, metrics, events, sequences, exclusionsUsers, with membership that changes over timeDimensions and dimension values only

Comparisons are the report-side tool. In a report, click the comparison icon at the top right and pick a saved comparison or create one. Several values in one condition are joined with OR (Platform = Android OR iOS); several conditions are joined with AND, and you can add up to 4 more conditions. Each comparison appears color-coded side by side with the others. Google includes prebuilt saved comparisons for direct, organic, web and mobile traffic, and Editors can save up to 200 comparisons per property in Admin > Data display > Comparisons.

For complex criteria such as a sequence of actions in a report, Google's advice is to build an audience first and use it as a comparison condition, but that "will only apply to data gathered from the point when the audience was created onwards." For a past period, a segment in an exploration is the way. Because audiences have membership rules and segments do not, Google warns you may see different user numbers for a segment and an audience with the same conditions, and says that is intentional.

How we use segments

This is our own practice, not Google guidance:

  • We pick the scope by the question first: "what did people who enquired do?" is a user segment; "what happened in the visit that enquired?" is a session segment.
  • Segments we will reuse, such as visitors who fired a key event, are saved at property level with a clear name and description, so the whole team works from the same definition.
  • We keep internal traffic out with the property's data filter, not with a segment, so every report and exploration agrees.
  • When a segment answers a question we will ask every month, we also create the matching audience, so it starts collecting data for reports and comparisons.
  • We use segment overlap to size a group before building an audience for ads, for example returning users who came from organic search and have not enquired yet.

Frequently asked questions

Can I use GA4 segments in standard reports?

No. Google says segments are available only in the Explore module. In standard reports, use comparisons, which filter by dimensions and dimension values, or an audience as a comparison condition.

Are GA4 segments retroactive?

Yes. A segment is a set of conditions applied to the exploration's date range, so it includes past data. Audiences are the opposite: they only collect from the day they are created.

How many segments can I use in a GA4 exploration?

Up to 10 per exploration, and up to 4 applied to one technique at a time. A standard property can save up to 50 property level segments, a 360 property up to 200.

What is the difference between a user segment and a session segment?

A user segment returns all activity in the date range from users who matched. A session segment returns only the sessions that matched. For buyers, the first shows their earlier browsing too; the second shows only the session with the purchase.

Why does my segment show a different number of users than my audience?

Google says this is intentional. An audience has membership logic, with users entering and leaving over time, and is not calculated before its creation date; a segment is fully retroactive and has no membership logic.

For more on measurement, see our guides to GA4 basics, path exploration, cohort exploration, the landing page report and (not set) values.