On August 24, 2026 Shopify published a short changelog entry with a long tail: script tags are deprecated and will stop running on March 1, 2027. If an app put a script on your storefront through a script tag, that script stops loading on that date. Nothing will error. Your theme will render, your pages will load, and whatever that script was doing for you will quietly not happen.
This is the same shape as the August 26, 2026 checkout cutover that CheckoutProof was built for, on a bigger surface: every storefront on Shopify, not only the checkout and order-status pages of non-Plus stores. This article is what a merchant can do about it now, what a free public check can tell you, and where our own scan stops.
The first of those dates has passed. Since October 1, 2026 no app can create or update a script tag, and the ones already on your store keep running until March 1, 2027.
The Three Dates
| Date | What happens | Who it touches |
|---|---|---|
| August 26, 2026 | The legacy Thank you and Order status pages, checkout script tags and the order-status Additional scripts box stopped working. | Non-Plus stores that had not upgraded their checkout profile. |
| October 1, 2026 | Apps can no longer create or update script tags. Existing ones keep running. | Every store. A vendor that has not migrated by then cannot patch its script tag, only delete it. |
| March 1, 2027 | Shopify stops injecting script tags into storefronts. | Every store, every theme, every API version. Pinning an older API version does not defer it. |
Two details from the changelog matter for the plan below. First, the scriptTags query and the delete mutation keep working after both dates, so an app can still list and remove its own tags. Second, the deprecation names the replacement: an app embed block shipped in a theme app extension, or, when the script only collects analytics or conversion data, a web pixel, which needs nothing from you once the vendor ships it.
Why You Cannot See Them From the Admin
A script tag is a line an app adds to your storefront through the Admin API. There is no page in the Shopify admin that lists them. The app that created one is the only party that can read it back, because the API is scoped to the calling app: an app can list its own script tags and nobody else's. That is the honest limit of every "scan your script tags" tool on the App Store, ours included, and it is why the rest of this article works from the storefront rather than from the API.
Where they show up
A script tag is not an ordinary <script src="..."> line in your page source. Shopify loads script tags itself: near the top of every page it writes a short script with a function named asyncLoad, which holds a list of addresses (var urls = [...]) and adds each one once the page has loaded. Every address in that list is a script tag. Shopify adds your store's address to each, so one looks like https:\/\/vendor.example\/app.js?shop=your-store.myshopify.com, with the slashes written as \/. A tag the app asked Shopify to cache is listed as cdn.shopify.com/proxy/... followed by the vendor's own address. Scripts from your theme and from app embeds load as ordinary lines elsewhere on the page, and some of them carry shop= too, so the list is the test, not the parameter. Shopify doesn't document this list; it is how storefronts served it when we last read them, on October 1, 2026.
How to Find Yours in Five Minutes
You need a browser and your storefront, nothing else.
- Open your storefront home page and view the page source. In Chrome, Edge or Firefox that is Ctrl+U on Windows or Cmd+Option+U on a Mac.
- Search the source for
asyncLoad. A few lines below it isvar urls = [and the list of addresses. Each one is a script tag. Write down the domain of each one. IfasyncLoadisn't on the page at all, no script tag is loading on it. - Match each domain to a vendor. Most are recognisable: a reviews app, an email or SMS platform, a live chat, an affiliate or referral tool, a currency converter, a "recently viewed" widget, a size chart. The ones you cannot place are the ones to look up before March.
- Check whether the vendor has already moved. Go to Online Store, Themes, Customize, and open the App embeds panel. A vendor whose embed is listed there has a theme app extension, and turning it on is the migration. For pure analytics vendors, look under Settings, Customer events, for a pixel with their name.
- Ask the ones that have not. A vendor still shipping only a script tag on your store has until March 1, 2027 to ship an embed or a pixel, and since October 1, 2026 it cannot even update the tag it has. Their support inbox is the right place for the question, and the changelog link above is the right thing to send with it.
A script tag that is also the vendor's only integration is the one that hurts: a review widget that disappears, a chat bubble that stops opening, an affiliate cookie that never gets set. A script tag whose vendor has already shipped an embed is a five-minute switch in the theme editor.
What the Free Check Can Tell You
Our free storefront check reads one public home page over HTTP, unauthenticated. It names every script tag in Shopify's own list, and counts the other third-party scripts loading on the page, naming a few of them as examples. Web-pixel-loaded trackers do not appear, because they load at runtime inside the pixel sandbox, which is exactly why a tracker domain in the static HTML is a legacy-integration signal worth a second look.
What it hands back is a sorted list. The script tags come first, named one by one, because those are the ones that stop on March 1, 2027. Then the trackers it recognises that also have a checkout counterpart worth confirming, the ones whose home is the storefront by design, and any third-party host it does not recognise. It deliberately does not call anything broken. It cannot see your checkout, so the check asks a question instead of raising an alarm. What CheckoutProof checks before it calls a tracker broken is the full argument for that design.
What no outside check can see
Whether a vendor already has an embed waiting in your theme editor, whether your checkout profile is on the new Thank you and Order status pages, and whether anything is left in the order-status Additional scripts box. All three live behind your admin login. A tool that claims to know them from your public home page is guessing.
What the Scan Adds, and Where It Stops
CheckoutProof runs from inside your admin. It reads your checkout profile's upgrade status, classifies the script tags it is allowed to see by where they run, reads the scripts rendered into your storefront against the same recogniser the free check uses, scores the whole picture 0 to 100 and hands you a prioritised list with the approved replacement named for each finding: web pixels, checkout UI extensions, app embed blocks or a native integration. The guided manual checklist covers the surfaces no API reads at all.
The limit is the one already stated, and the scan says it on the report: the script tag API is app-scoped, so the scan cannot list the tags other apps created through the API. What it can do is read the list Shopify keeps on your storefront, name every script tag on it and its vendor, and tell you which of them has a replacement route and which needs a conversation. That is the same list the five-minute method above produces, kept current by a weekly re-scan on the Pro plan, with the checkout surfaces the free check cannot reach read alongside it.
If you already ran the scan for the August cutover, run it again: it now lists every script tag on your storefront, which is what the March date is about, and each vendor on that list is one to check in the App embeds panel.
The Short Version
- Script tags stop being injected on March 1, 2027, and apps cannot create or update them from October 1, 2026. Nothing will error.
- Your admin has no list of them. View your storefront's source and search for
asyncLoad: the addresses listed just below it are your script tags. - For each vendor: an App embed or a customer-events pixel in your admin means they have moved. Nothing there means ask them, now, while they can still ship one.
- A public check, ours or anyone's, can list your storefront scripts. It cannot tell you what your checkout is doing or whether a vendor has an embed waiting for you. Do not pay for a claim it cannot make.
The rest of the shelf, and the problem each app on it was built for, is in seven apps and the problem each one was built for. The general version of the argument about outside checks is four free scans and what each one cannot answer.