If you have run a custom Exploration in GA4 and noticed a small shield icon in the top-right corner with text like "Data is based on 54% of sessions," you have met GA4 sampling. The immediate question is whether your data is wrong. The honest answer: it depends on where you are looking. GA4 samples in Explorations — but not in standard reports. Understanding that distinction is the most important thing to know about sampling, and it determines whether you need a workaround at all.
This guide covers what sampling is, exactly when it applies, the 10-million event threshold that triggers it, and the practical workarounds ordered by effort and cost — from zero-setup to BigQuery to Analytics 360.
What is GA4 Sampling?
The definition
Sampling means GA4 processes a statistical subset of your event data to generate a report, rather than processing every event. The result is an approximation of the actual numbers. For most use cases with large datasets, sampled results are close enough to act on — a 70% sample of a high-traffic site still produces directionally reliable trends. But for specific date ranges, small segments, or precise conversion counts where accuracy matters, sampling can introduce discrepancies that make the number wrong in ways that matter.
Sampling is not a flaw or a bug. It is a deliberate performance trade-off. Processing billions of raw events on demand for every ad-hoc query is computationally expensive. Sampling lets GA4 return results in seconds for complex multi-dimensional Explorations at the cost of exactness. The key is knowing when that trade-off is being made so you can decide whether it is acceptable for your question.
Where sampling applies
GA4 samples in two places:
- Explorations (custom reports): All five exploration types — free-form, funnel analysis, path exploration, segment overlap, and cohort exploration — are subject to sampling when the query would process more than the threshold number of events.
- BigQuery queries: The GA4 BigQuery export itself is never sampled, but if you write a BigQuery query that scans very large event tables using certain aggregation patterns, BigQuery's own query execution can produce approximate results. This is distinct from GA4 sampling and is controlled by your BigQuery query design.
GA4 does not sample standard reports. The Acquisition, Engagement, Monetization, and Retention report tabs use pre-aggregated data pipelines that run on complete event data, not on-demand queries. If you only use the built-in standard reports, sampling is not affecting your numbers.
How to tell if a report is sampled
In Explorations, a shield icon appears at the top right of the canvas when sampling has been applied. Hovering over it shows the sampling percentage — for example, "This report is based on 32% of available data." The lower the percentage, the less representative the result is likely to be, particularly for narrow segments or low-frequency events.
Standard reports show no sampling indicator at all. If you are looking at the Acquisition overview or the Engagement → Pages report, the data is complete. There is no shield icon because there is nothing to warn you about.
What Triggers Sampling in GA4?
The 10-million event threshold
GA4 Explorations apply sampling when a query would process more than 10 million events for a standard GA4 property. Google documents this threshold for Analytics 360 (which has a higher limit), but 10 million is the standard property ceiling for unsampled Exploration queries. Once your query scope exceeds this, GA4 draws a sample and extrapolates.
This threshold means high-traffic properties hit sampling more often and on much shorter date ranges than low-traffic ones. A property recording 1 million events per day will hit the 10-million threshold in about 10 days. A property recording 50,000 events per day has roughly 200 days before the same threshold. The same 90-day Exploration on two different properties can be unsampled on one and heavily sampled on the other.
Date range
Extending the date range of an Exploration directly increases the event count that the query must process, making sampling more likely. A 7-day Exploration on a mid-traffic property is usually unsampled. The same Exploration covering 90 days is likely to trigger sampling because it is now spanning roughly 13 times the events.
This is the most controllable trigger. If you are working on a question that can be broken into shorter time windows, breaking a 90-day analysis into three 30-day segments is the simplest path to avoiding sampling without any additional tooling.
Segments and filters
Applying segments, filters, or breakdowns to an Exploration query increases the cardinality and complexity of the calculation, which can trigger sampling at lower event counts than an unfiltered query on the same date range. A simple page_view count over 60 days may be unsampled. The same date range with a user segment, a custom dimension breakdown, and three applied filters may sample because the combined query scope is more demanding.
The practical upshot: start Explorations with fewer dimensions and filters, confirm the query is unsampled, then add complexity incrementally. A complex Exploration that samples on the first attempt may be unsampled with a narrower date range or one fewer breakdown dimension.
How to Avoid or Reduce Sampling
Use standard reports first
The most underused workaround is also the simplest: use standard reports instead of Explorations whenever the question can be answered there. Standard reports are never sampled. The Acquisition overview, the Landing page report, the Engagement → Events report, and the Conversions report all run on complete data. If you are checking whether a campaign drove sessions, which landing pages have the lowest engagement rate, or how many purchase events fired last month, the standard reports give you an exact answer without triggering the Explorations engine.
Reserve Explorations for questions the standard reports cannot answer — custom funnel sequences, path analysis, user-level segment overlap, or cohort retention curves. When you land in Explorations, check the shield icon before acting on the numbers.
Narrow the date range
Breaking a long-range analysis into shorter windows is the cheapest fix. If a 90-day Exploration samples at 40%, three consecutive 30-day Explorations may each be unsampled, and the totals are addable for most metrics. This approach has a real cost — it takes more time and requires combining results manually — but it requires no additional infrastructure and works immediately.
A useful heuristic: start with a 28-day window and check the shield. If it is unsampled, you can extend. If it is already sampling at 28 days, the property volume is high enough that you should consider the BigQuery path described below.
Remove unnecessary dimensions
Each dimension added to an Exploration increases the cardinality of the query — more unique value combinations to compute across the same event set. An Exploration with session_source / medium and landing_page and device_category and country is substantially more demanding than the same Exploration with only session_source / medium.
Start with the minimum set of dimensions that answers the question. Add breakdowns only after confirming the base query is unsampled. If adding a specific dimension pushes the query into sampling, consider whether that breakdown is necessary for this particular analysis or whether it can be answered in a separate, narrower Exploration.
Use BigQuery export
GA4's BigQuery export sends every raw event to a BigQuery dataset, unsampled. For critical analyses on high-traffic properties, exporting to BigQuery and querying there gives you 100% of the data with no Explorations ceiling.
The setup requires connecting a Google Cloud project to your GA4 property and enabling the export in GA4 Admin → BigQuery Links. Google Cloud's BigQuery free tier includes 10 GB of storage per month and 1 TB of query processing — enough for moderate-traffic properties to run regular analyses without incurring charges. Higher-traffic properties or complex queries will eventually exceed the free tier. For a full walkthrough of the connection setup, see the GA4 BigQuery export setup guide.
The trade-off is setup complexity and SQL fluency. BigQuery requires writing SQL queries against GA4's nested event schema — it is not a point-and-click interface. If your team has SQL capability and the property volume warrants it, BigQuery is the most reliable long-term path to unsampled data.
Upgrade to Analytics 360
Analytics 360 raises the sampling threshold significantly above the standard property limit — Google documents higher quotas and faster query processing for 360 properties. For organizations running critical business decisions on GA4 Exploration data from very high-traffic properties, the higher unsampled ceiling can be a genuine justification.
The cost is substantial — Analytics 360 is priced at approximately $50,000 per year (sold through Google's authorized resellers with custom contracts at higher traffic volumes). This is justified only for large enterprises where sampled Exploration data creates material business risk and BigQuery does not fit the workflow. For the vast majority of properties, narrowing date ranges and using BigQuery is a more practical path to the same unsampled data.
Frequently Asked Questions
Does GA4 sample data?
GA4 can sample data, but only in specific circumstances. Sampling applies to Explorations (custom reports) when the query would process more than 10 million events for a standard property. Standard reports — Acquisition, Engagement, Monetization, Retention — use pre-aggregated pipelines and are never sampled. If your concern about sampling is based on standard report numbers, sampling is not the cause of any discrepancy you are seeing.
Are GA4 standard reports sampled?
No. Standard reports in GA4 are never sampled. They run against pre-aggregated data rather than raw event queries, so they always reflect complete event data regardless of traffic volume or date range. The no-sampling guarantee applies to the built-in report tabs: Acquisition, Engagement, Monetization, Retention, and the standard Advertising reports. Only Explorations — the custom, ad-hoc analysis tool — are subject to the sampling threshold.
What triggers sampling in GA4 Explorations?
Sampling in GA4 Explorations is triggered when the query would process more than 10 million events for a standard property. The three main factors that push a query over this threshold are: a long date range (more events to scan), applied segments and filters (more complex computation), and additional dimensions and breakdowns (higher cardinality). Any combination of these on a high-traffic property can trigger sampling even on relatively short date windows. The shield icon in the top-right of an Exploration canvas confirms when sampling has been applied.
How do I know if my GA4 data is sampled?
In Explorations, look for the shield icon in the top-right corner of the report canvas. Hovering over it shows the sampling percentage — "This report is based on X% of available data." The lower the percentage, the greater the potential inaccuracy. Standard reports show no sampling indicator because they do not sample. If you are looking at a standard report tab and wondering whether your data is sampled, it is not.
How do I turn off GA4 sampling?
There is no direct setting to disable sampling. You can avoid it by keeping Exploration queries under the 10-million event threshold — primarily by narrowing the date range, removing unnecessary dimensions, or applying fewer segments. For analyses that inherently require large event scopes, the two options are exporting to BigQuery (which holds unsampled raw events) or upgrading to Analytics 360 (which raises the Explorations sampling threshold). Of these, BigQuery export is the practical path for most teams — the setup is one-time and the free tier handles moderate traffic volumes.
Is GA4 BigQuery export sampled?
No. The GA4 BigQuery export sends every raw event to BigQuery without sampling. Once events are in BigQuery, your queries run against the complete dataset. This makes BigQuery the standard recommendation for high-traffic properties that need precise numbers from complex analyses. The export itself is free to enable; costs arise from BigQuery storage and query processing, both of which have a free tier (10 GB storage / 1 TB queries per month) that covers many moderate-traffic use cases.
What is the GA4 sampling threshold?
For standard GA4 properties, the Explorations sampling threshold is 10 million events per query. When a query would process more events than this, GA4 samples the dataset and extrapolates the results. Analytics 360 properties have a higher threshold — Google does not publish the exact 360 limit, but it is substantially larger than the standard property ceiling. The threshold applies per query, not per day or per property — a single Exploration covering a long date range on a high-traffic property can exceed 10 million events while the same property's standard reports remain unsampled.
Does Analytics 360 remove sampling?
Analytics 360 raises the sampling threshold significantly above the standard property limit, which means fewer queries trigger sampling — but it does not eliminate sampling entirely. For most Explorations on typical large-enterprise traffic volumes, 360's higher threshold means Explorations run unsampled. However, extremely large-scope queries covering very long date ranges at very high event volumes can still sample even on 360 properties. For truly unsampled data at any scale, BigQuery export remains the definitive answer — 360 properties can also use BigQuery export, and the two complement each other.
Check your GA4 property for sampling-related issues
NiceLookingData audits your GA4 configuration for data quality issues — including settings that make sampling worse, such as Google Signals and Reporting Identity configuration. 61 checks across your full property setup. Free, no credit card.
Run my free 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.
