I checked the analytics on one of our sites last Tuesday. Google Analytics 4 reported 1,200 visitors for the week. Cloudflare's server-side analytics reported 1,980 for the same period. That is a 65% discrepancy — meaning GA4 was missing nearly 40% of actual visitors.
This is not a bug. This is the predictable result of running client-side analytics in 2026. Ad blockers, privacy-focused browsers like Brave, Safari's Intelligent Tracking Prevention, Firefox's Enhanced Tracking Protection, and browser extensions like uBlock Origin all block Google Analytics from loading. The tracking script never executes. The visitor is never counted. Your data is wrong.
After confirming this gap across multiple sites in our 52-site network, I deployed Cloudflare Zaraz as a server-side analytics layer. Here is why your analytics are lying, how much data you are missing, and how to fix it for free.
The Ad Blocker Problem: By the Numbers
Ad blocker adoption has been climbing steadily for a decade. As of early 2026, the data looks like this:
- 42% of internet users globally use some form of ad blocking or tracking prevention
- Brave browser blocks all third-party trackers by default — 70+ million monthly active users
- Safari ITP restricts third-party cookies and tracking scripts — every iPhone and Mac user
- Firefox ETP blocks known trackers by default — enabled for all Firefox users
- uBlock Origin — 40+ million Chrome/Edge users
When you add these up, a significant portion of your visitors are invisible to any client-side analytics tool. Not just Google Analytics — any JavaScript-based tracking script is affected. Hotjar, Mixpanel, Amplitude, Plausible, Fathom — if it loads via a <script> tag that gets blocked, it does not count the visitor.
Client-Side vs. Server-Side: What Is the Difference?
Client-side analytics works like this: your page loads, a JavaScript tag fires, the script sends data to Google's servers. If anything blocks that script — an ad blocker, a browser privacy feature, a network-level filter — no data is sent.
Server-side analytics works differently: the analytics processing happens on the server or at the edge (CDN level) before the page is delivered to the user. The visitor's browser never needs to execute a tracking script. The data is captured by the infrastructure, not by a JavaScript tag that can be blocked.
This is why server-side analytics consistently reports 25-40% more traffic than client-side analytics across our network. It is not inflating numbers. It is counting the visitors that client-side tools miss.
Cloudflare Zaraz: Free Server-Side Analytics
Cloudflare Zaraz is a free tool built into every Cloudflare account that moves your third-party scripts to Cloudflare's edge network. Instead of loading analytics scripts in the visitor's browser, Zaraz processes them server-side on Cloudflare's infrastructure.
The result: your analytics scripts run even when the visitor has an ad blocker. Not because you are circumventing the ad blocker — but because the script never loads in the browser in the first place. Zaraz renders the page and processes the analytics event at the edge, then delivers a clean page to the visitor with no third-party scripts to block.
What Zaraz supports:
- Google Analytics 4
- Google Ads conversion tracking
- Facebook Pixel
- Custom HTTP endpoints
- Google Tag Manager migrations
- Custom managed components
What it costs: Free on all Cloudflare plans, including the free tier.
How to Set Up Zaraz: Step by Step
Step 1: Ensure your site is on Cloudflare. Your domain's DNS must be proxied through Cloudflare (orange cloud icon). If you are already on Cloudflare — which you should be for performance and security reasons — you are ready.
Step 2: Open the Zaraz dashboard. In your Cloudflare dashboard, navigate to Zaraz in the left sidebar. It is available on all plans.
Step 3: Add Google Analytics 4 as a tool. Click "Add new tool," select Google Analytics 4, and enter your GA4 Measurement ID (starts with G-). Zaraz will configure the server-side connection automatically.
Step 4: Remove the GA4 client-side script. This is the critical step most people skip. You need to remove the gtag.js script from your site's HTML. If you leave it in place, you will get duplicate counting — Zaraz captures the event server-side, and the client-side script captures it again for visitors without ad blockers.
Step 5: Configure triggers. Zaraz uses triggers to determine when to fire analytics events. The default "Pageview" trigger fires on every page load. You can add custom triggers for button clicks, form submissions, scroll depth, or any other interaction.
Step 6: Verify in GA4. Open Google Analytics 4, go to Realtime, and confirm that events are arriving. Visit your site from a browser with an ad blocker enabled and verify that the visit still appears in GA4.
What We Found After Deploying Across 52 Sites
After migrating all 52 sites from client-side GA4 to Zaraz-powered server-side GA4, here is what the data revealed:
- Average traffic increase visible in GA4: 32% (range: 22% to 48% depending on the site's audience)
- Technical audience sites (developer tools, finance) showed the highest discrepancy — these audiences are more likely to use ad blockers
- General consumer sites showed a lower but still significant discrepancy — around 22-25%
- Bounce rate decreased by approximately 8 percentage points, because the "missing" visitors were often the most engaged (tech-savvy users who browse multiple pages)
The most important finding: our understanding of which content performed best changed significantly. Some blog posts that appeared to be low performers in client-side analytics were actually getting substantial traffic from ad-blocking visitors. Content strategy decisions based on the old data were wrong.
Beyond Analytics: Zaraz's Other Benefits
Page speed improvement. By moving scripts to the edge, Zaraz eliminates the performance hit of loading third-party JavaScript. Our sites saw a 15-20% improvement in Total Blocking Time after removing client-side GA4.
Fewer script errors. Client-side analytics scripts occasionally conflict with other JavaScript on your page. Server-side processing eliminates this entirely.
Privacy compliance. Zaraz includes built-in consent management. You can configure it to respect Do Not Track headers, fire scripts only after consent, or block specific tools in specific regions — useful for GDPR compliance.
Single point of control. Instead of managing scripts across 52 sites, we manage them in one Cloudflare dashboard. Add a tool once, it deploys everywhere.
The Uncomfortable Truth About Your Data
If you are making business decisions based on Google Analytics data and you have not accounted for ad blocker losses, you are working with incomplete information. Your actual audience is larger than you think. Your best content might be different than you think. Your conversion rates are calculated against an artificially low denominator.
Server-side analytics is not optional in 2026. It is the baseline for accurate data. And with Cloudflare Zaraz, it is free.
Your Audit Checklist
- Compare Cloudflare Analytics (or server logs) with GA4 for the same period — measure your gap
- Set up Zaraz in your Cloudflare dashboard
- Add GA4 as a Zaraz-managed tool
- Remove the client-side GA4 script from your HTML
- Verify events arrive in GA4 from ad-blocked browsers
- Rebaseline your traffic assumptions using the corrected data
Stop making decisions based on the 60% of visitors your analytics can see. Start seeing all of them.
This strategy is covered in more depth in The $20 Dollar Agency — including the full analytics stack for small businesses and how to set up conversion tracking that survives ad blockers. Buy The $20 Dollar Agency on Amazon.