Skip to main content
CRO

Shopify Script Tags End 1 March 2027: Migration Checklist

Shopify stops loading script tags on 1 March 2027. A founder's checklist to find what is affected, question your vendors and protect conversion tracking.

November 4, 2026 19 min read Talha Butt.
Share

Shopify Script Tags End 1 March 2027: Migration Checklist

Quick answer: Since 1 October 2026, Shopify has not let apps create or edit script tags, and on 1 March 2027 it stops loading the existing ones on storefronts, on every API version. The replacements are app embed blocks (for storefront features) and web pixels (for tracking only). Your job as the store owner is to list what your store loads, ask each vendor whether it has moved, and check that your orders and tracking still match afterwards. As at 31 October 2026, I found no announced change to the date.

“Script tag” may be a new term to you. It describes how some apps put code on your storefront, and the change has a hard date. The people most likely to be caught out are not developers. They are owners whose store runs a mix of apps, widgets and tracking set up years ago by someone who has since moved on.

This guide is for you, not for app developers. It covers what Shopify has announced, which stores are exposed, how to find out what your store depends on, the questions to put to vendors and developers, what the replacements are, and how to check conversion tracking before and after. I read Shopify’s changelog, developer documentation and help centre on 31 October 2026 and name the source next to each date and rule. Nothing here was tested on a live store.

I am writing about it as a conversion person because a script tag that stops loading can take a review widget, an upsell or a tracking snippet with it. Shopify’s documentation says the features that depend on those scripts stop for the store. In your numbers that shows up as a conversion drop or missing purchases, and it rarely looks like a code problem.

What Shopify has announced (as at 31 October 2026)

The sources are Shopify’s developer changelog entry “Script tags are deprecated and will stop running on March 1, 2027” (posted 24 August 2026, last updated 2 October 2026) and its developer documentation on storefront script tags.

DateWhat changesWhat it means for you
From 1 October 2026Apps can no longer create or update script tags. The API calls fail, on every API version.No app can add or change a script tag any more. Existing tags keep running.
1 October 2026 to 28 February 2027Existing script tags keep running. Apps can still list and delete them.This is the window to move.
From 1 March 2027Shopify stops injecting script tags into storefronts.Anything that depended on a script tag stops loading on your store.
Order status pageRuns on a separate, earlier schedule.Check it separately (see the note below the table).

Two points are worth pulling out.

The cutoff is not tied to an API version. Shopify’s documentation says pinning to an older API version will not defer it.

Shopify dropped the planned install warning. A Shopify staff member said in the developer community on 27 September 2026 that the warning planned for 1 October was not shipping, because it would have flagged apps that had already moved off script tags. The same post said Shopify would monitor script tag use through the fourth quarter and look at it again in January, and that more targeted notices could follow for apps without a replacement. That is not a promise of an extension, so do not plan around one. Check the changelog in January.

A note on the order status page. Shopify’s documentation puts script tags on that page under an earlier, separate deprecation, and its Help Centre says 26 August 2026 was the deadline for non-Plus stores to upgrade their Thank you and Order status pages, with the Additional scripts section view-only as of 28 August 2025 (check the page for how that applies to your plan). If you still have tracking code there, treat it as a separate job and confirm purchase tracking fires on that page. This guide covers the storefront deadline.

Which stores are actually at risk

Not every store is exposed. Shopify’s changelog says the change affects apps that create script tags for the online store. Here is how that maps onto real stores.

Your situationWhy it mattersFirst move
An installed app adds features or tracking to your storefrontUnless the vendor has moved to an app embed block or web pixel, it stops on 1 MarchAsk the vendor
An app that is no longer updated or supportedIt cannot ship a replacementDecide now whether to replace it
A custom app created in your admin by a freelancer or agencyShopify’s documentation says these cannot use theme app extensions or web pixelsAsk who maintains it and where the script will live
A third-party service connected with a pasted access tokenShopify’s documentation says the service must release a proper appAsk for its plan
An app you uninstalled long agoLeftover records have no effect after 1 March, per Shopify’s documentationNone, but note it

