Conversion tracking, diagnosed.
Founders usually think their ads are the problem. Often it's the data the ads bid against. Across 33 Google Ads accounts I manage, 16 had at least one biddable website conversion action that recorded zero conversions in the 30 days to October 21, 2026, and each one is worth checking. This library covers the signals that say your tracking is broken, the reason each one happens, and how to confirm it on your own Shopify account. Read the umbrella answer below, then jump to the number that doesn't reconcile.
Think the spend is the leak, not the data? Read the Wasted Ad Spend library
Want to see what your site sends before a visitor consents? Read the pre-consent tracking library
Last updated October 2026 · 11 answers
How should a Shopify brand
wire conversion tracking?
Wire Shopify conversion tracking in one direction: store first, server second, platforms last. Emit clean order data, run a server-side GTM container, fire one deduplicated purchase to Google Ads and Meta, and judge results against Shopify orders. On one store, rebuilding a broken purchase event end to end took Google Ads from counting 68% of GA4's conversions to within 4%.
The full architecture lives in my Tracking Stack reference, the eight-layer blueprint I rebuild every account to. This page is the diagnostic layer on top of it. When a number doesn't reconcile, the questions below name the cause and the order to check it in.
Six signals with
one broken layer underneath.
-
Platform totals and Shopify revenue do not agree
Google Ads says one revenue number, Meta says another, GA4 says a third, and Shopify says a fourth. None of them match. Some gap is normal because each platform attributes differently. A revenue gap larger than fifteen percent against Shopify over thirty days is a tracking problem, not an attribution quirk. Until the totals reconcile inside that band, every bid is placed against a number that is wrong.
-
No server-side container, so the data is leaking
Safari and iOS strip client-side cookies, ad blockers eat browser beacons, and a share of your conversions never reaches a platform at all. If tracking still runs entirely browser-side, the account is bidding on a thinned-out signal. A GTM server container on a custom subdomain is the spine the rest of the stack hangs from. Without it, every downstream number is already short.
-
Meta ROAS is inflated by missing deduplication
The browser pixel fires a purchase. The Conversions API fires the same purchase. Without a shared event_id, Meta counts both and inflates reported ROAS. On one Shopify store I audited, a legacy auto-setup and a server build sent every purchase twice, with event IDs that did not match, for six months. The fix is a dedup contract, not more budget.
-
The conversion event is firing on the wrong trigger
Purchase conversions wired to a URL path fire on cart pages and refreshes. Conversions wired to button copy die silently the moment someone changes the CTA text. Triggers belong on actual server confirmations, not page paths or click text. When a conversion count looks too high or drops to zero overnight, check the trigger first. On one contractor account, renaming a form button from Send to Submit left the only website conversion recording nothing.
-
The conversion value is the wrong number
An order total that includes shipping and tax has Smart Bidding optimizing toward money you never kept, and a platform setting can pad the number after it lands. On one account, a $32.99 order reported as $148.95 because a $115.96 new-customer value was hardcoded in Google Ads. The value that belongs in the platform is the order subtotal after discounts, before tax and shipping, in one currency, with the order ID. Reconcile it gross to gross and handle refunds separately.
-
GA4 is being used to grade ad performance
GA4 sessionizes traffic. Shopify counts orders. Those two will never agree, and grading ad spend against GA4 revenue guarantees a number that drifts further off every week. GA4 is for behavior: which pages lead to add-to-cart, which campaigns produce sessions that convert. Judge ad performance against Shopify orders, the ledger, and use the server-side conversions inside each platform to steer bidding there.
Three free resources you can use
without a sales call.
-
The Tracking Stack
Eight-layer reference for Shopify.
The architecture every answer here points back to. How the store, server container, platforms, and reconciliation fit together.
Read the stack: the Tracking Stack -
Google Ads Setup Checklist
Free 25-page PDF. No email gate.
The workbook I run before every written audit. Covers conversion setup, dedup, and the standard tracking leaks.
Download the checklist -
Free Google Ads Audit
Written by me. No call.
I check your GTM, GA4, Google Ads and Meta conversions first, then rank the top three leaks by spend impact. Back within 24 hours of read-only access.
Get the free audit
Every question,
answered in full.
Grouped by where the number breaks. Each question links to a self-contained answer. No gate, no email.
Reconciliation
4 questions
-
How do I know whether Meta or Performance Max drove a sale?
Why Meta and Google both claim the same order, how to see what each one really added, and how calls and bookings get counted for lead-gen businesses.
-
What conversion value should I send to Google and Meta, and how do I keep them reconciling?
How to pick the conversion value you send to Google Ads and Meta so both platforms reconcile with each other and with Shopify or your CRM.
-
Why don't my GA4 and Meta conversion numbers match?
GA4 and Meta count conversions differently: attribution windows, modeling, dedup. How to read the gap and when it signals a real problem.
-
Why don't my Google Ads conversions match my Shopify orders?
Google Ads counts by click date and Shopify by order date, so they never match exactly. The gap band for each pair, and the six causes I rule out in order.
Architecture
4 questions
-
How do I set up the Meta Conversions API the right way?
How to set up the Meta Conversions API so server events deduplicate with the pixel, match well, and stop double-counting in platform reporting.
-
What are enhanced conversions in Google Ads and how do I set them up correctly?
How enhanced conversions work in Google Ads: the web and lead jobs, setup via GTM or the API, and the consent and data rules that decide match rates.
-
Server-side tracking sends conversion data from your own server to ad platforms instead of the browser. How it works, and when to use it.
-
What's the difference between Google Tag Manager and GA4?
Google Tag Manager is the delivery system for your tracking tags. GA4 is one report those tags feed. How they differ and how they work together.
Troubleshooting
3 questions
-
How does Shopify Checkout Extensibility break my tracking, and how do I fix it?
Shopify retired checkout.liquid and additional scripts. What that breaks in your pixel, GA4, and CAPI tracking, and how to rebuild it with Web Pixels.
-
What is Google Consent Mode and how does it work?
A plain explanation of Google Consent Mode v2: the consent signals, basic versus advanced mode, modeling, and the mistakes that break tracking.
-
Why is my Shopify conversion tracking not working?
Shopify tracking breaks at predictable points: a missing Customer Events pixel, mismatched event names, or no deduplication. How I find the real cause.
Same diagnosis,
run by a senior operator.
Every founder reading this can run the reconciliation on their own account. Pull Shopify gross revenue for the last thirty days, line it up against Google Ads conversion value and Meta purchase value, and read the gap. If the platforms land within fifteen percent of Shopify, the tracking is healthy and the problem is somewhere else. If they do not, the questions below walk through why. The band for every pair, count and revenue, is on the Google Ads versus Shopify reconciliation page.
That diagnosis is what I do. I'm Conner Crowe. I spent a decade inside agencies and in-house teams, and more than $15M of managed ad spend working with founders direct. I rebuild the tracking before I touch a single bid, because bidding against a broken number for sixty days costs more than the rebuild ever does. Same person on the call as on the keyboard. No account manager. One I wrote up in full is Emma Grace Home, where GA4 filed the store's revenue as Unassigned because two GA4 installs shared one property and the server container received zero ecommerce events. Here's how I traced it.
The Tracking Stack is the architecture I rebuild every account to. This library is the diagnostic layer on top of it. Work the questions against your own numbers first. If the gap points to a rebuild, the free audit link is below, and a call is open if you'd rather talk first.
If you book a call
-
Before. I look at your site first, so the call starts on your business, not an intro.
-
The call. Thirty minutes on what’s working, what’s leaking and whether this fits.
-
After. If it isn’t the right fit, you leave with two or three fixes you can ship without me.
5.0 average from 11 Google reviews.
Same diagnosis,
run on your tracking.
Add me as a read-only user and I'll write the audit myself: how your platform numbers line up against your real orders and which tags fire on which events, 5 to 7 pages, back within 24 hours of access. No call needed. If you'd rather talk first, a call is open too.