Shopify Scripts Are Gone: Migrating to Shopify Functions
Short answer: Shopify Scripts could no longer be edited or published after 15 April 2026, and they stopped running entirely on 30 June 2026. Shopify Functions replaced them. Functions are not Scripts with new syntax, so migrating means rebuilding your discount, shipping and payment logic in the right Function type and testing it against real carts.
What happened to Shopify Scripts?
Scripts were a Shopify Plus feature (Plus is Shopify’s top-tier plan) that let a store customise line item prices, shipping and payment behaviour at checkout. Shopify announced their end of life and then followed through. According to Shopify’s changelog, editing and publishing new Scripts stopped on 15 April 2026, and all Scripts stopped executing on 30 June 2026. The help centre confirms Scripts are deprecated and points to Shopify Functions as the replacement.
I haven’t verified every detail of how individual stores were affected, so check your own checkout rather than assuming. What I can say is that any logic that lived only in a Script is no longer doing its job.
Is my store affected?
Ask your team two questions. Did we ever run custom discounts, shipping rules or payment rules that weren’t built from standard Shopify settings? And has anyone confirmed those behaviours still work today?
Symptoms are usually quiet. A tiered discount that stopped applying. A shipping option that now shows to everyone. A VIP price that no longer shows. Nothing throws an error, which is exactly why it is worth checking deliberately.
Layered promotional logic applied at checkout, such as tiered discounts, VIP pricing and bundle rules, is exactly the kind of rule set that used to live in Scripts and now needs to live in Functions.
What are Shopify Functions?
Shopify Functions let developers customise Shopify’s backend logic. Each Function plugs into a specific step of the checkout, is given the details of the cart, and tells Shopify what to do with them.
Shopify’s documentation covers use cases including discounts, hiding or renaming payment and delivery options, and blocking checkout for certain orders. Functions run automatically while a customer shops. You can’t call them directly.
Do I need Shopify Plus for Functions?
Not necessarily, and this is the part that surprises people. According to Shopify’s documentation, stores on any plan can use public apps from the App Store that contain Functions. Only Plus stores can use custom apps that contain Function APIs, and some capabilities are Plus-only.
So a store that outgrew its checkout rules has two routes: a custom-built Function on Plus, or a public app that already packages the behaviour you need. Parcel Rules, one of the two apps I’ve built, is the second kind. It runs on Shopify Functions so its rules apply natively at checkout on Basic, Shopify and Advanced plans, not just Plus.
How do I migrate Scripts to Functions?
My approach, which is my own working method rather than an official Shopify procedure:
- List every Script and what it did for customers. Not what the code does, but what a shopper experiences. “Spend $200 in this collection, get free shipping” is a rule. The code behind it is just how it was done.
- Sort the list by type. Price and discount rules, shipping rules and payment rules each map to different Function types. Many will also have a built-in Shopify setting that already covers them. Don’t build what you can configure.
- Rebuild, don’t translate. Functions work differently, so a line-by-line port tends to fight the new model. Recreate the outcome.
- Test against real carts. Pull a set of real orders, including awkward ones, and compare what Scripts would have done with what the Function does. Edge cases are where migrations go wrong.
- Switch over deliberately. Turn each rule on, watch live orders for a few days, and keep a rollback plan.
If your rules are as simple as free shipping by collection, you may not need to build anything. I wrote how to offer free shipping by collection without Plus for exactly that case.
Should I build it myself or buy an app?
Build when your logic is genuinely particular to your business and no app captures it. Buy when your need is common. The same build-or-buy question sits behind when to turn a client problem into a Shopify app, and it applies equally from the merchant’s side.
A custom Function carries ongoing responsibility: someone has to maintain it when Shopify changes. A public app moves that maintenance to its developer. Neither is wrong, but make the choice on purpose.
If you’re still not sure where your checkout stands
Start with the list in step one above. It takes an hour or two and tells you whether you have a small tidy-up or a real rebuild. If you want a second pair of eyes, have a look at how I help with Shopify and ecommerce builds, or tell me what your checkout is supposed to do and I’ll help you work out the cleanest way to get it back.
Frequently asked questions
When did Shopify Scripts stop working?
Shopify's changelog set two dates. From 15 April 2026 Scripts could no longer be edited or published, and on 30 June 2026 all Shopify Scripts stopped executing entirely. Shopify's help centre now states Scripts have been deprecated, with Shopify Functions as the replacement.
What replaced Shopify Scripts?
Shopify Functions. A Function attaches to a defined point in the customer journey, receives JSON input, and returns JSON describing what Shopify should do. They can be written in any language that compiles to WebAssembly, and Shopify recommends Rust for performance on large carts.
Can I just convert my old Scripts to Functions line by line?
Not usually. Scripts and Functions work differently, so expect to rebuild the logic rather than translate it. Start by listing what each Script did for customers, then recreate that outcome using the right Function type, and test it against real carts before relying on it.
Do I need Shopify Plus to use Shopify Functions?
Not always. Shopify says stores on any plan can use public apps from the Shopify App Store that contain Functions. Only Plus stores can use custom apps containing Function APIs, and some Function capabilities are Plus-only. So the plan you need depends on how the Function is delivered.