Google Ads
When Shopify shows orders from Google traffic and Google Ads doesn't, the cause is almost always one specific link in the chain between an order completing and a conversion getting recorded — not a vague "tracking is broken." Work through the checks below in order. Most stores find the answer within the first half of the list.
Google Ads only reports and bids against conversion actions marked Primary — a Secondary action still logs data but doesn't show up in the headline Conversions column or feed automated bidding. If a Purchase action exists but got left as Secondary during setup, or a different action entirely (like a newsletter signup) is marked Primary instead, purchases can be recording correctly and still look invisible from where you're looking.
Check the storefront itself, not the theme editor or a preview link — a tag added to an unpublished theme or a draft of the Google & YouTube channel setup won't fire for real customers. A browser's network tab or a tag-inspection extension on the live site will show whether the base tag is present at all before you go further.
The base Google tag firing on every page (which supports remarketing and basic measurement) is a separate thing from the conversion event tied to the order confirmation step. It's possible for the base tag to work fine sitewide while the purchase-specific event on the thank-you or order-status page never fires — check that the confirmation page itself is actually loading and triggering the conversion snippet, not just that the site has a tag somewhere.
If the tag was hardcoded manually rather than deployed through the Google & YouTube app, a copy-paste mismatch between the conversion ID/label shown in the Google Ads UI and what's actually in the snippet is a common, easy-to-miss cause. The values have to match the specific conversion action character for character — a stale ID from a recreated action is enough to break it silently.
Each purchase event should carry the Shopify order ID or order name as its transaction identifier. A missing transaction ID, or a static placeholder value used across every order, breaks Google's ability to tell one order apart from another — which shows up either as conversions silently dropping or, in the opposite direction, as the same value getting recounted on page reloads.
A purchase event with an empty or zero value still counts toward conversion count, but it wrecks value-based bidding and revenue reporting — the order shows up as a conversion worth nothing. Currency has to match (or be explicitly declared against) the store's transaction currency; a value passed without a currency, or in the wrong one, distorts every revenue figure downstream even when the count is accurate.
Purchases can be tracked through Shopify's built-in Google & YouTube channel integration, or through a manually configured Google Tag Manager container in the theme, or, on stores with a longer history, both at once because a migration was never finished. Confirm which one you believe is active is actually the one live on the store — a disconnected app with an old manual snippet still assumed removed is a common way tracking quietly stops.
If the Google Ads conversion action is set up to import a GA4 event rather than use its own native tag, that import is only as good as GA4's own ecommerce tracking. If GA4 isn't capturing the purchase event correctly in the first place — wrong event name, missing parameters — the import brings the same gap into Google Ads. Import processing also runs on its own delay, so check GA4's Realtime and standard ecommerce reports directly rather than assuming the import lag explains everything.
Enhanced Conversions send hashed customer data alongside the standard conversion to improve matching — they don't create the underlying conversion record. Misconfigured field mapping here won't stop base purchases from tracking, but if base tracking is already broken, turning Enhanced Conversions on won't fix it. See enhanced conversions for Shopify for how the feature actually works.
Under Consent Mode, a customer who hasn't granted ad or analytics storage consent means the conversion tag either doesn't fire the way it normally would, or fires in a cookieless, consent-aware mode where results get statistically modeled rather than individually recorded. If a cookie banner's default state denies consent until explicit opt-in, and a meaningful share of customers never interact with the banner, that alone can suppress a large share of recorded purchases without anything being misconfigured in the tag itself.
After working through the above, the most reliable confirmation is placing an actual order (even a low-value one) and watching it through. Google Ads' own diagnostics area for a conversion action will show whether the tag was detected recently and whether it's receiving events — that's a more direct signal than inferring from delayed reporting. Give it 24–48 hours after the test order before concluding anything, since conversion processing isn't instant.
This exact chain — order completes, event should fire, value and transaction ID should populate — is what Attribix sends from Shopify to Google Ads on every order, alongside a view of what Google Ads actually recorded, so a broken step shows up as a visible gap instead of a mystery. More on how that fits together on the Google Ads conversion tracking for Shopify page.
This covers the great majority of Shopify accounts with broken purchase tracking. When it doesn't and the cause needs someone actually inside the account and the tag setup, that's where our team steps in.