Shopify Apps

Shopify Script Tags Are Being Switched Off. Here's What Breaks.

HelloDevs

Sep 2, 2026

8 min read

Shopify is switching off script tags. Not deprecating them in the usual sense, where the old thing quietly keeps working for years — switching them off. On 1 March 2027, Shopify stops injecting script tags into storefronts entirely, and anything that depended on one stops running.

There is an earlier date that bites first. From 1 October 2026, the scriptTagCreate and scriptTagUpdate mutations return errors on every API version, and the REST endpoint rejects POST and PUT. Existing tags keep running until 1 March 2027, but from October no app can create or update one.

If you run a Shopify store, some of the apps you have installed almost certainly use script tags. Most merchants will find out when something stops working.

Both dates come from Shopify's own developer changelog and its script tag deprecation guide, last checked on 29 September 2026.

What a script tag actually is

When an app needs to run JavaScript on your storefront, it has to get that JavaScript onto the page. A script tag was the original way: the app registers a URL with Shopify, and Shopify injects a <script> pointing at it into every page of your store.

It is a blunt instrument. The app has no control over where in the page it loads, the merchant has no visibility of it in the theme editor, and it runs on every page whether it is needed there or not. It was replaced in 2021 by theme app extensions — which is why this deprecation has been signposted for five years.

The reason it survived so long is that it works, and rewriting a shipped app is unrewarding work that produces nothing a merchant can see. Which is exactly the kind of work that gets deferred until a deadline arrives.

The dates, precisely

01

1 October 2026

scriptTagCreate and scriptTagUpdate return user errors. The REST ScriptTag resource rejects POST and PUT. Existing script tags continue to run — but no app can register a new one, and none can update an existing one.

02

1 March 2027

Shopify stops injecting script tags into storefronts. Every script tag stops running. Anything an app was doing through one stops working, with no fallback.

03

Still working after both dates

The scriptTags query and the scriptTagDelete mutation continue to function. That is deliberate — you can still audit what is registered on your store and clean it up.

Pinning an old API version will not save you

This is the part that catches development teams out. Most Shopify breaking changes are scoped to an API version, so an app pinned to an older version carries on unaffected until it upgrades.

Not this one. The deprecation applies across all API versions, including older ones. There is no version to pin to that defers it, and no configuration that opts out. The date is the date.

One narrow exception worth knowing: the deprecation targets script tags with a display scope of online_store. Order status page script tags are on their own, earlier timeline and are not covered by these dates.

What replaces it

Two things, depending on what the script was doing.

For anything that renders or interacts with the storefront — a widget, a badge, a popup, a chat launcher — the replacement is an app embed block, shipped as part of a theme app extension. The merchant activates it in the theme editor, which means they can see it, position it, and turn it off. The asset is served from Shopify's CDN and versioned with the extension.

For anything that only collects analytics or conversion data, the replacement is a web pixel. Pixels run in a sandboxed environment built for exactly this, and they need no action from the merchant at all.

The upgrade is genuinely better

It is worth saying that this is not a case of Shopify breaking something useful for no reason. App embed blocks are better than script tags in every direction that matters to a merchant.

A script tag is invisible. You cannot see it in your theme editor, you cannot control where it loads, and when you uninstall the app it is supposed to be removed — but stale script tags on stores whose apps were removed years ago are a routine finding in storefront audits.

An app embed block is visible in the theme editor, positioned by the merchant, and disappears cleanly when the app is uninstalled. It also loads from Shopify's own CDN rather than a third-party server, which removes a DNS lookup and a point of failure from every page of your store.

What to do, in order

01

Audit what is registered

The scriptTags query still works and will keep working. Run it against your store and list every script tag currently registered, along with which app owns it.

02

Delete the orphans first

Expect to find tags belonging to apps you uninstalled long ago. Those are running on every page of your store right now, doing nothing. scriptTagDelete removes them, and this is free performance.

03

Ask the remaining app developers

For each app still using a script tag, ask when they are shipping an app embed block. A developer who cannot answer that now is a risk on your storefront.

04

Check your own custom code

If an agency built you something custom that registers a script tag, that is yours to migrate, and nobody else is tracking the deadline for you.

05

Re-test after each app updates

An app moving from a script tag to an app embed block usually needs the merchant to activate the block in the theme editor. An update that ships without you activating it means the feature silently stops. And delete the old script tag once the new block is live: Shopify warns that while both run, the script loads twice — double-counting analytics or showing the app's UI twice.

“Most merchants will discover this deprecation when something on their storefront stops working. The audit takes an afternoon.”

HelloDevs

If you build apps

The 1 October 2026 cutoff is the one that bites first, not March 2027. From that date no app can create a new script tag, so any install flow that registers one at install time breaks for every new merchant — even though existing merchants keep working until March.

That asymmetry is worth reading twice. An app that registers its script tag during OAuth will appear to work fine for its existing user base and fail silently for every new install, months before the deadline everyone is planning around.

If you are shipping a new app now, there is no decision to make: build the theme app extension. Script tags are not an option for anything new.

None of our own apps uses a script tag — ShopFlex, live on the App Store, puts its widgets on the storefront through a theme app extension. See how that works in our Shopify app development service, or talk to us if you have an app that still depends on a script tag.

The wider point

Deadlines like this are the tax on running a store built from other people's software. You did not choose script tags, you cannot migrate them yourself, and the work sits with developers who may or may not be paying attention.

The defence is an audit habit. Once or twice a year, list what is actually running on your storefront — every app, every script, every permission it holds — and remove what you no longer use. Most stores we look at are carrying code from apps they cancelled years ago.

This deprecation is a good excuse to do it. The deadline is real, the audit is an afternoon, and the performance you get back is yours to keep.

Want someone else to run that audit? We do them free — tell us your store URL.

ShopifyScript TagsTheme App ExtensionsMigrationPerformance

HelloDevs

Shopify development

Practical guides to planning, building and maintaining Shopify projects. Explore the linked product case studies for examples of our work.

TwitterGitHubLinkedIn

Share this on

Stay Updated

Get raw, honest dev-first tutorials and tech blog articles delivered straight to your inbox once a week.

Start a Shopify project

Let's Connect!

Tell us your requirements and get a professional developer response.

HelloDevs brand mark