Guide

GA4 purchase event not firing on Shopify

The gtag library loads on Shopify and purchase never reaches Google. Three usual causes, the checks that separate them, and a scan that confirms it.

Last reviewed September 2026.

What this usually looks like

Sessions in GA4 look healthy. Add-to-cart may even appear. Purchase does not. Shopify’s own analytics still count orders, so the store is taking money and Google is not being told.

The three usual causes are a tag that loads and never sends, a tag that fires on every page type except the one that matters, and a purchase that only exists on hosted checkout — which no external scanner can see.

1. Confirm the library loaded

On a product page, filter the network panel for gtag/js orgoogletagmanager.com. You want a 200. If the library is missing, the theme is not asking for GA4 at all — that is an install problem, not a silent tag.

2. Look for the collect request

A vendor is firing only when a request reaches its collection endpoint. For GA4 that is/g/collect (or the v2 collect path) with an event name. Page-view collect on the homepage does not prove purchase. You have to look on the page where purchase should fire.

If the library returned 200 and no collect left, that is the finding Tagnovo exists to surface. It is invisible to a tool that only checks whether a script tag is in the theme.

3. Check the templates, not just theme.liquid

A theme update that drops one line from product.json or a section file will leave the homepage looking fine. Open home, collection, product and cart. If collect is present on three and absent on one, you have a page-type gap, not a missing install.Tracking broke after a theme update walks that case.

4. Hosted checkout is a coverage limit, not a broken tag

Shopify checkout and thank-you often run on Shopify’s own domain. Nothing you paste into the theme can observe those pages from the outside. If purchase is configured only there, a storefront scan will correctly report it as unobservable.

Additional scripts on a thank-you page you do control are a different question — and they still have to send collect, not merely load.

What a scan will add

Four page types, a first-party control, and a matrix that says firing, partial, broken or unobservable. It will not invent a purchase event on a hosted checkout. Seehow the scanner works for the two-observation rule.

Confirm it with a scan

Four page types, a real browser, no account. A scan will not fix the tag. It will tell you whether it is firing now.

Scan a store

All guides · How the scanner works · Watch the store