Two things are not covered by this deadline. Tracking installed through Shopify’s Customer events page (app pixels) uses web pixels, which are the replacement, not the problem. And code pasted straight into your theme files is not a script tag, because script tags are created through Shopify’s API by an app. That second point is my reading of the changelog, not a line Shopify spells out, and one app can do both, so the vendor’s answer matters more than your guess.

If the last person to touch your tracking was a freelancer in 2023, nobody on your team can say whether a script tag is involved. That is why the first job is an inventory.

Why this is a conversion and tracking problem, not a developer problem

Two failure modes matter to a founder.

Features disappear. If a review widget, upsell, size guide, pop-up or chat tool loads through a script tag and the vendor has not migrated, it may simply not appear on 1 March. There is no error page. The product page looks normal. It just has less on it.

Tracking goes missing, or doubles. If a conversion tag loads through a script tag, your analytics or ad platform stops receiving the event. Your Shopify admin still records every order, because that does not depend on a script, so you get a gap between Shopify and everything else. The opposite problem also happens during a migration: if the old script tag and the new embed or pixel both run, the same event can be sent twice. Shopify’s migration documentation warns that running both causes duplicate scripts, which can double-count analytics events or show an app’s interface twice.

Here is why the tracking version hurts. This is illustrative arithmetic, not a benchmark. A store spends A$5,000 in a month on Meta ads, and Shopify shows 100 orders traced to them at an average order value of A$80: revenue of A$8,000, a return on ad spend of 1.6. If the purchase event came from a snippet that stops loading, the ad platform might report 40 purchases while Shopify still says 100. A founder reading the platform concludes the ads stopped working and cuts spend. The ads did not change. The measurement did. Our guide to why Meta shows more sales than Shopify covers the normal reasons the two disagree, so you can tell a migration gap from ordinary attribution noise.

The feature version is just as quiet. Again illustrative: a store gets 5,000 sessions a week and converts at 2.0%, which is 100 orders. A widget that was helping disappears and conversion slips to 1.8%: 90 orders, or about A$800 a week at A$80 each, with no visible change to point at. Why your Shopify conversion rate dropped lists the other causes to rule out. From 1 March, add “did something stop loading?” to that list.

Prism3 does not run ads or email, so this is not campaign advice. The point is narrower: your decisions about ads, email and the store all rest on your numbers, and this deadline is one way they can quietly go wrong.

Step 1: Write down your baseline before you touch anything

You cannot tell whether a migration broke something unless you know what normal looked like. Keep this somewhere you can find in March. Record the last 30 days of:

  • Orders and revenue in Shopify admin.
  • Sessions and conversion rate in Shopify Analytics, split by mobile and desktop.
  • Purchases in Google Analytics 4 for the same dates.
  • Purchases the ad platform reports, if you advertise.

Then write down the gap between Shopify orders and each other source. Some gap is normal, because GA4 and Shopify Analytics count differently and ad platforms attribute orders by their own rules. What you need is today’s gap, so you can recognise a new one. If you cannot explain a large gap today, fix that first.

Step 2: Build an inventory of everything your storefront loads

Shopify’s documentation says script tags run without appearing in the theme editor, which is one reason it is moving to app embed blocks. In plain terms, a merchant cannot easily see them. I did not find an admin screen that lists a store’s script tags. The documented way is an Admin API query run by an app or developer. So build the inventory from several angles, in this order.

2a. List every installed app. In Shopify admin, open the Apps list. For each, write down what it does on the storefront: reviews, upsell, loyalty, pop-ups, chat, search, subscriptions, tracking. Include apps you think you stopped using, and mark any whose purpose you cannot name.

2b. Check which app embeds are switched on. In the theme editor, open the App embeds section, where Shopify’s help centre says embeds are activated and deactivated. Write down every embed that is on, and which theme you are looking at, because activation is per theme. An app that does visible storefront work but appears nowhere in App embeds or as a block in your templates may still use a script tag. That is a working rule, not a Shopify guarantee, so treat it as a reason to ask the vendor.

2c. Check Customer events. Shopify’s help centre says pixels are managed in the Customer events section of the admin. List the app pixels and custom pixels there. They are on the replacement side of this change, but record them, because the migration will probably add to this list.

