
Shopify is retiring storefront script tags, the old way apps load JavaScript into an online store. As of 1 October 2026, apps can no longer create or update script tags that display on the online store. Existing ones keep loading until 1 March 2027. After that date Shopify stops injecting them, and any widget, tracker or feature that still depends on one stops working. The storefront itself stays up.
What to do this week: make a list of every app and script on your storefront, find out which of them still use script tags, and get a migration date from each vendor. Then freeze anything that could need a script tag rewritten during peak. Most stores will end up moving these features to app embed blocks or web pixels. Plan that migration for the quieter weeks after the holiday season, not the week before Black Friday.
Shopify published the deprecation in its developer changelog on 24 August 2026. As of October 2026, the changelog says the change applies to script tags with the display scope set to the online store, across the Admin GraphQL and REST APIs and across all API versions. Two dates matter:
scriptTagCreate and scriptTagUpdate mutations return a user error, and the REST ScriptTag resource rejects create and update requests. Script tags that already exist keep running, and apps can still query and delete them.This continues a direction Shopify set out some time ago. Its developer documentation says apps submitted to the Shopify App Store that integrate with a theme must use theme app extensions instead of script tags, and that script tags can only be used with vintage themes. The stores most exposed are those still on vintage themes, or those running apps installed long before that rule existed.
It also follows a closely related change. Shopify set 26 August 2026 as the deadline to upgrade the Thank you and Order status pages, and stores that had not upgraded by then were upgraded automatically. If your team rebuilt conversion tracking after that upgrade, you already know how this kind of change shows up: no outage, just gaps in data and missing features.
The timing is awkward. Existing tags will run through Black Friday, Cyber Monday and the holidays, which sounds reassuring. The catch is that since 1 October, anything that tries to create or update a script tag fails. That includes reinstalling an app, reconnecting it, changing a setting that rewrites the script URL, or a vendor shipping a new script version through the old mechanism. A change like that during peak can quietly remove a feature, and the store will look healthy while it happens.
List every installed app (Settings, then Apps), every custom or private app, and every snippet pasted into theme files. For each entry, note what it does on the storefront: reviews, upsell, subscriptions, chat, loyalty, consent banner, A/B testing, analytics, affiliate tracking. If you already keep a dependency map, add a column for this. Our third-party dependency map covers the full workshop.
There are three ways, from easiest to most precise:
scriptTags Admin GraphQL query. It returns each tag's src, displayScope, createdAt and updatedAt. Use this for the custom apps you control. For third-party apps, the vendor's written answer is still the most reliable source.Put every script into one of four buckets:
Per Shopify's documentation, app embed blocks are deactivated by default after an app is installed, so a merchant has to switch them on in Theme settings, App embeds. Shopify also says app embeds work in both vintage and Online Store 2.0 themes. When a vendor migrates, the new embed may sit there switched off while the old script tag still runs. On 1 March 2027 the old tag stops and the feature disappears. Check every toggle.
Script tags loaded no matter which theme was published. App embeds don't. Shopify's help centre notes that if you change your published theme, you need to reactivate apps in the new theme because they aren't active by default. Add "re-enable app embeds" to your theme launch checklist and your post-deployment checklist.
Between now and the end of your peak season, avoid reinstalling, reconnecting or reconfiguring storefront apps that still rely on script tags unless the vendor confirms the change won't touch the tag. Schedule real migrations for a low-traffic window and test them on an unpublished theme first.
After a feature moves to an embed or a web pixel, check it on a product page, the cart, mobile and desktop, and with consent both accepted and declined. For analytics, compare event counts for a few days against the old setup before you delete anything. Our analytics data quality audit describes how to run that comparison.
| Storefront feature | What breaks if it is missed | Owner | Check | Frequency |
|---|---|---|---|---|
| Reviews and ratings widget | Stars and reviews disappear from product pages | Ecommerce manager | Product page shows reviews; embed enabled | After each app or theme change |
| Upsell, bundles, cart drawer add-ons | Average order value drops with no visible error | Ecommerce manager | Add-on appears in cart on mobile and desktop | Weekly until migrated |
| Subscription or loyalty widgets | Customers cannot subscribe or redeem | Store owner / vendor | Test sign-up or redemption on a test account | After each migration |
| Consent banner | Banner missing; tags may fire without consent logic | Agency / developer | Banner loads in a fresh private window | After each theme change |
| Analytics and ad pixels | Conversions under-reported; campaigns optimise on bad data | Marketing | Event counts vs orders, day by day | Daily during peak |
| Chat and support widget | Customers cannot reach support | Support lead | Widget opens and a test message arrives | Weekly |
| Custom or private agency scripts | Bespoke features silently stop | Agency | scriptTags query from the custom app |
Once now, once in February 2027 |
Message to each app vendor
Subject: Script tag deprecation: migration plan for [store name]
Hello,
We use [app name] on [store URL]. Shopify has announced that online-store script tags can no longer be created or updated from 1 October 2026 and will stop loading on 1 March 2027.
Please confirm in writing: 1. Does [app name] currently load anything on our storefront through a script tag? 2. If yes, when will it switch to an app embed block or web pixel, and will we need to do anything (for example, enable an embed in the theme editor)? 3. Could any setting change or reconnection on our side before then try to update the script tag and fail? 4. After migration, will the old script tag be removed automatically?
We're avoiding storefront changes during our peak season, from [date] to [date], and would like to schedule any required step outside that window.
Thank you, [name, role]
Tracking sheet columns
app_or_script | storefront_function | uses_script_tag (yes/no/unknown) |
vendor_answer_date | migration_date | embed_enabled (yes/no/n.a.) |
tested_on_mobile | tested_with_consent_declined | old_tag_removed | owner | notes
Go through the sheet once now, again in early January, and again in mid-February 2027. Any row still marked "unknown" in February needs someone to act on it right away.
A mid-sized apparel store on a vintage theme runs nine storefront apps. An agency maintains it. In October the agency sends the vendor message to all nine.
Five vendors reply that they have already moved to app embeds. On checking, two of those five embeds turn out to be switched off. The features still work only because the old script tags keep loading. Left alone, both features would have vanished on 1 March 2027. The agency turns the embeds on in a duplicate theme, tests them, and publishes in a quiet week.
Two vendors give migration dates in January. One app was uninstalled two years ago but its script still loads. The ninth vendor doesn't reply. That app powers a size-guide pop-up, so the store owner budgets a replacement for February.
Last, the agency's own custom app, which loads a delivery-date message, does use a script tag. The agency lists it with the scriptTags query, rebuilds it as an app embed, and adds "re-enable embeds" to the store's theme launch checklist.
None of this needs heavy engineering. It needs a list, some written answers and a few dates.
Limitations. This article covers the operational side only. It can't tell you whether a particular app is affected, since only the vendor or a query from that app can confirm that. Shopify may publish more guidance before March 2027, so check the changelog again before each phase. Web pixels run in a sandbox, and Shopify notes that not all pixel functionality works there, so some tracking setups will need vendor help.
No. The storefront keeps serving pages. Only the JavaScript loaded through online-store script tags stops running, so specific widgets, trackers or features disappear while the site itself looks normal.
Less often, because apps built for Online Store 2.0 usually use theme app extensions already. But an older app or a custom app can still use script tags on any theme, so audit your scripts whatever theme you run.
Shopify recommends web pixels for scripts that only collect analytics. Anything that shows something on the page, such as a widget, pop-up or banner, should move to an app embed block or app block in a theme app extension.
scriptTags query: https://shopify.dev/docs/api/admin-graphql/latest/queries/scriptTagsLast reviewed: 10 October 2026
Pingvera can't tell you which of your apps use script tags; the vendor list above is how you find that out. What it can do is run one-minute uptime checks from several regions and keep incidents and deploys on one timeline, so if a theme publish or app migration breaks something, you see when it happened next to what changed. It's free for up to five sites at pingvera.com.
Pingvera watches whether an online business actually works — uptime, checkout, orders, domain, SSL and server — and alerts you in Telegram, email or a webhook before a customer has to tell you.
Start freeRead next: Ecommerce Analytics Audit: Data Quality Checklist · Marketplace and Store Reconciliation · Website Maintenance Onboarding Checklist · Ecommerce Replatforming Checklist · Run a free site check.