Performance ·

Shopify apps still loading after you turn them off

Apps you switched off or uninstalled can still load code on every page. Why it happens, how to find it in five minutes, and the March 2027 script tag deadline.

By Nikita Ahapov · Updated

I audited a store that passed Core Web Vitals. LCP was 1.2 seconds on mobile, green across the board. It still had three apps loading on every page, and all three were switched off in the theme editor.

One of them pulled 155KB of JavaScript and rendered nothing on the page at all. Lighthouse did not flag any of it.

Why a switched off app keeps loading

Shopify apps get onto your storefront in two ways.

  • App embed blocks live in a theme app extension. You turn them on and off under Theme settings, App embeds. When you switch one off, it stops loading.
  • Script tags are the older route. The app registers a script through the ScriptTag API and Shopify injects it into every storefront page. The app embed toggle does not control it, so turning things off in the theme editor does nothing.

Uninstalling an app is supposed to remove its script tags, but code the app pasted into your theme files stays there. On the same store, an old page builder was still wired into line 1 of the layout file, long after the brand stopped using it.

The script tag deadline

Shopify is retiring script tags on the storefront. Since 1 October 2026 apps can no longer create or update them, and on 1 March 2027 Shopify stops injecting them into storefronts. Apps are expected to move to app embed blocks, or to web pixels for analytics only scripts. (Shopify changelog)

So if an app you rely on still loads through a script tag, it stops working on 1 March 2027 unless the developer moves it. If it is an app you forgot about, it disappears on its own. Better to know which is which now.

How to check your store in five minutes

  1. Open your store in Chrome, press F12 and go to the Network tab.
  2. Filter to JS and reload the page.
  3. Read the list of domains. Compare it against the apps you think are active. Anything you do not recognise, or anything from an app you removed, is still running.
  4. Search your theme code for the app name. In the admin, open the theme, Edit code, and search layout/theme.liquid and the snippets folder.

How much the leftovers cost you

Unused JavaScript costs your shoppers download and processing time. Leftover Liquid costs you on the server, before the page even leaves Shopify.

To see the server side, install Shopify Theme Inspector for Chrome. It profiles how long each part of your theme takes to render. On the store above it showed 396ms of Liquid render time, and the dead page builder cost 8ms on every page load. Render time lands straight in time to first byte, and a slower first byte pushes everything after it.

I export the profile and open it in speedscope.app, which runs in the browser. The Sandwich view sorted by self time puts the slowest snippets at the top.

What I do about it

On an audit I list every script that loads, match each one to an app, and sort them into three groups: keep, remove, and needs the developer to move to an app embed before March 2027. Then I take the dead code out of the theme on a duplicate, test it, and publish.

If you were on Shopify Scripts as well, those stopped in June. Here is what replaces each kind of script.

Want a second pair of eyes on your theme? Send me your store and I will tell you what is still loading that should not be.

← All notes

Need this built rather than explained?

Send the design or describe the problem. Fixed scope, fixed price, honest no if it is not a fit.