help1
shopify google channelshopifypage-speedgoogle-tag-manager

What the Shopify Google Channel Actually Loads on Your Store

The Shopify Google Channel loads three tracking scripts on every page. Here's what I keep finding when I audit slow stores.

help1 Team
What the Shopify Google Channel Actually Loads on Your Store

In a store audit posted to r/shopify last month, Google Tag Manager was doing more script evaluation on a merchant's homepage than every other script on the store put together. 329 milliseconds for GTM, 312 milliseconds for their own theme and app code. That merchant only had one Facebook Pixel and a Klaviyo embed on top; nothing else exotic. The rest of the tracking was the Shopify Google Channel doing exactly what its setup wizard told it to do.

I keep finding this shape in slow Shopify stores. Not one bad app, not a heavy hero image, not a broken lazy-load. Three separate Google scripts stacked on top of each other, each of them doing part of the same job, because the channel app, a manual GTM container, and Google Merchant Center were all installed the way the tutorials told the merchant to install them. The merchant never sees the pile. It only appears in DevTools and PageSpeed Insights, both of which most solo operators never open.

What I look at first when the score cratered

Open Chrome DevTools, hit the Network tab, filter by google, reload the page. That is the whole first-pass diagnostic. On a store where the Shopify Google Channel is doing more work than the merchant realizes, you get something like this on any product page:

  1. /gtag/js?id=G-... (GA4 library, roughly 100 KiB)
  2. /gtm.js?id=GTM-... (a manually added GTM container, roughly 63 KiB)
  3. /gtag/js?id=G-... a second time, this one with a dataLayer parameter appended, another 100 KiB
  4. /gtag/destination?id=MC-... (Merchant Center destination tag, roughly 74 KiB)

That audit was first posted to the Shopify Community in late 2023 and it has kept turning up in audit screenshots ever since. The specific numbers move around by a few KiB depending on the store, but the pattern is the same: two gtag/js calls for the same GA4 property, one loaded by the channel, one loaded by the merchant's own GTM. Lighthouse flags roughly 160 KiB of duplicated JavaScript that can be removed without losing a single tracked event.

The reason merchants do not catch this on their own is that the two gtag/js entries look almost identical in the waterfall. The &gtm= query parameter on one of them is the only visible tell that a GTM container is loading GA4 a second time. It reads like a Shopify implementation detail rather than a bug the merchant made. It is not the merchant's fault; the setup guides for the Shopify Google Channel and for GTM were written independently and neither warns you about the other.

The three tag prefixes I keep counting

There are three tag-ID prefixes worth knowing on sight. Most merchants have never had them explained.

  1. G- is a Google Analytics 4 property. This is what the Shopify Google Channel loads first, through Shopify's trekkie infrastructure, alongside every page request.
  2. AW- is a Google Ads conversion account. Loaded by the Ads destination inside the same channel or via a GTM tag.
  3. MC- is Google Merchant Center. Loaded on stores that ever connected Merchant Center, even when Merchant Center is not actively used.

When all three appear as independent script requests in the waterfall, the merchant is paying the download cost of the same underlying gtag.js library three times over, because each destination triggers its own load. GA4 can route data to Ads and to Merchant Center through a single container. Shopify's native setup does not do that by default.

The compounding problem is that many merchants also installed GTM manually before the channel existed, or during the migration from Universal Analytics. GTM has its own GA4 tag inside it, pointing at the same G- property. That is the fourth load. That is how el_cul's audit ended up with GTM outweighing the store's own JavaScript.

Why removing the channel does not remove trekkie's scripts

Here is where I usually have to give merchants a disappointing answer. Disconnecting the Shopify Google Channel from the admin does not stop Google scripts from loading. There is a persistent Merchant Center MC- tag that keeps firing even after the merchant explicitly turned off Merchant Center conversion tracking in Shopify admin. That behavior has been documented in community threads going back to August 2023 and I have not yet seen a confirmed clean-removal path short of full channel disconnection plus a manual theme.liquid audit.

