GA4 has two ways to narrow your data: Filters and Segments. They sit in different parts of the interface, operate at different scopes, and have fundamentally different consequences. Use the wrong one and you either permanently delete data from your property — with no way to recover it — or you end up running the same analysis ten times by hand when one Exploration would have done the job.
This guide explains exactly what Data Filters and Segments each do, where they live, what the differences are, and when to reach for each one. It also covers Comparisons, the third option that lives in standard reports and gets overlooked entirely.
What are GA4 Data Filters?
The definition
Data Filters are a property-level setting that permanently affect what data gets collected. They run before data is written to your GA4 property. A Data Filter that excludes developer traffic means that traffic is gone — not hidden in a report, not retrievable later, gone. Once a filter is active and a session is excluded, there is no historical data to recover.
This is the most important thing to understand about Data Filters: they are not a reporting tool. They are a data collection decision. Activating a filter changes what goes into your property permanently from that point forward.
Where Filters live
Data Filters live in Admin → Data collection and modification → Data Filters. This is a property-level admin setting, not something you find inside a report.
GA4 ships with exactly two built-in filter types: Developer Traffic (filters sessions where the device is flagged as a developer device) and Internal Traffic (filters by IP address range, using traffic type parameters you define). That is the entire list. GA4 does not have the flexible, custom view-level filters that Universal Analytics had. If you want to filter by browser, by page path, or by any custom condition, a Data Filter cannot do it — you need Segments instead.
Filter states: Testing and Active
Every Data Filter can be in one of two states: Testing or Active.
A filter in Testing state does not exclude any data. Instead, it tags affected events with a dimension called testDataFilterName so you can see which sessions would be excluded if the filter were activated. Use this to verify the filter is catching the right traffic before you commit.
A filter in Active state actually excludes the matching data. That data never reaches your reports. Switch a filter from Testing to Active only after you have confirmed in the test data that it is targeting the correct sessions. You cannot undo the exclusion of data that has already been collected.
When to use a Data Filter
Use a Data Filter only when you want to permanently exclude a category of traffic from the entire property — not just from one report. The two legitimate use cases are:
- Internal employee traffic by IP address range. If your team browses the site regularly, their sessions inflate session counts, lower conversion rates, and distort user behavior data. Defining a traffic type parameter and then filtering it at the property level removes this permanently.
- Developer traffic via the built-in Developer Traffic filter. This targets sessions where the device has been set to developer mode, which typically means testing on a local or staging build.
Both of these are permanent, property-wide decisions. If you are trying to answer an analysis question — "how do users from Germany behave?" — a Data Filter is the wrong tool entirely.
What are GA4 Segments?
The definition
Segments are non-destructive filters that you apply to Explorations (GA4's custom report tool). They change the view of the data inside a report — the underlying data in your property is untouched. You can apply a segment, run your analysis, remove it, and everything is exactly as it was. Nothing is deleted, nothing is permanently changed.
Segments exist only within a specific Exploration. They do not affect standard reports. They do not carry over between different Explorations unless you explicitly add them. Think of them as lenses you put on a report, not changes to the data itself.
The three Segment types
GA4 Explorations support three types of segments, each at a different scope:
- User segments — users who ever matched your conditions within the lookback window. A user segment for "purchased in the last 30 days" includes all sessions and events from those users, not just their purchase session. This is the widest scope: it pulls in everything associated with the qualifying users.
- Session segments — sessions that match your conditions. A session segment for "sessions where the source was paid search" includes only those sessions, not other sessions from the same users.
- Event segments — individual events that match your conditions. An event segment for "add_to_cart events where the item category was footwear" includes only those specific events.
Choosing the right scope matters. User segments give you the broadest picture of behavior across multiple sessions. Session segments let you isolate a specific acquisition channel or visit type. Event segments let you drill into specific interactions.
Where Segments live
Segments live inside the Explorations interface — the Explore tab in the left navigation. Within any Exploration, there is a Segments section in the variables panel on the left. You create segments there, then drag them into the tab settings to apply them.
Each Exploration can have up to 4 segments applied simultaneously. This makes side-by-side comparison practical — apply a paid traffic segment and an organic traffic segment at the same time to compare their funnel behavior in one report.
When to use Segments
Use Segments for any analysis question that asks about a specific subset of users, sessions, or events. In Universal Analytics, many of these questions were answered with view filters or custom report filters. In GA4, Explorations with Segments is the answer to almost all of them:
- How do paid traffic users behave compared to organic?
- What is the conversion rate for mobile users from Germany?
- Do users who view the pricing page convert at a higher rate than those who don't?
- How does the funnel differ between users who signed up through a referral versus direct?
- What does the path look like for users who abandoned checkout?
All of these are Segment questions, not Data Filter questions. If you find yourself thinking "I want to filter this report to a subset of users or sessions," the answer is almost always a Segment in an Exploration.
Comparisons — The Standard Reports Alternative
Standard Reports (the default reports under the Reports tab, not Explorations) do not support Segments at all. If you are in a standard Acquisition or Engagement report and want to narrow the view, you have two options: Comparisons or switching to Explorations.
Comparisons are temporary overlays you can add to any standard report. Click the "Add comparison" button at the top of a standard report, define a condition (for example, Channel group exactly matches Paid Search), and the chart and table show that comparison alongside the baseline. You can add multiple comparisons to see several segments overlaid at once.
The key limitations: Comparisons reset when you leave the report. They are less flexible than Exploration Segments — you cannot build complex multi-condition Comparisons the way you can with Exploration Segments. And they are purely for viewing, not for deeper analysis like funnel exploration or path analysis.
Use Comparisons for quick sanity checks in standard reports. Use Exploration Segments for any real analysis work.
Key Differences at a Glance
| Feature | Data Filters | Segments |
|---|---|---|
| Where it lives | Admin → Data collection and modification | Explorations only (Explore tab) |
| Effect on data | Permanent exclusion — data is never written to the property | Temporary report filter — underlying data unchanged |
| Reversible? | No — historical data is gone once excluded | Yes — add and remove freely at any time |
| Applies to standard reports? | Yes — affects the entire property everywhere | No — Explorations only |
| Use for analysis? | No | Yes — this is their primary purpose |
| Custom conditions? | No — only Developer Traffic and Internal Traffic | Yes — any event, parameter, user property, or behavior |
| Limit per property / exploration | 10 per property | 4 active per Exploration |
FAQ
What is the difference between filters and segments in GA4?
Data Filters are a permanent, property-level setting that prevents certain traffic from being collected at all — once excluded, that data is gone. Segments are temporary filters applied inside Explorations that change what data is visible in a specific report without affecting the underlying data. Filters are a collection decision; Segments are an analysis tool.
Can I filter GA4 standard reports?
Not with Segments — those only work in Explorations. Standard reports support Comparisons, which are temporary overlays you can apply to any standard report to see a specific subset of traffic alongside the total. Comparisons reset when you leave the report and are less flexible than Exploration Segments, but they are the quickest way to narrow a standard report view.
How do I exclude internal traffic in GA4?
Use a Data Filter. First, define an internal traffic rule in Admin → Data collection and modification → Data streams → your stream → Configure tag settings → Define internal traffic. Set the traffic_type parameter to "internal" and add your IP address ranges. Then create a Data Filter in Admin → Data Filters that excludes events where traffic_type equals "internal." Start in Testing state to verify it is catching the right sessions, then switch to Active when confirmed. Note: once Active, excluded traffic is permanently gone from the property.
What are GA4 comparisons?
Comparisons are temporary filters you apply directly to standard reports (not Explorations). They let you overlay a filtered subset of data on top of the default report view — for example, showing paid search traffic alongside total traffic on the same chart. You can add multiple comparisons at once. They reset when you navigate away from the report and are simpler than Exploration Segments, but useful for quick checks without leaving the standard reports interface.
Are GA4 segments permanent?
No. Segments are completely non-destructive. They do not change the data in your GA4 property. You can add a Segment to an Exploration, run your analysis, and then remove it — the underlying data is exactly as it was. Segments exist only within the Exploration where you create them and have no effect on any other report or the property's data collection.
How many segments can I add to a GA4 Exploration?
You can apply up to 4 segments simultaneously in a single GA4 Exploration. This makes side-by-side comparisons practical — for example, applying user segments for four different acquisition channels at once to compare their funnel progression in one free-form exploration.
What replaced UA views in GA4?
GA4 does not have a direct equivalent to Universal Analytics Views. UA Views let you create filtered copies of a property's data (one view with all traffic, one with only organic, one without internal IP addresses, and so on). In GA4, this functionality is split: permanent exclusions that used to be view filters are handled by Data Filters (property-level, limited to Developer Traffic and Internal Traffic). Per-report filtering that used to be done via view selection or report filters is now handled by Segments in Explorations. The flexibility UA Views offered for custom filtering conditions does not have a direct replacement in GA4's standard interface — Explorations with Segments is the closest substitute.
Can GA4 Segments be used in standard reports?
No. GA4 Segments are exclusively available in Explorations. Standard reports do not support Segments at all. For standard reports, use Comparisons to overlay a subset of traffic on the report view, or switch to an Exploration for any analysis that requires segment-level filtering.
Is your GA4 Data Filter set up correctly?
A misconfigured Data Filter — or one stuck in Testing state — means your property is collecting data it should be excluding. NiceLookingData audits your GA4 property and flags filter misconfigurations, missing internal traffic exclusions, and other data quality issues automatically.
Run a free GA4 audit →Analytics consultant turned founder. After years running the same GA4 and GTM audits across client engagements, Ludde built the audit into a product — so the pattern-matching takes a minute, not a meeting. More about Ludde →
Run a free GA4 audit.
Connect your Google Analytics 4 property. Our auditor runs 61 checks and gives you an instant health score with a plain-English action plan.
