August 26 has arrived: Additional Scripts are history
This week Shopify draws a line that was announced long ago: checkout.liquid and the "Additional Scripts" field stop working for the remaining stores. No error message, no warning banner. Tracking code living there simply stops firing. If you set up your conversion measurement years ago and never touched it since, you may be losing it right now without noticing.
The only supported path for checkout tracking since then is the Web Pixels API, Shopify's own framework under "Settings, Customer events". It comes in two flavors: app pixels, registered automatically by an app, and custom pixels, where you place your own code that runs in a sandbox and subscribes to Shopify's standard events. That settles the occasion. Now to the real question: how do you build tracking on top of this that you can trust?
What Shopify ships natively (and what it swallows)
Shopify's official recommendation is unambiguous and, frankly, the opposite of ours: "When possible, choose an app pixel", meaning integrations like the Google & YouTube app that connects GA4 in a few clicks. Custom pixels are called the fallback and even labeled "unsupported". That recommendation optimizes for the right goal for millions of merchants: nothing should break, apps update themselves.
The problem is data quality. In practice, the native integration reliably tracks page_view and purchase but regularly swallows the middle of the funnel: add_to_cart, begin_checkout, view_item_list. Precisely the events that remarketing audiences, funnel analyses and bidding signals are made of. An account that only knows page views and purchases cannot address cart abandoners and cannot explain to any algorithm which traffic is valuable.
Quick framing: Shopify's best practice and our recommendation do not contradict each other by accident. Shopify optimizes for stability for everyone, we optimize for data quality for shops that make money with the data. Both are legitimate, you should just know which game you are playing.
How Snocks, Purelei and Waterdrop really track
Instead of theorizing, we looked into the delivered source code of large German Shopify brands. Important framing: from the outside you can see what sits in the source, not who put it there. But even the observable part is unambiguous:
- Snocks: a classic GTM container in the theme, plus Analyzify signatures as the data foundation, Meta Pixel and Klaviyo. App and GTM are not a contradiction here but layers: the app supplies the dataLayer, GTM steers the tags.
- Purelei: GTM container in the theme, own dataLayer pushes, client-side Meta Pixel.
- Waterdrop: the most mature stage. GTM loads from their own subdomain, no client-side Meta pixel visible. That points to a server-side setup where conversions run through interfaces like the Conversions API.
The finding: none of the three relies on the one-click integration alone. All run GTM as the leading system. If you want to know how your own setup compares: our free tracking audit tool performs exactly this source-code check for any domain.
Our setup: GTM first, GA4 as a second opinion
This is how we build Shopify tracking when a shop wants more than standard:
- GTM in the theme as the control center. In the storefront you are as free as on any website: GTM classically embedded, a cleanly defined event model in the dataLayer, tailored to the shop. Bundles, tiered pricing, B2B logic, margin instead of revenue only: this is where the difference to off-the-rack tracking is made.
- Checkout connected via custom pixel. The custom pixel subscribes to Shopify's standard events (checkout_started through checkout_completed) and relays them into the same dataLayer. One event language for the whole funnel.
- Custom events without an app. Where the standard set is not enough, the storefront uses
Shopify.analytics.publishor direct dataLayer pushes. That is Shopify's documented interface, not a hack. - Conversions primarily via GTM to the platforms. Google Ads and Meta receive their signals from the GTM model, complemented server-side as soon as the budget justifies it. GA4 runs as the second measurement line: indispensable for analysis, but not the source that bidding algorithms hang on.
- Deactivate the native Google integration. Running GTM while keeping the Google & YouTube app active means counting everything twice. One of the most common mistakes we see in audits.
How we structure GTM containers in general is on our GTM page; the bigger picture on Tracking & Analytics. We have been building measurement pipelines since 2006. Shopify is just one platform among many, but one with rules of its own.
The honest pitfalls of the custom route
So this does not turn into an ad, the drawbacks in plain terms:
- The sandbox is inconvenient. Custom pixels run in an iframe with their own dataLayer, which is not the global
window.dataLayer. Debugging means deliberately switching into the sandbox frame in DevTools. If you do not know that, you will search for hours. - Attribution subtleties. The sandbox can distort GA4 sessions and referrer information. Manageable, but only if you are aware of it.
- "Unsupported by Shopify." For custom pixel problems, Shopify support points to partners. So you need someone who can handle it, in-house or external.
- No wish-list events in the checkout. Only Shopify's standard set exists there. Custom happens in the storefront, not in the payment flow.
When apps are the better choice
And now the part an agency rarely writes: for many shops, an app is the more sensible route.
- Meta tracking: the official Facebook & Instagram app by Meta registers the pixel as an app pixel and ships the Conversions API server-side out of the box. Solid for a standard shop without special logic.
- Analyzify builds GTM plus dataLayer as a guided one-time setup. Unbeatably affordable at high order volumes, and the result is a GTM setup you can build on.
- Littledata is strong for subscription commerce (Recharge, Klaviyo) and attractively priced at small order volumes, with no GTM required.
- Elevar is the server-side framework with the broadest destination coverage, up to Klaviyo and Attentive, and reliably tracks express checkouts. Building this yourself costs more than the subscription.
Our rule of thumb: small standard shop without special needs: native apps plus the Meta app, done. Growing shop with its own funnel, CRM connection or special logic: the GTM setup above, gladly with an app as the foundation. Large brand with meaningful budget: server-side, whether with Elevar or your own stack. Unsure where you stand? Send us your shop URL via contact, we will look into your setup for free and tell you which tier pays off for you.
FAQ
Is the native GA4 integration enough?
For small shops without meaningful ad budget: yes. As soon as budget meets remarketing and automated bidding: no, the mid-funnel events are missing.
Can I add custom events without an app?
Yes. Storefront: freely via dataLayer or Shopify.analytics.publish. Checkout: standard events only, and that applies to everyone, apps included.
Why GTM before GA4?
GTM distributes one event model to all destinations and survives platform changes. GA4 is an analysis tool, not a steering source. Together they form two measurement lines that verify each other.
What happens if my tracking still lives in Additional Scripts?
It stops firing, without an error message. Watch your conversion numbers closely this week. If they suddenly collapse, you now know where to look.
Do I need server-side tracking?
Not at the start. Client-side foundation first, then server-side once the budget makes the signal loss from ad blockers and Safari noticeable. More on our server-side tracking page.
Bottom line
Shopify has cleaned up its tracking ecosystem: away from wild script pasting, toward a governed API with an app lane and a custom lane. That is good. But the convenience lane only delivers convenience data. If you want to turn your shop into a business with steerable campaigns, there is no way around an own event model with GTM at the center, and the source code of the big brands confirms it.
If you want to know which tier your shop is on right now: get in touch or book a 30-minute call directly. The intro call is free, including the honest verdict if the app route is enough for you.