The Number on Your Google Analytics Dashboard Is Wrong Not a Little Wrong Fundamentally Wrong

The Confidence Problem

The most dangerous version of wrong is not obviously wrong. Obviously wrong is easy. The number is missing, the graph is flat, the dashboard shows a clear error and you call someone to fix it. Obviously wrong gets fixed.

The dangerous version is wrong in a way that looks right. The dashboard loads. The numbers change over time. The charts show trends. Everything behaves the way a functioning measurement system should behave. The business makes decisions from those numbers with confidence, because confidence is what a dashboard full of plausible-looking data produces. And the decisions are wrong, not because the person making them is wrong, but because the instrument giving them information is giving them a filtered, partial, methodologically inconsistent version of what is actually happening.

That is where most small businesses are with GA4 right now. Not obviously broken. Quietly, systematically, consequentially wrong.

The Three Layers of the Problem

The inaccuracy in standard GA4 deployments is not a single bug. It is three separate structural issues that each remove a slice of the real picture, and whose effects compound because they all operate on the same dataset simultaneously.

The first layer is ad blockers. Browser-based extensions that block advertising scripts also block analytics scripts, because from a technical standpoint an analytics script and an ad script are the same category of thing: a third-party JavaScript file that loads in the visitor's browser and sends data to an external server. uBlock Origin, Brave's built-in shields, Firefox's Enhanced Tracking Protection, and similar tools remove GA4's tracking from the visitor's session. The visit happens. The page loads. The person may fill in a contact form or call the number. GA4 does not record any of it.

Ad blocker penetration in the US and UK markets runs at between 30 and 42 percent on desktop depending on the demographic and the measurement source. Among the technology-adjacent audiences that many B2B businesses target, it runs higher. Among the under-35 professional demographic, higher still. A business that targets marketing managers, developers, financial professionals, or anyone who spends significant time working in a browser is losing a material fraction of its analytics data to ad blockers, and there is no warning in GA4 that this is happening. The numbers simply reflect a smaller universe than the one that actually visited.

The second layer is iOS privacy. Starting with iOS 14 in 2021 and continuing through subsequent updates, Apple restricted the data that apps and browsers can pass between sessions and across domains. The specific mechanism varies by version and by context, but the practical effect on a business running Meta ads and measuring results in GA4 is significant. A visitor who clicks a Meta ad on an iPhone and arrives at the business's website may arrive without the UTM parameters or click identifiers that would allow GA4 to attribute the visit to the correct campaign. The visit gets recorded. The source is reported as Direct or Unknown. The campaign that produced the visit receives no credit. The business scales down that campaign because the data says it is not converting, while the campaign is in fact converting and the measurement system cannot see it.

The third layer is GA4's session and conversion counting model, which differs in specific ways from the Universal Analytics model that most businesses used before 2023. A session in UA was counted one way. A session in GA4 is counted another way. An engaged session, a GA4-specific metric that replaced bounce rate, measures something different from what bounce rate measured and is not a valid substitute for businesses that tracked bounce rate as a performance indicator. Businesses that upgraded from UA to GA4 and are now comparing year-over-year performance are in many cases comparing numbers produced by two different counting methodologies and treating the comparison as meaningful when it is not.

What These Three Layers Cost in Practice

The cost is specific and it falls in a specific place. The decisions most affected by inaccurate analytics are the ones that allocate marketing budget. Which channels to scale. Which ads to cut. Which landing pages are working and which are not. Which keywords justify higher bids. These are the decisions that determine what the business spends and what it gets back, and they are being made from data that is missing a material fraction of the conversions that actually happened.

A law firm running Google Ads and Meta Ads simultaneously, measuring results in GA4 with standard client-side setup, is likely missing somewhere between 25 and 45 percent of its actual conversion data depending on the device distribution of its audience, the ad blocker penetration in its demographic, and the iOS/Android split of its mobile traffic. The decisions it makes about which channel is performing better are decisions made from a dataset where one channel may be systematically undercounted relative to the other, not because one channel is genuinely weaker, but because the visitors from one channel happen to use more ad blockers or more iPhones.

The campaign that gets cut because the data says it is not converting may be the campaign that is doing the most work. The budget shifts to the campaign that looks better in the dashboard, and it looks better in the dashboard in part because its visitors happen to be tracked at a higher rate. The business optimizes toward the better-measured channel rather than the better-performing channel, and the two are not the same thing.

How Server-Side Measurement Changes the Picture

The structural solution to all three layers of the problem is the same: move the measurement from the visitor's browser to the server. A tracking system that runs on the server side, that records visits and conversions at the infrastructure level rather than by dropping a JavaScript tag into the visitor's browser, is not subject to ad blockers. It is not affected by iOS privacy restrictions. It does not depend on third-party cookies that the browser may or may not allow to set.

