Here is a week-long argument I keep seeing between businesses and their agencies: a landing page that "stopped converting for organic." The conversions had not stopped. GA4 had stopped showing them. The segment was small, demographic data was enabled on the property, and GA4's thresholding quietly removed the rows. Nobody in the argument knew the feature existed.
That is the trouble with thresholding. It is not a bug, it is documented, defensible privacy protection. But it fails silently in the exact place you look when a number seems off, and it turns honest-looking tables into incomplete ones without changing their layout.
What is thresholding in GA4?
When a report would show data about very few users, GA4 withholds those rows so no one can squint at a table and identify an individual. This kicks in mainly when the property collects Google signals or demographic and interest data, because that is when rows could get personal. The data is still collected and still exists. The report just declines to display it.
Google does not publish the exact user counts that trigger it, and anyone who tells you "it hides rows under N users" is guessing. What is documented is the mechanism and the conditions, and that is enough to work with.
How do you know it's happening?
GA4 tells you, in the quietest voice possible: the small icon on the report header turns from a green check to an orange warning triangle, and hovering it says thresholding may be applied. Most people have never hovered it. In audits I make a habit of checking that icon before trusting any segment-level conclusion, and I recommend the same reflex to every client: the icon first, the numbers second.
The other symptom is arithmetic that will not add up. Your rows sum to less than the total, or a dimension breakdown mysteriously loses users that the summary card claims exist. Totals are computed on the full data; the hidden rows are missing only from the breakdown. When the parts are smaller than the whole, thresholding is the usual suspect.
What can you do about it?
Three honest options, in the order I reach for them:
- Widen the lens. Longer date ranges and coarser segments push user counts above the threshold. If the question can tolerate monthly instead of daily granularity, the rows come back on their own.
- Change the reporting identity. Switching the property's reporting identity to device-based drops the signals-derived data from reports and, with it, most thresholding. You lose cross-device stitching and demographics in reporting; you gain complete tables. You can toggle this without destroying data, so it is a legitimate diagnostic move: flip it, read the true row, flip back if you need the other view.
- Go to the raw data. The BigQuery export is not thresholded. If your decisions regularly live in small segments, the export is the grown-up answer, and it pairs with the retention issue covered in GA4's data retention defaults.
What I do not recommend: disabling Google signals in a panic just because you saw the icon once. If you use demographics or plan remarketing audiences, that toggle has real costs elsewhere. Match the fix to how often small-segment questions actually matter in your business.
The bigger honesty lesson
Thresholding is one member of a family: GA4 protecting people from your curiosity, and rightly so. The uncomfortable part is not that Google hides rows. It is that most dashboards downstream of GA4 inherit the hidden rows without inheriting the warning icon. Your Looker Studio report will not show the orange triangle. It will show a clean, confident, incomplete table.
So the rule I give clients is simple: any conclusion about a small segment gets verified against the icon, a wider range, or the raw export before it drives a decision. GA4 is not lying to you. But knowing exactly where it goes quiet is part of trusting your analytics for real, rather than trusting them by not looking. If a number that matters keeps living below the threshold, that is not a reporting annoyance. That is your sample size telling you the decision needs more data than you have.