Shopify Scripts Retire June 2026: Your Migration Guide to Functions

Shopify Scripts, the Ruby-based customisation layer for Shopify Plus checkout, are officially deprecated and retire in June 2026. If your store uses Scripts for custom discounts, shipping logic, or payment method rules, they will stop working.
This isn't a soft deprecation. Shopify has confirmed the timeline. Scripts will be removed from the platform. The replacement is Shopify Functions — a WebAssembly-based system that runs at the edge with strict performance guarantees.
Here's what Australian merchants need to know to plan the migration.
What Scripts do (and why you probably rely on them)
If you're on Shopify Plus, Scripts likely power core checkout behaviour you take for granted:
- Line item discounts: buy X get Y, tiered pricing, volume breaks, bundle discounts
- Shipping rules: free shipping thresholds, method hiding, rate modifications based on cart contents
- Payment method filtering: hiding payment options based on cart value, customer tags, or product type
These are revenue-critical functions. If Scripts stop running without a migration in place, your checkout will revert to default Shopify behaviour. Discounts disappear. Shipping rules break. Payment options you hid reappear. Customers see a different checkout than expected.
What changes with Functions
Shopify Functions are not a 1:1 replacement for Scripts. The architecture is fundamentally different:
The biggest shift: Scripts are edited in a browser-based editor inside Shopify admin. Functions are developed as code, compiled to WebAssembly, and deployed through the Shopify CLI as part of a custom app. This is a developer workflow, not a merchant workflow.
What the migration involves
A typical Scripts → Functions migration looks like this:
1. Audit existing Scripts
Document every active Script: what it does, what inputs it reads (cart contents, customer tags, metafields), and what business logic it implements. Most stores have 2-5 active Scripts. Some have 15+.
2. Map to Function APIs
Each Script type maps to a specific Function API:
- Line item Scripts → Discount Function API (product discounts, order discounts)
- Shipping Scripts → Delivery Customisation API (hide/rename/reorder shipping methods)
- Payment Scripts → Payment Customisation API (hide/reorder payment methods)
Not every Script behaviour has a direct equivalent in Functions. Some require creative restructuring. A few edge cases may need workarounds using metafields or Shopify Flow as a complement.
3. Build, test, and deploy
Each Function is a separate module deployed via a custom Shopify app. Development is local (Rust or JavaScript), testing uses Shopify's Function runner, and deployment goes through the CLI.
For stores with complex discount logic, expect 2-4 weeks of development and testing. For simpler setups (basic BOGO, threshold-based free shipping), 1-2 weeks is typical.
4. Parallel run and cutover
Best practice: deploy Functions alongside active Scripts, verify behaviour matches, then disable Scripts. This avoids any checkout disruption during the transition.
Common pitfalls
- Execution limits. Functions must complete in under 5ms. Scripts had no hard limit. Complex conditional logic that worked in Scripts may need optimisation for Functions.
- Input data differences. Scripts had access to customer objects directly. Functions use a more constrained input schema. Customer-tag-based logic needs to be restructured using metafields or cart attributes.
- No Script Editor equivalent. Merchants who self-managed Scripts in the admin won't be able to self-manage Functions. You need a developer (or a partner) for ongoing changes.
- Testing coverage. Scripts were tested by previewing in admin. Functions need proper test cases. If your Script had edge cases you never formally tested, they'll surface during migration.
Timeline
June 2026 is 3 months away. A typical migration takes 2-4 weeks including testing. That means:
- Start by April to have a comfortable buffer
- Start now if you have complex discount logic or many active Scripts
- Don't wait for May. Developer availability will tighten as the deadline approaches and every Plus merchant scrambles at once
If you're also considering a Hydrogen migration or UCP readiness (both of which require Functions, not Scripts), combining these projects is significantly more cost-effective than doing them sequentially.
The bigger picture
Scripts retirement isn't just maintenance. It's Shopify signalling where the platform is going: edge-first, API-first, agentic-ready. Functions are compatible with Shopify's new Universal Commerce Protocol (UCP).
The stores that treat this migration as a checkbox will get their discount logic working again. The stores that treat it as a strategic opportunity will come out with a checkout stack that's faster, testable, and ready for AI-assisted commerce.
Need help with your Scripts migration?
We audit your existing Scripts, map them to Functions, and handle the full migration, including parallel testing before cutover. Get in touch before the June deadline.
Get in touch