Why Your Analytics Numbers Never Match (GA4 vs Shopify vs Ad Platforms) — and Which to Trust
GA4, Shopify, Meta Ads, and your session replay tool all report different numbers for the same day. Here is why that happens, how big a gap is normal, and which number to trust for which decision.
Short answer: analytics tools disagree because each one counts a different thing, at a different moment, for a different subset of visitors. A gap of 10–30% between two tools is normal. A gap that suddenly changes is the thing to investigate.
Every team eventually opens two dashboards side by side and finds that Tuesday had 4,210 sessions in one and 3,480 in the other. Nobody did anything wrong. The tools are answering slightly different questions.
Table of Contents
- The Seven Reasons Numbers Differ
- How Big a Gap Is Normal?
- Which Number to Trust for Which Decision
- How to Reconcile Two Tools in 20 Minutes
- How DeepSync Approaches This
- Key Takeaways
The Seven Reasons Numbers Differ
1. They define "session" differently
Most tools end a session after 30 minutes of inactivity, but the details vary: some start a new session at midnight, some when the campaign source changes, some when the tab closes. One long visit can be one session in one tool and three in another. See what a session actually is.
2. Consent changes who gets counted
If your project waits for cookie consent, visitors who decline are invisible to that tool. A server-side platform such as Shopify counts the order anyway. The more privacy-conscious your audience, the larger this gap.
3. Ad blockers block some tools and not others
Browser extensions and privacy browsers block known analytics domains. Your e-commerce platform's own order count is not affected, because it never depended on a script. More in how much data ad blockers hide.
4. Bots are filtered differently
One tool drops known crawlers at ingestion; another counts anything that executes JavaScript. Bot filtering alone can explain a sudden spike in one dashboard that is absent in another. See bot traffic in analytics.
5. Attribution windows differ
Ad platforms claim a conversion if the person saw or clicked an ad within their own window, sometimes days earlier. Your analytics tool credits the last source it saw. Both can be "right" and the totals will still exceed your real orders, because two platforms claim the same sale.
6. Timezones move the day boundary
If one tool reports in UTC and another in your local time, a late-evening order lands on different dates. Daily totals differ even when the weekly total matches. We wrote about hitting this ourselves.
7. Sampling and thresholds
Some tools estimate from a sample on large date ranges or hide small numbers for privacy. An estimate will not equal an exact count.
How Big a Gap Is Normal?
| Comparison | Typical gap | Usual cause |
|---|---|---|
| Two client-side analytics tools | 5–15% | Session definition, script timing |
| Client-side tool vs platform orders | 10–30% | Consent, ad blockers |
| Ad platform conversions vs real orders | Often higher than orders | Overlapping attribution |
| Daily totals, same tool family | Small, evens out weekly | Timezone |
Treat these as rough ranges. What matters is that the ratio between two tools stays stable. If the gap was 15% for months and is 40% this week, something broke: a tag stopped firing on a template, a consent banner changed, or a bot found you.
Which Number to Trust for Which Decision
- Revenue and orders: your payment or commerce platform. It is the ledger.
- Channel comparison: one analytics tool, used consistently. Relative performance matters more than absolute totals.
- Ad spend efficiency: the ad platform for optimisation inside that platform, your own analytics for comparing platforms against each other.
- User experience: behavior tools, because they show what happened inside the session rather than only that it existed.
The mistake is mixing sources inside one calculation, for example dividing platform orders by a different tool's sessions and calling it a conversion rate.
How to Reconcile Two Tools in 20 Minutes
- Pick one day and one page, not the whole site.
- Confirm both tools use the same timezone.
- Compare by device. A gap only on mobile points to a consent or script-loading issue.
- Compare by browser. A gap concentrated in Safari or Firefox points to tracking prevention.
- Check whether the tag fires on every template (checkout and landing pages are often missed).
- Look for a traffic spike from one country or one user agent, which suggests bots.
How DeepSync Approaches This
- No sampling. Every plan records 100% of sessions up to its limit, so a count is a count, not an estimate.
- One session definition, documented. A session is one visit that ends after 30 minutes of inactivity or when the tab closes (core concepts).
- Channel resolution you can inspect. Ad click IDs first, then UTMs, then referrer (marketing analytics).
- A page that explains the differences. The docs have a dedicated article on why numbers differ from other analytics.
- Evidence behind the number. Any count can be opened as the sessions that make it up, so you can see whether they were real visits.
Pick one source of truth per question and write it down
A one-page note saying "orders come from the payment platform, channel mix comes from analytics" ends most reporting arguments before they start.
Key Takeaways
- Tools disagree because they count different things for different visitors.
- A stable 10–30% gap is normal; a changing gap is a signal.
- Use the ledger for revenue and one consistent tool for comparisons.
- Reconcile on one day and one page, split by device and browser.
Conclusion
You will never make two analytics tools agree exactly, and you do not need to. You need to know why they differ and which one answers the question in front of you.
Start free with DeepSync and open the sessions behind any number.
Frequently Asked Questions
Related articles
Stay in the loop
Get the latest insights on product analytics and user behavior delivered to your inbox.