Server-side measurement records the visit because the visit produced a request to the server, and that request is visible to the server regardless of what the visitor's browser preferences are. The conversion is recorded because the conversion produced a server-side event, not because a JavaScript tag fired in the browser at the moment the thank-you page loaded. The attribution is accurate because the tracking identifier travels with the request rather than depending on the browser to preserve it across a privacy boundary.

The businesses that have moved to server-side measurement report a consistent experience when they compare the new numbers to their old GA4 data: they discover that their actual traffic is higher than they thought, their actual conversion rate is different from what they measured, and the channel attribution that shaped their budget decisions was telling them a story that did not match what was actually happening.

The specific direction of the surprise varies by business. Some discover that a channel they had deprioritized was converting at a rate they could not see. Some discover that a campaign they thought was performing well was benefiting from attribution credit that belonged to a different channel. Some discover that their site's actual bounce rate is higher than GA4 reported because GA4's engaged session model was classifying some exits as engaged sessions based on a visit duration threshold that the visitor had cleared without actually engaging with anything meaningful.

The common thread is that the accurate picture is different from the GA4 picture, and that the decisions made from the accurate picture are different from the decisions made from the GA4 picture. Different enough, in most cases, to change where money is spent and what return that money produces.

The Specific Problem With Attribution in 2025

Attribution, the process of assigning credit for a conversion to the touchpoints that contributed to it, has become structurally broken for most small businesses using standard GA4 setups. This is not a recent development. It is the logical endpoint of a multi-year trend that accelerated with each iOS privacy update and each increase in ad blocker penetration.

The business that runs Google Ads, Meta Ads, and an email newsletter simultaneously, and relies on GA4 to tell it which of those three channels produced a given conversion, is relying on a system that cannot see a significant fraction of the Google Ads conversions that happened on iOS, cannot see the newsletter clicks from subscribers using ad blockers, and attributes a portion of both to Direct because the UTM parameters did not survive the journey through the privacy boundary.

Direct traffic is where attribution goes to die. A spike in Direct is often not a spike in visitors who typed the URL manually. It is a spike in visitors whose original source GA4 could not identify. Making decisions about which channel to invest in based on a Direct attribution report is the equivalent of evaluating employees based on a performance review where a third of them are listed as Unknown.

The businesses with accurate attribution are the ones that built measurement they own, at the infrastructure level, before they needed to make the budget decisions that depend on it.

What to Actually Trust

GA4 is not useless. The data it produces is a reasonable signal of trend direction for certain metrics, particularly those that do not depend heavily on cross-site attribution or on tracking populations with high ad blocker penetration. Visitors who arrive on desktop browsers without ad blockers from organic search are reasonably well tracked. Engagement metrics for those visitors are reasonably reliable. A consistent upward trend in those numbers is meaningful even if the absolute numbers are understated.

The metrics that should not be trusted for budget decisions without validation from server-side measurement are the ones that determine where money is allocated. Conversion attribution by channel. Conversion rate by traffic source. Campaign-level performance comparisons where the audience profiles of different campaigns may result in systematically different tracking rates. These are the numbers that determine whether an ad budget doubles or gets cut, and they are the numbers where the inaccuracy is most consequential and most consistent.

The Technical Tax that most businesses are paying is partly a speed problem and partly a measurement problem. The speed problem means visitors leave before the page loads. The measurement problem means the business cannot tell exactly what happened after they arrived, does not know which channel brought them, and is making budget decisions based on a filtered version of its own performance. Both problems are structural. Both are solvable. And both are running simultaneously in most businesses that have not audited their infrastructure against the conditions where their real customers actually arrive.

The Auditor's Take

The audit process I run starts with measurement before it starts with anything else. Not because measurement is more important than speed or conversion rate, but because every conclusion I draw from an audit depends on accurate numbers, and the first thing I need to know is how inaccurate the current numbers are before I can say anything meaningful about what they mean.

In the majority of audits I run on businesses using standard GA4 setups, the actual traffic is higher than reported, the actual conversion rate is different from reported, and the channel attribution is telling a story that shifts meaningfully when compared against server-side data. The business is almost never doing as badly as the worst reading of the data suggests, and almost never doing as well as the best reading suggests. The truth is specific, and it is only accessible from measurement that does not depend on the visitor's browser to function.

The number on the dashboard is not the number. The number on the dashboard is the number the dashboard can see. Those two things have not been the same for a while now.

Based on patterns observed across multiple audits. All identifying details are illustrative. The diagnosis is always free.

Ready to Fix This on Your Site?

Run your site through PageSpeed Insights and send me the score. Free diagnosis. No pitch. Just the numbers.