# Shopify Scripts Stopped Working? How to Fix It with Shopify Functions

By [Eoin Villarin](https://amvprosox.com/about). Published 2026-11-15. Canonical: https://amvprosox.com/blog/shopify-scripts-stopped-working-functions-fix

> Shopify retired Scripts on June 30, 2026, so tiered discounts, shipping and payment rules switched off. How to find what broke and rebuild it with Shopify Functions.

## Why did my Shopify Scripts stop working?

Shopify retired Shopify Scripts and the Script Editor app on June 30, 2026, so scripts no longer run on any store. Discounts, shipping and payment rules built with scripts must be rebuilt as Shopify Functions, through a Functions-powered app (any plan) or a custom app (Shopify Plus).

**Key takeaways**

- Shopify Scripts stopped running on every store on June 30, 2026; editing ended on April 15, 2026.
- Line item scripts map to the Discount Function API and Cart Transform API.
- Shipping scripts map to the Delivery Customization API, payment scripts to the Payment Customization API.
- Public Functions apps work on any plan; custom apps with Functions need Shopify Plus.
- Cover simple rules with an app first, then rebuild complex rules as a custom Function you own.

Shopify Scripts stopped working because Shopify retired them on June 30, 2026. Since that date, scripts no longer run on any store, so tiered discounts, free gifts, hidden shipping rates and payment rules built with the Script Editor have silently switched off. The fix is to rebuild each script as a Shopify Function, either through a Functions-powered app from the Shopify App Store or as a custom app (custom apps with Functions need Shopify Plus). This guide shows how to find what broke, which Function replaces each script type, and how to ship the fix without breaking checkout again.

## What happened to Shopify Scripts

| Date | What changed |
| --- | --- |
| April 9, 2026 | Shopify announced the final Scripts retirement dates in its developer changelog |
| April 15, 2026 | Editing and publishing Shopify Scripts was no longer possible |
| June 30, 2026 | Shopify Scripts and the Script Editor app were retired and stopped running on every store |

Scripts were Ruby code that ran on Shopify Plus checkouts. Shopify Functions replace them with compiled WebAssembly modules that run inside Shopify's infrastructure, are faster, and work with Checkout Extensibility. If your store relied on scripts and nobody migrated them, the logic is simply gone. Customers see full prices, every shipping rate and every payment method.

![Shopify sign on an office building directory board](https://amvprosox.com/api/img/1794710852715-fanj0i)
*Shopify replaced Ruby Scripts with Shopify Functions for discounts, shipping and payments. Photo: Raysonho @ Open Grid Scheduler / Grid Engine, CC0, via Wikimedia Commons*

## Signs your store was hit

- Tiered or volume discounts (buy 3, save 15%) no longer apply in the cart or checkout.

- Buy X get Y, free gift with purchase or bundle pricing stopped working.

- Wholesale or VIP customer-tag pricing shows retail prices.

- Shipping rates you used to hide or rename (for example, express for PO boxes) are visible again.

- Payment methods you hid for certain countries, order values or B2B customers now show for everyone.

- Average order value or margin dropped around July 2026 with no other change.

## Step 1: List every script you had

Before the Script Editor was retired, Shopify offered a Scripts customizations report to show which customizations could move to Functions or public apps. If you exported it, start there. If not, rebuild the list from:

- Your theme or developer repository, where many teams kept a copy of their Ruby script code.

- Old marketing calendars and promo pages that mention automatic discounts.

- Your shipping and payment settings: anything that only worked because a script hid or renamed it.

- Customer service tickets since July 2026 about missing discounts or wrong shipping options.

Write each script as a plain business rule, for example: "Customers tagged wholesale get 30% off all products," or "Hide cash on delivery for orders over $500."

## Step 2: Match each script type to its Function

| Old script type | What it did | Shopify Function replacement |
| --- | --- | --- |
| Line item scripts | Tiered discounts, BOGO, customer-tag pricing, free gifts | Discount Function API (product and order discounts), Cart Transform API for bundles |
| Shipping scripts | Hide, rename or reorder shipping rates, shipping discounts | Delivery Customization API, plus shipping discounts in the Discount Function API |
| Payment scripts | Hide, rename or reorder payment methods | Payment Customization API |
| Checkout rules (often done in scripts or checkout.liquid) | Block orders that break business rules | Cart and Checkout Validation Function API |

## Step 3: App or custom Function?

You have two ways to bring the logic back:

| Approach | Works on | Best for | Trade-off |
| --- | --- | --- | --- |
| Functions-powered app from the Shopify App Store | Any Shopify plan (some capabilities are Plus only) | Common rules: tiered discounts, free gifts, hiding payment or shipping methods | Monthly fee, limited to the app's settings |
| Custom app with your own Functions | Shopify Plus | Unique logic, B2B pricing, complex combinations | Development cost, you own and maintain the code |

For a worked example with code, see my guide to [Shopify tiered discounts with a Discount Function](https://amvprosox.com/blog/shopify-tiered-discounts-discount-function).

My rule of thumb: cover the simple rules with a well-reviewed app first so revenue stops leaking this week, then rebuild the complex or business-critical rules as a custom Function you control.

![Person shopping online with a laptop and a credit card in hand](https://amvprosox.com/api/img/1794009176880-s5tc6a)
*Every checkout without the expected discount or payment option is a customer who might not finish the order. Photo: Shixart1985, CC BY 2.0, via Wikimedia Commons*

## Step 4: Build and test the Function

- **Create an app** with Shopify CLI and generate a Function extension from the template for the API you need (discount, delivery customization, payment customization or validation).

- **Pick the language.** Functions compile to WebAssembly. Shopify provides templates for Rust and JavaScript and strongly recommends Rust for performance, because functions in other languages may fail on very large carts.

- **Write the input query.** Each Function declares the cart, customer and product data it needs through a GraphQL input query. Ask only for what you use.

- **Move settings into metafields** so marketing can change the discount percentage or customer tag without a code deploy.

- **Test on a development store** with real cart scenarios: single item, mixed cart, discount codes stacked with the automatic discount, different countries and customer tags.

- **Deploy and activate** the discount or customization in the Shopify admin, then place real test orders on mobile and desktop.

## Step 5: Check the rest of your checkout

If your scripts were never migrated, other legacy parts of the checkout may also be out of date. Check these while you are in there:

- Thank you and order status page customizations, which now need Checkout UI extensions. My [Shopify Checkout Extensibility guide](https://amvprosox.com/blog/shopify-checkout-extensibility-ui-extensions-guide) covers the full migration.

- Tracking codes added through script tags or additional scripts. See my guide to [moving script tags to Web Pixels](https://amvprosox.com/blog/shopify-script-tag-deprecation-pixels-migration).

- Discount combinations: Functions follow Shopify's discount combination settings, which may behave differently from your old script logic.

## How much does a Scripts to Functions migration cost?

| Scope | Typical approach | Rough cost |
| --- | --- | --- |
| 1 to 3 simple rules (tiered discount, hide a payment method) | Functions-powered app | App fee, often US$10 to US$50 a month |
| Several custom rules on Shopify Plus | Custom app with Functions | From about US$1,500 fixed price for a full audit, build and test |
| Complex B2B pricing, bundles and validation | Custom app plus Cart Transform and Validation Functions | Quoted after an audit of the rules |

Published freelance offers for a full migration (audit, build on a duplicate store, cutover with a rollback plan, verification) start around US$1,500. Compare that with the margin you lose each week the rules stay off.

## Need it fixed?

I build Shopify Functions and Checkout UI extensions for Shopify and Shopify Plus stores. If your discounts, shipping or payment rules stopped in July 2026, send me the list of rules and I will tell you which ones an app can cover and which need a custom Function. See my [Shopify development services](https://amvprosox.com/shopify-development) or request a [free store audit](https://amvprosox.com/website-audit).

## Frequently asked questions

### Why did my Shopify Scripts stop working?

Shopify retired Shopify Scripts and the Script Editor app on June 30, 2026. Since then, scripts no longer run on any store, so any discount, shipping or payment logic they handled is switched off.

### Can I turn Shopify Scripts back on?

No. Editing and publishing scripts stopped on April 15, 2026 and execution ended on June 30, 2026. The logic has to be rebuilt with Shopify Functions or a Functions-powered app.

### What replaced Shopify Scripts?

Shopify Functions. Line item scripts map to the Discount Function API and Cart Transform API, shipping scripts to the Delivery Customization API, and payment scripts to the Payment Customization API.

### Do I need Shopify Plus to use Shopify Functions?

Not for public apps. Public apps from the Shopify App Store that use Functions work on any plan, though some capabilities are Plus only. Custom apps that contain Function APIs require Shopify Plus.

### What language are Shopify Functions written in?

Any language that compiles to WebAssembly and meets Shopify's function requirements. Shopify provides Rust and JavaScript templates and recommends Rust for the best performance.

### How long does a Scripts to Functions migration take?

Simple rules covered by an app can be live the same day. A custom app with several Functions usually takes one to three weeks including testing on a development store.

## Sources

- [Shopify developer changelog: Shopify Scripts will be deprecated on June 30, 2026](https://shopify.dev/changelog/shopify-scripts-will-be-deprecated-on-june-30-2026)

- [Shopify Help Center: Transitioning from Shopify Scripts to Shopify Functions](https://help.shopify.com/en/manual/checkout-settings/script-editor/transitioning-to-functions)

- [Shopify.dev: Migrating from Shopify Scripts](https://shopify.dev/docs/apps/build/functions/migrating-from-shopify-scripts)

- [Shopify.dev: About Shopify Functions](https://shopify.dev/docs/apps/build/functions)

- [Karan Goyal: Shopify breaking-change migration (published fixed price)](https://karangoyal.cc/hire/shopify-checkout-migration)