2d. Look at what a visitor’s browser actually loads. Open your store in Chrome, open the developer tools, go to the Network tab, reload and filter for scripts. Group the requests by company name in the web address. Anything from a vendor you do not recognise goes on the list with a question mark. This is my method, not a Shopify procedure. It will not show how a script was installed, but it catches code nobody remembers.

2e. Search your own records. Look through email for app and agency invoices, handover documents and old briefs, and at the staff and collaborator accounts in your admin. A past contractor with access is a clue that a custom app or script may exist.

2f. Check the theme and legacy places. Search your theme code for pasted snippets, and check Additional scripts if your store still has it. As I read Shopify’s description, these are not script tags, but they are the other places tracking and widgets hide, and you want one complete picture.

When you finish, you should have one spreadsheet with these columns: item, what it does, how it appears to be loaded (app embed, app pixel, theme code, unknown), vendor or owner, and status.

Step 3: Sort each item into one of three groups

Sort your list into three groups.

  1. Tracking only. Anything whose only job is to send data to Google, Meta, TikTok, Pinterest, Klaviyo or similar. Shopify’s replacement here is a web pixel.
  2. Storefront feature. Anything a shopper sees or uses. Shopify’s replacement is an app embed block, or for apps that place content in the theme, an app block.
  3. Both. A tool that shows something and also tracks. Ask about both.

Then add a priority. My rule: if losing the item would stop you selling, or stop you knowing what you sold, it goes first. Purchase tracking and checkout-adjacent features go before a footer widget. PIE scoring (potential, importance, ease) works for ranking the rest.

Step 4: Ask the right questions

Shopify’s migration documentation is written for app developers: the app has to ship the replacement, so you cannot migrate its script tag yourself. The work for you is mostly asking. Copy these questions into an email or support ticket.

For each app vendor:

  1. Does your app load anything on my storefront through Shopify’s ScriptTag API today?

  2. If yes, have you released a version that uses an app embed block or a web pixel instead? Which version, and on what date?

  3. What do I need to do on my side? Specifically, do I have to switch on an app embed in the theme editor, and on which themes?

  4. After your update, will the feature be on or off for my store until I act? (Shopify’s documentation says embed blocks are inactive until the merchant turns them on, and that the app cannot do it for you.)

  5. Will you delete your old script tag from my store, and when? (Deleting too early loses the feature. Deleting too late risks double-counting.)

  6. If you track events, will they now come through a web pixel? Will event names, counts or the data sent change? Will it respect my customers’ privacy settings?

  7. What exactly stops working on my store on 1 March 2027 if I do nothing, and what do you recommend if you will not migrate? For a freelancer, agency or in-house developer:

  8. List every custom app, script and snippet on my store, with where each one lives.

  9. For any custom app created in the Shopify admin: how will it work after 1 March 2027? (Shopify’s documentation says these cannot use app extensions, and that the script has to move into the theme.)

  10. Who owns the access tokens and the code? Can I get a copy?

  11. Which of these have you tested on a duplicate of the live theme?

Keep the answers in your spreadsheet, with the date and the name of the person who gave them. A vendor reply of “we are looking into it” is not a plan. Chase it.

Step 5: Understand the replacements well enough to judge the answers

You do not need to build any of this. You need to know what a good answer sounds like. From Shopify’s documentation:

ReplacementWhat it is forWho switches it on
App embed blockLoading an app’s code on your storefront, including features that inject content. Works on older and Online Store 2.0 themes.You, in the theme editor, per theme
App blockLetting you place an app’s content in a theme section. Only on themes that support JSON templates, so it is not a general replacement.You, by adding the block in the theme editor
Web pixelTracking analytics, conversions and behaviour. Receives Shopify’s customer events.Nobody. No theme editor step is needed

A few facts that change how you manage this:

Embeds are off until you turn them on, per theme. Shopify’s documentation says an embed is inactive until an app user switches it on, and that activation is per theme. If you publish a different theme later, check the embeds again. This is the quiet failure for stores that swap themes before a sale.

