Skip to content

Shopify Scripts and script tags have different deprecation deadlines

Shopify Scripts stopped executing on 30 June 2026. Script tags are a separate retirement that runs until March 2027, and the two are constantly mistaken for each other.

UpdateAugust 26, 20263 min read

Two different things called something similar have been retired on two different timelines, and the resulting confusion is costing stores working functionality. A merchant who completed the Scripts migration in June can still have breakage due before March 2027, because that was a different deadline.

The two things

Scroll the figure sideways to see all of it

Shopify Scripts is the Ruby-based discount, shipping and payment customisation feature for Plus stores. Editing and publishing was disabled on 15 April 2026, and all Scripts stopped executing on 30 June 2026. This one is finished. The replacement is Shopify Functions.

Script tags are a completely separate mechanism: JavaScript injected into the online store by an app or through an Additional Scripts box. They are being retired on their own schedule, which runs into 2027.

Scripts fail silently, which is the part worth stating plainly. A store still relying on Scripts for discount or shipping logic has been running without that logic since 1 July, and the store keeps taking orders as if the rule were still there. Shopify does surface a Scripts customizations report in the admin, but nothing interrupts anyone to point at it. If nobody checked, checking is overdue.

The script tag timeline

DateWhat happens
28 Aug 2025checkout.liquid, Additional Scripts and script tags sunset on Thank you and Order status for Plus. On non-Plus plans the Additional Scripts boxes became read-only and kept running.
Jan 2026Shopify begins auto-upgrading non-compliant Plus stores after a 30-day notice. Legacy customisations are lost in the upgrade.
26 Aug 2026Script tags sunset on Thank you and Order status for non-Plus stores; pages not yet upgraded are auto-upgraded.
1 Oct 2026The scriptTagCreate and scriptTagUpdate mutations return a user error; the REST ScriptTag endpoint rejects POST and PUT.
1 Mar 2027Shopify stops injecting script tags into storefronts entirely, across all API versions. Pinning an older version does not defer it.

The 26 August entry is the one most likely to be missed, because it applies to every non-Plus plan — Basic, Grow and Advanced — the stores least likely to have a developer watching a changelog.

The March 2027 line deserves emphasis for a different reason. Version pinning is the normal way to buy time against a Shopify deprecation, and it does not work here. The injection stops for every API version at once.

What to do, in order

Confirm Scripts are actually gone from your logic. Not that the feature is off — that nothing in the store depended on it. Discount behaviour, shipping rate overrides and payment method filtering are the three places to check, and the test is a real order rather than a settings screen.

Find what is injecting script tags. These come from two sources: apps that use the mechanism, and code pasted into an Additional Scripts box by someone in marketing, possibly years ago. The second source is the one nobody has an inventory of.

Move analytics and pixels to the pixel framework. Anything tracking on the Thank you page through an injected script has a replacement path, and the date for the non-Plus half of that was 26 August 2026.

Move interface changes to extensions. Anything that was drawing or altering a checkout or post-purchase page belongs in a checkout UI extension, and anything that was enforcing a rule belongs in a Function.

Ask your app vendors directly. "Does this app use script tags, and what is your plan for March 2027" is a support ticket worth sending to every vendor on the list. An app that has not answered by the autumn is an app to plan around.

Why this keeps going wrong

Three overlapping retirements — checkout.liquid, Shopify Scripts, script tags — share vocabulary, appear in the same articles, and have dates spanning three years. A merchant reads about one, resolves it, and reasonably concludes the topic is closed.

It is not one topic. It is three, and the one still running is the one nobody is watching.

The remediation work here is checkout extensibility and Functions, with an analytics and tracking pass for whatever the Thank you page was doing.

Blog