I’ve been manually tracking the conversion URLs of my Shopify orders in a spreadsheet since the beginning of the year, but attribution still feels like a black box. I often see a lot of ‘organic’, ‘direct’, or ‘none’ listed in Shopify’s order source. I added a tracking template in Google Ads, which helped reduce some misattributions (I used to see things like ‘sag_organic’), so I know it’s working better now (I now see the campaign IDs). When I pause ads, my sales drop. What’s your take on this kind of attribution fog? Is it common for some Google Ads-driven sales to get lumped into organic or direct because people come back later via another channel—or is there something else I should be doing to improve attribution accuracy?
Hello Saskia, thank you for your question. Yes you are right. So Google Ads attribute any click on an ad, as a conversion. This means if someone clicked on an ad in the beginning of the purchase journey, then later clicks on an organic link on a different device but still linked to the same user, then this attribution in Google Ads is linked to Google Ads, but in Shopify, it will be organic.
That is why comparing conversions between Google Ads, GA4 and Shopify are so different.
And also GA4 tracks conversions based on the non direct last click, while Google Ads tracks all clicks.
So I would never compare data as it just makes things more confusing.
There are 3rd party tools that can track a bit better for all the different attributes, but as I work mostly with small businesses, these tools are expensive. And so we don’t use it. But have a look at tools such as https://www.northbeam.io/
Also look at server side tracking, again very expensive, and for my clients not worth the investment, such as https://analyzify.com/
Emmanuel’s spot on about the cause — Google, Shopify and GA4 all use different attribution models, so the numbers will never fully reconcile no matter how clean your tracking is.
Northbeam/Analyzify will tighten it, but you’re still stitching together pixel data that each platform interprets its own way.
The thing I’d add: there’s one signal that doesn’t care about any of that, just asking the customer. A post-purchase survey (“how did you first hear about us?”) gives you a declared data point that’s independent of cookies, attribution windows, or cross-platform math. It won’t replace your pixel data, but when Google says “paid” and Shopify says “direct,” the customer telling you “I saw your reel on Instagram, then googled you later” is often the tiebreaker that explains the gap.
One caveat from doing this a while: the basic version isn’t enough on its own. “Instagram” as an answer doesn’t tell you if it was a paid ad or an organic post — which is the exact budget question you’re trying to answer. What’s worked for me is asking one follow-up: “Instagram → ad or someone you follow? → what about it convinced you?” That second layer is where the decision-useful stuff lives.
Full disclosure, that follow-up approach is what I’m building (an AI post-purchase survey app) -link’s in my profile rather than dropping it here.
But honestly, even a static “how did you hear about us?” survey alongside your tracking will start reconciling that gap.