Web pixels run in a sandbox and follow consent settings. Shopify’s documentation says app pixels run in a restricted environment, cannot read or change the page directly, and receive Shopify’s standard events instead. Where customer consent is required, pixel code runs only after consent, with earlier events replayed. So counts can differ from the script-based days for legitimate reasons. Investigate before adding a second tracking route to force a match. Shopify’s reference lists 15 standard customer events as at 31 October 2026, including product_viewed, product_added_to_cart and checkout_completed, so ask a vendor which ones its pixel uses.

Custom pixels exist, but they are for people who can code. Shopify’s help centre says custom pixels are for cases where no suitable app pixel exists, need JavaScript knowledge and are unsupported by Shopify. If a freelancer proposes pasting tracking code into one, ask who will maintain and check it.

Step 6: Sequence the switch so you never double up or go dark

Shopify’s migration documentation gives the order an app should follow, and you should insist on it: the replacement is released, switched on for the published theme and confirmed active, and only then is the old script tag deleted. Delete first and the feature disappears. Leave both and you double-count.

For your own store, that translates to:

  1. Do the inventory in read-only mode. Steps 1 to 4 change nothing on your store. You can do them while a sale is running.
  2. Leave your store alone during peak trading. If you are reading this on the Black Friday weekend, finish your sale first. My Black Friday checklist suggests freezing theme and app changes about a week before a sale. Do not start a migration in the middle of the busiest days either.
  3. Switch one item at a time. One change, one check, then the next. Change five at once and you will not know which moved the numbers.
  4. Test on a duplicate theme first, and remember activation is per theme. An embed switched on in a test theme is not on in your live theme. Write down every toggle you flip.
  5. Confirm the embed is live before the old tag is removed. Ask the vendor to confirm in writing, then check the live site yourself.
  6. Keep a rollback note. For each change, write what, when and how to undo it.

If a developer does the work, make them follow the same order. One who deletes the old tag first and “will fix it after” is the one to worry about.

Step 7: Verify tracking after each change

This is the part many migration guides skip, and it is where the revenue risk sits. After each switch, check these in order:

  1. Place a test order and watch the events. Ask your developer how they test orders without creating a real sale or touching live customer data, then check the order appears once in Shopify admin and once in each place you track. GA4’s DebugView, which Google describes as showing the events Analytics collects from a user in real time, is useful here. Your ad platform has a similar test or debug view.
  2. Look for the three failure patterns. Zero events from a tool that used to report means it is not loading. About twice the expected count means the old and new routes are both running. A smaller drop might be a consent setting, an ad blocker or ordinary attribution differences, so compare against your baseline before you act.
  3. Compare seven days before and seven days after. Use the Step 1 list: Shopify orders, GA4 purchases and ad platform purchases. The Shopify number is your anchor because it does not depend on a script. Explain every new gap before moving on.
  4. Check the key pages on a phone. Home, collection, product, cart and checkout. Our guide to mobile conversion on Shopify lists what tends to break.
  5. Re-check on Monday 1 March 2027. Shopify only stops injecting then, so some failures only appear on the day. Check the site, a test order and your tracking that morning.

If you run Meta ads, the Conversions API setup guide and our post on migrating tracking pixels to GA4 and Meta CAPI go deeper on the tracking side. If purchases already sit out of line with Shopify, attribution is broken in Shopify in 2026 explains why the gap is rarely one cause.

A realistic timeline working back from 1 March 2027

My suggestion, not a Shopify schedule:

  • Now to mid-December 2026: baseline and inventory (Steps 1 and 2). Send the vendor questions (Step 4). Still read-only.
  • Mid-December 2026: collect replies. Mark each item migrated, planned, unknown or no reply. Replace anything unmaintained.
  • January 2027: make the changes one at a time (Steps 5 to 7). Watch the Shopify changelog, because staff said they would reassess script tag usage in January.
  • By mid-February 2027: a go or no-go check. Every item should be migrated or have a written fallback.
  • Monday 1 March 2027: the day-of check.

Allow for slow vendor replies, because the Christmas trading weeks fall inside this window.

When a vendor will not or cannot migrate

You have three options, in the order I would consider them.

Replace the app. Pick one that uses an app embed or a web pixel, and ask it the Step 4 questions before installing. An app that cannot tell you how it loads code is not one to put on a store.

