Audit before you install
Most tracking problems are duplicates, not gaps.
Integrations / Analytics & tracking
Almost every store we audit has tracking installed. A large share of them are double-counting purchases, which makes every decision downstream of that data wrong.
WHY THIS MATTERS
You cannot optimise what you measure incorrectly, and broken tracking is worse than none because it looks authoritative. The classic failure is installing the Meta Pixel through Shopify's native channel and again through a theme snippet, so every purchase fires twice and your reported ROAS is double the real one. The second failure is skipping the Conversions API, which increasingly matters as browser tracking degrades. Once this is right, use the break-even ROAS calculator to find the return you actually need to clear.
The same sequence we follow on client stores. Do them in order — several of the later steps depend on decisions made in the earlier ones.
Before installing anything, find every existing tag: theme code, the Shopify apps channel, additional scripts, and any app that adds its own. Remove the duplicates. This is the step that fixes most stores.
Use the official Google & YouTube channel rather than pasting a gtag snippet into your theme. It handles the ecommerce events natively and survives theme updates, which hand-placed snippets do not.
Same principle: install through Shopify's Facebook & Instagram channel and let it own the pixel. If a theme snippet is also firing, you now have two pixels and no reliable numbers.
Turn on server-side event sharing in the Facebook channel and set the data-sharing level. As browser-based tracking keeps degrading, the server-side signal is what keeps attribution usable.
Set up Shopify's customer privacy and consent settings for the regions you sell into. If you sell into Europe, consent mode is a legal requirement, not a preference — and retrofitting it is harder than doing it now.
Use GA4 DebugView and Meta Events Manager's Test Events, and place a real test order. Confirm exactly one purchase event fires, with the correct value and currency. This is a five-minute check that most stores have never done.
Compare a week of GA4 and Meta purchases against Shopify Analytics. They will never match perfectly — attribution windows differ — but a gap of two times means something is broken, not nuanced.
A short note of every tag, where it lives, and who owns it. The next person to touch the theme, including future you, will otherwise add a duplicate.
The three things that separate a working setup from a default one — drawn from the stores we ship, not from the documentation.
Most tracking problems are duplicates, not gaps.
Theme snippets do not survive theme updates. Channels do.
A 2x discrepancy is a bug, not an attribution window.
We set this up on every store we build, and we do it as standalone work too. Start with a free audit — we will tell you what is worth changing before you spend anything.
What clients ask us about this integration before we set it up.
Some difference is normal — attribution models, ad blockers, and consent all cause drift. A large or doubling gap is a tracking fault, most often duplicate events.
Usually not on Shopify. The native channels cover ecommerce events well, and GTM adds a layer of complexity that mostly earns its place on bespoke tracking requirements.
Yes. Browser-side tracking continues to degrade, and server-side events are what keeps your campaign attribution from getting worse over time.
Yes — duplicate-event detection is part of our store audit, and it is usually the fastest fix we find.