Introduction
You open three dashboards for your e-commerce site. Cloudflare: 14,750 unique visitors. Shopify: 2,000 sessions. GA4: 608 users. Three tools, three different numbers. Which one is correct?
All of them. Each one measures something different. The problem isn’t with the tools, it’s with the expectation of a single “correct” number.
This article covers why analytics platforms show different numbers, the sources of the gap, and how to use each tool effectively.
Root Cause: Measurement Methodology Difference
Analytics tools fall into two main categories:
Server-Side
Server-side tools count every request hitting the web server or DNS proxy. No JavaScript execution required.
Examples: Cloudflare Zone Analytics, Shopify Analytics, server logs, CDN analytics
Advantages:
- Sees all traffic including bots
- Not affected by ad blockers
- Not affected by browser privacy policies
Disadvantages:
- Separating bot traffic requires additional effort
- Limited information about user behavior (engagement, scroll, click)
Client-Side
Client-side tools collect data by executing JavaScript in the user’s browser.
Examples: GA4, GTM, Facebook Pixel, TikTok Pixel, Hotjar
Advantages:
- Measures user behavior in detail (engagement, events, conversions)
- Automatically filters most bots (they don’t execute JS)
Disadvantages:
- Blocked by ad blockers (15-30% loss)
- Browser privacy policies restrict cookies (ITP: 7 days)
- Consent requirements narrow the data (30-60% loss)
- No measurement if page is abandoned before JavaScript loads
The 4 Layers of the Gap
The gap between server-side and client-side tools consists of four loss layers. Each layer is covered in its own detailed article.
1. Bot Traffic
51% of internet traffic is bots (Imperva 2025). According to Cloudflare Radar data, only 47% of HTML requests are human, the rest is bots and crawlers. Server-side tools count all of this traffic; client-side tools only see real browsers that execute JavaScript.
Details: Client-Side Tracking Problems
2. Ad Blockers
30% of internet users worldwide use ad blockers. These tools completely block GA4, GTM, Facebook Pixel, and TikTok Pixel. Data loss by industry ranges from 13% (B2C ecommerce) to 60% (tech audiences).
Details: Client-Side Tracking Problems
3. Browser Privacy Policies
Safari ITP caps JavaScript cookies to 7 days, ad click cookies to 24 hours. Firefox ETP blocks cross-site cookies. Brave blocks all trackers by default. Roughly 25-35% of the browser market actively restricts tracking.
Details: Client-Side Tracking Problems
4. Consent Requirements
With a legally compliant consent banner, up to 60% of visit data can be lost (etracker 2025). The true “accept all” rate is only 25.4% (Advance Metrics). Consent loss is not random, showing +/-36% variance by traffic source. 83% of ad blocker users also reject consent (GWI x Eyeo 2023), creating a double loss. Consenting users convert 2-5x more than non-consenting users, meaning 50% consent loss does not equal 50% conversion loss.
Details: Consent and GDPR’s Impact on Measurement
Platform Comparisons
Cloudflare Analytics vs GA4
Cloudflare Zone Analytics reports 4.1x more unique visitors and 5.4x more pageviews than GA4 (Zhauniarovich, 20-month data). The gap comes from Zone Analytics being server-side IP-based while GA4 is client-side cookie-based. Zaraz integration helps close the gap but has engagement time and auto event limitations.
Details: Cloudflare Analytics vs GA4
Shopify Analytics vs GA4
Shopify and GA4 diverge at five points: session definition (Shopify resets at midnight UTC), attribution model (Shopify last-click, GA4 data-driven), checkout sandbox (GA4 cookie access blocked), revenue calculation (Shopify includes tax/shipping), and bot filtering. A 10-20% revenue gap is normal with standard client-side GA4.
Details: Shopify Analytics vs GA4
Which Tool for Which Purpose?
| Question | Best Tool |
|---|---|
| Total infrastructure traffic and bot ratio | Cloudflare Zone Analytics |
| Order and revenue data (source of truth) | Shopify Analytics / database |
| User behavior and engagement | GA4 |
| Conversion journey analysis | GA4 (data-driven attribution) |
| Traffic including ad blocker users | Cloudflare Web Analytics / Zaraz / Umami |
| Client-side tracking loss rate | Server-side vs client-side gap |
| Consent impact | CMP dashboard + GA4 modeling |
Cumulative Loss Table
| Stage | Remaining Visitors | Loss Reason |
|---|---|---|
| Server-side total | 10,000 | Reference point |
| After bot filter | ~5,000 | 51% bot traffic |
| Ad blocker loss | ~4,000 | 15-30% client-side loss |
| ITP/ETP miscounting | ~3,600 | Cookie restrictions |
| Pre-JS abandonment | ~3,200 | Early page abandonment |
| Consent loss | ~1,300-2,200 | 30-60% consent denial |
GA4’s final number may be only 13-22% of the server-side total.
What Should You Do?
-
Don’t rely on a single number: Use each tool for its intended purpose. Cloudflare for infrastructure, Shopify for revenue, GA4 for behavior.
-
Set up server-side tracking: sGTM with custom domain or Cloudflare Zaraz. Largely bypasses ad blocker and cookie restrictions.
-
Add a second data source: Umami or PostHog for measurement independent of ad blockers.
-
Track the gap: Regularly compare the gap between tools. If it changes, a new loss source may have entered the picture.
-
Optimize consent: Consent Mode v2 configuration and banner design directly affect your measurable audience.
- 01 Every analytics platform measures from a different point; methodology difference is the root cause of discrepancy
- 02 Server-side tools (Cloudflare, Shopify) report 2-5x more traffic than client-side tools (GA4)
- 03 The gap has 4 layers: bot traffic, ad blockers, browser privacy policies, and consent requirements
- 04 There is no single 'correct' number; each tool answers a different question, use them together
- 05 Track the gap between tools regularly; if it changes, a new loss source may have entered the picture
+ Why do Cloudflare, Shopify, and GA4 show different numbers?
Each tool uses a different measurement point and methodology. Cloudflare works server-side with IP-based counting and includes all traffic including bots. Shopify uses its own server-side system for session-based measurement. GA4 works client-side by executing JavaScript with cookie-based measurement. Bot traffic, ad blockers, and browser restrictions widen this gap further.
+ Which analytics tool should I trust?
There is no single 'correct' tool. Cloudflare shows infrastructure traffic and bot ratio. Shopify is the most reliable source for order and revenue data. GA4 is used to understand user behavior, engagement, and conversion journeys. Use all three together.
+ How can I reduce the gap between tools?
Server-side tracking (sGTM or Cloudflare Zaraz) largely bypasses ad blocker and cookie restrictions. Self-hosted analytics (Umami, Plausible) provides a second data source independent of ad blockers. Consent Mode v2 Advanced mode improves modeling quality. However, eliminating the entire gap isn't possible.
+ How much of a gap is acceptable?
A 2-5x gap between server-side and client-side is within normal range. A 10-20% revenue gap between GA4 and Shopify is expected with standard client-side setup. If the gap grows over time, a new loss source should be investigated.