Remove the feature. If it is a nice-to-have, not a revenue driver, removal may be cheaper than replacement. Judge it against your baseline.

Move the code into the theme, as a last resort. For a custom app you own, Shopify’s documentation says the script can move into the theme, preferably as a custom Liquid block or in the code editor. It warns that the code stays after the app is removed and that editing theme code takes the theme out of automatic upgrades. Have a developer you trust make the change.

How this connects to the rest of your numbers

The 1 March 2027 deadline is a platform change, but what it threatens is whether your numbers are right. Our DTC growth system piece shows how paid, organic, conversion and email fit together, and they only fit if the measurement underneath is sound. That is why the first phase of our six-phase CRO audit, quantitative data analysis, includes a tracking check.

Key takeaways

  • Since 1 October 2026 Shopify has not let apps create or update script tags, and from 1 March 2027 it stops injecting existing ones into storefronts. As at 31 October 2026, I found no announced change to either date.
  • Pinning to an older API version does not defer the cutoff.
  • The replacements are app embed blocks for storefront features and web pixels for tracking. Embeds are off until a merchant switches them on, per theme.
  • Start with an inventory. No admin screen lists script tags, so build the list from your apps, App embeds, Customer events, your browser’s network panel and your records.
  • Ask every vendor and developer the same questions and get the answers in writing, with a date.
  • Switch one item at a time, confirm the replacement is live before the old tag goes, and compare Shopify orders to your analytics and ad platform before and after.
  • Do the inventory now. Make changes after the Black Friday and Cyber Monday weekend, with time to spare before 1 March 2027.

FAQs

When do Shopify script tags stop working?

Shopify says it will stop injecting script tags into storefronts on 1 March 2027. Existing ones keep running until then. The order status page follows an earlier, separate schedule. Check the developer changelog for changes, since staff said they would look at usage again in January.

Can I still add or edit a script tag?

No. Since 1 October 2026, Shopify has rejected creating and updating script tags through its API, so no app or developer can add or change one. Apps can still list and delete existing ones, which Shopify’s documentation says is so they can be audited and cleaned up.

Does staying on an older API version delay the cutoff?

No. Shopify’s documentation says the deprecation applies to all API versions, including older ones. Treat 1 March 2027 as the date for every store.

Do I need to do anything if I have never heard of script tags?

Probably at least a check, because apps can use them without you knowing. Build the inventory in Step 2 and ask each vendor the Step 4 questions. If every vendor confirms its features and tracking already use app embeds or web pixels, you are close to done, but still run the Step 7 checks.

What replaces script tags?

Shopify recommends app embed blocks, delivered in a theme app extension, for code that loads on the storefront, and web pixels for scripts that only collect analytics or conversion data. You switch app embeds on in the theme editor. Web pixels receive Shopify’s customer events and need no theme editor step.

Will my Google Analytics or Meta tracking break?

It depends how it was installed. Tracking sent through an app pixel (listed under Customer events in your admin) is not a script tag. Tracking from an app that still loads a script tag will stop on 1 March 2027 unless the vendor has migrated it. Code pasted into your theme is, as I read it, not a script tag, but list it anyway. One app can use both routes, so ask the vendor and compare Shopify orders with your analytics before and after.

Could Shopify extend the date?

Shopify had not announced an extension as at 31 October 2026. Staff said they would monitor usage through the fourth quarter and look again in January, which is not a promise of a delay. Plan for 1 March 2027 and treat any extension as a bonus.

Not sure what your store still loads, or whether your numbers can be trusted?

If you want a second pair of eyes on your store, the free 30-minute diagnostic is the place to start: book a free 30-minute diagnostic or tell us about your store. We share your Shopify store on screen and name two or three conversion leaks live, and tell you whether they are worth fixing. No pitch. Whether your numbers can be trusted after the change is a tracking question, and a tracking check comes first in our Shopify CRO service, before any optimisation work. It does not replace asking your vendors the questions above.

Free 30-min diagnostic

Seen enough?
Book a free diagnostic.

We'll identify exactly what's breaking your conversion rate and what to fix first. No pitch. No email gate. 30 minutes.

More from Prism3