The Shopify script tag deprecation, explained — and how to migrate before the deadlines (Oct 2026 / Mar 2027)

Last updated: September 16, 2026 · Sources: official Shopify changelog (2026-08-24) + Shopify migration docs

On August 24, 2026, Shopify announced that script tags are deprecated and will stop running on March 1, 2027. For roughly a decade, script tags were the standard way Shopify apps injected JavaScript into storefronts — analytics pixels, live chat widgets, exit-intent popups, review badges, custom tracking. If your store (or your app) relies on any of them, there are now two hard deadlines, and the work to meet them is on you.

The short version:

This guide covers exactly what breaks on each date, who needs to act, the three-step migration (audit → replace → vendor chase), and the gotchas that bite people who wait.

The two deadlines, precisely

DateWhat happensWho feels it
2026-10-01 The GraphQL mutations scriptTagCreate / scriptTagUpdate return userError, and the REST ScriptTag API rejects POST/PUT — on all API versions. Merchants installing an affected app see a dismissible warning banner. App vendors. Any app still shipping script tags stops working for new installs from this day.
2027-03-01 Shopify stops injecting all script tags into storefronts. Merchants. Every remaining tag silently dies — analytics stop firing, chat boxes disappear, popups never trigger.

Two properties of this deprecation make it nastier than usual:

Who needs to act, and when

App vendors (you ship a Shopify app)

If your app creates script tags — today or historically, on any store — your app stops being installable on new stores on October 1, 2026. That is an existential deadline, not a cleanup chore. Your job: replace the script tag with a web pixel or an app embed block (see the decision table below), ship the update, and communicate the migration to merchants.

Merchants (you run a store)

Your existing tags keep running until March 1, 2027 — but every one of them depends on its app vendor migrating in time. The merchants who get hurt are the ones who discover a dead pixel in April 2027 because a vendor stalled. Your job: find out which apps still use script tags (not trivial — see below), pressure the vendors, and verify the replacement actually fires.

Agencies (you maintain client stores)

You have the merchant's problem multiplied across every client. An audit per store plus a migration tracker is the difference between a controlled Q1 and a support fire in March.

The merchant-side trap: no audit view exists

Here is the part that surprises people: the Shopify admin has no screen that lists a store's script tags. Installed apps are visible, but what they injected — and which of those injections are about to break — is not. The scriptTags API query requires developer credentials, so merchants who want to know "which of my tracking pixels die on March 1?" historically had exactly one option: email every app vendor and ask.

That gap is the reason TagGuard exists. The officially supported path for both auditing and cleanup is the API — scriptTags queries and scriptTagDelete keep working after both deadlines — so the practical move is a tool that runs the query for you and turns the raw list into a migration plan.

Step 1 — audit your store (free, 30 seconds)

npx scripttag-audit login                 # one-time OAuth consent
npx scripttag-audit scan --store my-store.myshopify.com

The open-source scripttag-audit CLI runs on your machine, talks directly to the Shopify Admin API (no account, no backend, no telemetry), and returns every script tag classified:

StatusMeaningAction
AFFECTEDStorefront tag — stops running 2027-03-01Migrate (step 2)
DEADOrder-status-page leftover from the earlier deprecationDelete (scriptTagDelete) — the CLI prints the mutation for you
UNKNOWNUnrecognized scope/hostVerify with the vendor

For each tag the CLI also guesses the vendor behind the host (85+ mappings — GA, Meta, Klaviyo, Hotjar, Tidio, Intercom…) and suggests the replacement path. It exits with code 1 while affected tags remain, so teams drop it into CI and treat a green run as "migration complete":

npx scripttag-audit scan --store my-store.myshopify.com --format json > report.json
npx scripttag-audit advise --report report.json            # per-tag migration plan

Step 2 — pick the replacement (per tag)

The tag does…Migrate toMerchant action
Analytics / conversion pixels (GA, Meta, TikTok, Hotjar…) Web pixel extension — sandboxed, consent-aware, managed by the app None. The vendor ships it; it replaces the tag automatically.
Visible widgets (chat, popups, reviews, push prompts…) App embed block in a theme app extension Yes: activate it in the theme editor — per theme. Re-check after every theme change.
Nothing (dead order-status tag) Nothing — scriptTagDelete Optional cleanup; keeps the store tidy.

Step 3 — chase the vendors

Most tags belong to apps, and the app vendor owns the migration code. What you control is the asking. The CLI generates the email for you — one per vendor, containing what was found on your store, both deadlines, and the two questions that actually matter: what is your migration plan and ship date, and will anything need re-activation in the theme editor afterward.

npx scripttag-audit advise --report report.json --email

Send those, then re-scan weekly until each affected tag is gone (deleted by the vendor) or replaced. A tag that disappears from the scan is your confirmation that the vendor finished — no email chains required.

A realistic timeline for merchants

Gotchas that bite people who wait

FAQ

Will my existing script tags stop working on October 1, 2026?

No. October 1 is an install cliff: scriptTagCreate / scriptTagUpdate start failing on all API versions, so apps still shipping script tags can no longer be installed on new stores. Your existing tags keep running until March 1, 2027.

Do pinned API versions protect against the deprecation?

No. The breaking change applies to every API version simultaneously — the REST API rejects POST/PUT and the GraphQL mutations return userErrors regardless of what version you pin.

What replaces Shopify script tags?

Two official replacements: web pixel extensions for analytics and conversion tracking (sandboxed, no merchant action needed), and app embed blocks for visible features like chat widgets and popups (merchants activate them per theme in the theme editor).

Can merchants see which script tags are installed on their store?

Not in the admin — there is no built-in script tag audit view. The scriptTags API query is the officially supported audit path, which is what the free TagGuard / scripttag-audit tooling uses.

Do I need to reinstall my apps after the migration?

Usually no. The vendor migrates the integration and the app update replaces the tag. The main merchant-side action is activating app embed blocks in the theme editor — once per theme, and again after every theme change.

What about script tags on the order status page?

That surface was deprecated earlier; displayScope: ORDER_STATUS is no longer even a valid value when creating tags. Existing ones are dead weight — delete them. The CLI marks them DEAD (cleanup).

Is there an official Shopify audit tool for script tags?

No. The official changelog keeps the read and delete APIs available and points developers to migrate to web pixels and app embeds, but Shopify has not shipped a merchant-facing audit screen. Third-party tools fill that gap — TagGuard is one, and its scanner is open source.