I have looked for a cleaner fix. Multiple community threads have looked. What I have read so far is that trekkie continues loading Google-related scripts after the channel is removed, and the only path to a clean waterfall is to disconnect the channel, then re-audit, then edit theme.liquid to remove any leftover snippets by hand. If someone has a cleaner recipe I have not found, I want to hear it.

The August 26 gap most stores still have

August 26, 2026 was the deadline for non-Plus Shopify stores to migrate to the new Checkout Extensibility Thank You and Order Status pages. That deadline is now about three weeks in the rearview. Most merchants I have talked to since do not realize that if their conversion tracking was ever set up by pasting a GTM snippet into the Additional Scripts field, that snippet stopped firing on the migration date. There was no error message, no email from Shopify, and the Google Ads dashboard kept reporting numbers that looked normal enough to ignore.

What happens instead is that pre-purchase browser events keep firing normally, so page views and add-to-cart still land in GA4. The purchase event on the Thank You page is the one that vanished. A Smart Bidding campaign optimizes on that purchase event. When it disappears, the campaign quietly starts optimizing on a weaker signal, and the reported ROAS drifts without the merchant knowing why. Community members describe checking the dashboard a week later and finding conversions had halved for no visible reason.

The migration path is a Shopify custom pixel, not a pasted script. The Additional Scripts field is a dead surface for tracking on non-Plus stores now. I still find stores where this rebuild did not happen, and every one of those stores has been running Google Ads with corrupted conversion data since late August.

What actually cleans this up

By October 2025 a community expert named J_mah wrote out the answer that seems to have stuck: a custom Shopify pixel, built through Settings > Customer events > Custom pixels, will eliminate the duplicate gtag.js loads. I have watched merchants apply that fix and I have run PageSpeed Insights before and after on their storefronts. The duplicated gtag/js entry does disappear from the audit. The wpm sandbox that hosts the custom pixel does add its own initialization cost, but it is smaller and it initializes only once per page load.

That is the good news. The rest is honest tradeoff. The same expert compared conversion counts across a GTM setup and the native Shopify Google Channel over identical 7-day and 14-day windows and reported that GTM captured roughly 1.7x more purchases than the native app: 10.94 vs 5.96 over seven days, 23.95 vs 13.96 over fourteen. Nobody I have read has resolved whether that gap is GTM over-counting from the duplicate paths we already know exist, or the native channel under-counting due to a consent-handshake issue. I lean toward the over-counting explanation because we can see the duplicate gtag/js in every audit. I am not certain.

One more thing worth checking before you rip anything out. If the store uses a consent management platform (Cookiebot, Usercentrics, OneTrust, Consentmo), open the browser console on a test order and run window.Shopify.customerPrivacy.analyticsProcessingAllowed(). If the return value is false on a session where the user actually accepted cookies, the CMP is not calling Shopify's Customer Privacy API correctly, and no amount of pixel cleanup will help until that handshake is fixed. There was a Cookiebot integration change in August 2025 that caused a 40 to 80 percent drop in tracked conversions on stores that had otherwise done nothing wrong; a very similar pattern surfaced with Usercentrics in August 2026. Both CMPs produced identical-looking dashboard symptoms via different mechanisms.

If you want a second pair of eyes on your Shopify Google Channel and GTM setup before you disconnect anything, the first 15 minutes with a help1 expert is free and this pattern is one we run a saved diagnostic for. If you want to see what your storefront is loading before you talk to anyone, our free Shopify diagnostic app will pull the same script audit in about a minute, so you know the shape of the problem before you ask about the fix.

Tracking on Shopify is one of those systems that pretends to be a checkbox in the admin, right up until you open DevTools and count the scripts.

Still stuck? Talk to an expert.

Our vetted Shopify experts can fix this issue for you in a live session. $39 per session. Your first 15 minutes are free.