Your traffic numbers will never match between Shopify and Google Analytics, and that's fine
It's normal, not a bug. Shopify and GA4 use different attribution models, so their numbers always diverge. Stop trying to reconcile them down to the last click. Instead, read your clicks at the source, channel by channel. It's stable and comparable over time.
- Author
- Axel Corton
- Subject
- eCommerce
- Date
- Read time
- 5 min

Key takeaways
- Shopify and GA4 run two different attribution models, so their numbers never match. That's expected.
- Read your clicks at the source: Meta on Meta, Google on Google Ads, Klaviyo on Klaviyo, no middleman.
- Source level reading lets you compare year over year, like +43% Meta clicks, -8% Google Ads.
- 100% attribution doesn't exist, dropped cookies and multi channel journeys leave too many gaps.
- Swap dashboards checked 20 times a day for a weekly digest and a daily alert when something's off.
There's one question that comes up on every single call. The founder opens Shopify, then Google Analytics, and tells me something like "wait, I don't get it, I'm not seeing the same numbers, which one is right?" And they burn hours trying to reconcile the two to find THE truth.
Let me tell you straight. There is no single truth. The two tools will never give you the same numbers, and it's not a bug. That's just how it works. Stop trying to merge them.
Why the numbers will never line up
Shopify and GA4 are two completely different attribution models. Different algorithm, different way of counting a session, different logic for attributing a conversion. So of course the numbers diverge.
Here's something I see all the time. GA4 will attribute far more conversions to Google platforms than a raw reading would, because its model pushes it in that direction. Shopify tells a different story. I'll give you a real case on an account where the conversion rate dropped when we cross-referenced Shopify and GA data, and rose when we only looked at GA. Same site, same period, two opposite results. Totally normal.
Another thing to know, there are always cookies cutting off chunks of your traffic, blockers, refused consent. So you'll always have a gap between what GA4 captures and reality. That's completely expected. When the gap stays within a consistent ratio, that's a good sign, it just means your tracking is roughly working.
The trap is spending three weeks trying to make the two match to the exact number. You'll never get there. And in the meantime, you make zero decisions.
The method I use, reading clicks at the source
To measure traffic, we do something really simple. We stop going through a centralized analytics tool that claims to reconcile everything. We read clicks directly at the source.
What does that look like in practice? Meta traffic, I read it on Meta, the total click count in Business Manager. Google traffic, I read it on Google Ads. CRM traffic, I read it on Klaviyo, the number of clicks on campaigns and flows. Each platform gives me its own clicks, directly, no middleman.
The upside is you kill the whole attribution problem in one move. No more model bias, no more "GA attributed 30% of Meta traffic that didn't actually come from there." Each channel tells you how many people clicked on its own content. A clean reference point.
There's a downside and I fully own it. Overall, you'll count more clicks than actual conversions. If a user goes through a Google ad then clicks a Klaviyo email before buying, both platforms claim the click. So your total click count will be inflated relative to your sales.
But for the traffic side, for understanding where your visitors come from and how it moves, this is the most accurate read. And above all the most stable over time. This per-platform data is super reliable, way more than a reconciled number that shifts every time the attribution model changes.
The real benefit, comparing year over year
The main reason I prefer this method is comparability.
When I read my clicks at the source, I can compare this January to last January without a second thought. I know I'm measuring the same thing, the same way. For example, seeing we're doing +43% clicks on Meta versus last year, -8% on Google Ads, +17% elsewhere. Those numbers I can track over time, they're reliable.
And it holds up even when you have tracking problems. Cookie consent changes, GA4 loses signal, Shopify tweaks its attribution, your setup half breaks. If you read at the source, you're far less affected, because Meta knows exactly how many people clicked its ads, regardless of the state of your site tracking.
By the way, if your numbers go completely haywire for no reason, it's often a technical issue upstream. I cover this in your tracking is broken and you're making decisions on half the data, because steering on broken data is worse than no data at all.
Another classic that pollutes everything is bots. Shopify used to not distinguish between human traffic and bot-generated traffic. Google crawling your content, Instagram or Facebook pulling previews, all of that creates fake sessions and wrecks your conversion rate. I broke that down in this article on bot sessions. All the more reason to read your clicks at the source rather than polluted sessions.
100% attribution is the dream that doesn't exist
Let's be clear on this. Perfect attribution, where you know exactly which ad euro brought which sale, is every marketer's dream. And it doesn't exist. It never has and it won't tomorrow.
Between cookies dropping, multi-channel journeys, people who see an ad on mobile and buy on desktop three days later, there are too many holes in the net. Every tool that promises you 100% attribution is selling you an illusion of precision.
I'd take an imperfect but consistent method any day. I know it has limits, I know them, I own them. But it gives me something comparable over time, and that's what matters for running the business. Imperfect, stable data beats "perfect" data that changes its definition every six months.
Anything that can be removed should be removed. Applied to data, that means stop stacking tools and dashboards chasing a truth that doesn't exist. Keep one simple read, at the source, that you understand and can track.
Stop checking your dashboards all day long
Last point, a bit more operational but hugely important.
Once you've picked your reading method, the next trap is checking your dashboards twenty times a day. You look, the number moved 2%, you panic, you look again, it eats up a ton of time and brings you nothing.
What we set up instead is an automated digest. A weekly summary that distills the important data, and a daily one when there's an alert, an anomaly, something out of the ordinary. That way you're no longer staring at a live dashboard, you get the info when it deserves your attention.
The idea is for the data to come to you, not the other way around. You free up your head and only react when there's actually something to do. This is also the kind of setup we put in place when we handle a brand's outsourced eCommerce management, because a founder shouldn't spend their days buried in numbers bouncing all over the place.
So to sum up without a summary. Shopify and GA4 numbers will never match, stop looking. Read your clicks at the source, channel by channel, it's stable and comparable. And set up a digest that alerts you instead of a dashboard you stare at. You'll run things better with less stress.
Frequently asked questions
Why does my visit count differ so much between Shopify and Google Analytics?
Because the two tools don't count the same way. Different attribution models, different ways of counting a session, and cookies or blockers that cut off part of the signal on the GA4 side. It's normal, you'll never get the same number on both sides.
Which tool should I treat as reliable for running my store?
Neither one as an absolute truth. For traffic, I read clicks directly at the source, on Meta, Google Ads and Klaviyo. That's the most stable read and the easiest to compare year over year.
Will the gap correct itself over time?
No. It's not a config flaw that'll resolve, it's structural. The two attribution models will stay different. Stop trying to make them match to the exact number.
Why do I count more clicks than sales with this source-based method?
Because a user can click a Google ad then a Klaviyo email before buying, and both platforms claim the click. That's the accepted downside. For measuring traffic it doesn't matter, for sales you look at your Shopify revenue.
How do I avoid spending my days in my dashboards?
Set up an automated digest. A weekly summary of key data, and a daily one only when there's an anomaly. The data comes to you, you react when it deserves your attention, not before.
About the author

Axel CortonFounderLinkedIn
Keep reading
Subscribe to our newsletter
Our methods on paid media, eCommerce and CRM, in your inbox.


