● Findings · November 2026 · Daniel the Tuner
Does Google Tag Manager slow down Shopify? What 11,074 stores show
You run your store through PageSpeed Insights, open the part about third-party code, and there it is near the top: Google Tag Manager. Is it really that heavy, or is the report exaggerating?
We checked the homepages of 11,074 live Shopify stores to find out. Short answer: it’s real, it’s usually not huge on its own, and it’s the one outside script that shows up on almost half of all stores.
How heavy is it?
On stores where it runs, Google’s tag scripts keep a phone busy for about 283 ms on a typical homepage. A quarter of those stores are above 483 ms, and 4% go past a full second.
“Busy” means the phone is running code and can’t respond to a tap. A few hundred milliseconds sounds small. The trouble is that it lands at the same moment as your theme, your apps and everything else trying to start up.
Among outside scripts that appear on at least 500 stores in our sample, this one has the highest typical cost. The next heaviest, an ad pixel, comes in around 199 ms. And because it’s on so many stores, nothing apart from Shopify’s own code adds more busy time across the whole sample.
“Google Tag Manager” in PageSpeed often isn’t just Tag Manager
PageSpeed groups everything that loads from googletagmanager.com under one name. That domain serves two different things:
- The Tag Manager container (
gtm.js). A box you fill with tags from the Tag Manager website. - The Google tag (
gtag.js). The script Google Analytics 4 and Google Ads use, whether you added it yourself, through a Shopify sales channel, or through another app.
On stores where PageSpeed lists “Google Tag Manager”, we could see the Google tag on 81% and a container on 71%. Plenty have both. And the stores with both are the heaviest by a wide margin:
Both
414 ms
Google tag only
168 ms
Container only
100 ms
Typical phone busy time from googletagmanager.com scripts, by what the store loads. Stores per row, top to bottom: 2,703, 1,322, 817.
That doesn’t prove those stores load the same tags twice. Stores with both usually just track more. But it’s the first thing worth ruling out, because it happens easily: one setup through a sales channel, another inside a container someone built two years ago.
Do real shoppers feel it?
Google measures how quickly real visitors’ taps get a response (it calls this INP, and 200 ms or less counts as good). We grouped stores by how heavy their Google tag scripts were and looked at how many pass that check:
Under 100 ms
75%
100–299 ms
71%
300–599 ms
69%
600 ms or more
61%
Share of stores whose real shoppers get a response to taps in 200 ms or less, by phone busy time from Google’s tag scripts. Stores with real-shopper data per row, top to bottom: 645, 1,688, 1,426, 794.
The heavier these scripts are, the fewer stores pass. Stores that run them also do worse than stores with the same number of apps that don’t, by 3.5 to 7 points on that check. That’s a pattern, not proof that the scripts are the cause. Stores with more tracking tend to have more of everything else, too.
What to check on your own store
None of this needs an app.
- Find every place a Google tag is set up. Open your homepage, view the page source (Ctrl+U on Windows, Option+Cmd+U on Mac) and search for
googletagmanager.com. Addresses withgtm.js?id=GTM-are containers. Addresses withgtag/js?id=are Google tags. Then check your Shopify sales channels and your theme’slayout/theme.liquid. If the same measurement ID shows up in more than one place, you’re probably sending the same data twice. - Clean out the container. In Tag Manager, look for tags from tools you’ve stopped using, old tests, and duplicates of tags that a sales channel already handles. Pause them first and publish; delete them once nothing breaks.
- Ask whether each tag needs to run right away. Tags that don’t need to fire the instant the page opens can be set to wait until the page has finished loading.
- Check with whoever runs your ads before removing anything. Some of these tags report sales back to your ad accounts. Removing the wrong one costs you data, not just milliseconds.
What this doesn’t tell you
- It’s a pattern, not a cause. Stores with these scripts differ from stores without them in other ways too.
- The numbers are a floor. We kept the twelve heaviest outside scripts per store, and only looked at homepages.
- We can’t see inside a container. Tags that load scripts from other companies, like ad pixels, are counted under those companies, not here. The real cost of a busy container is higher than the number on this page.
See how heavy Google’s scripts are on your store
Our free check weighs every outside script on your homepage, Google’s included, in milliseconds of phone busy time, next to your apps and your theme.
Start the clock →How we got these numbers
In October 2026 we fetched the public homepage of 11,074 Shopify stores and ran Google PageSpeed Insights on each, the same sample as our Shopify speed statistics. Most of the stores (87%) are a random sample of Shopify stores among the world’s top million websites; the rest come from a list of brands, theme demo stores, and newer stores from the Shopify community. “Google’s tag scripts” means everything PageSpeed attributes to Google Tag Manager on mobile, which covers both the container and the Google tag. We told the two apart from the homepage source and the list of the slowest scripts. Real-shopper figures are Google’s own 28-day Chrome data as reported by PageSpeed Insights. We don’t name any of the stores.