Shopify Scripts have ended. Here is what replaces each script type
Updated · SMART Functions Creator (E-TRADE PARTNER)
Shopify Scripts stopped executing on 2026-06-30. Their replacement is Shopify Functions: discount functions replace line item scripts, delivery customizations replace shipping scripts, and payment customizations replace payment scripts. Functions run on every Shopify plan through apps, not only on Plus. SMART Functions Creator lets you rebuild the same logic in a rule builder, free on live stores, without writing Ruby or WebAssembly.
5.0 · SMART Functions Creator builds this as a Shopify Function, free on live stores, no code.
Install freeOn this page
If your store used the Script Editor, some part of checkout has been behaving differently since the end of June: a wholesale discount that no longer appears, a shipping rate that is no longer hidden for certain products, a payment method that reappeared for the wrong customers. None of that is a bug in your store. The Ruby scripts simply no longer run.
This guide maps each of the three script types to its Functions equivalent, shows what changes in how you think about the logic, and lists the things Functions can do that Scripts never could.
What changed and when
- Shopify Scripts and the Script Editor app stopped executing on 2026-06-30. Existing scripts were not converted automatically.
- Shopify Functions are the replacement. A Function is a small program that Shopify runs at a fixed point in checkout, such as when discounts are calculated or when delivery options are listed.
- Scripts were a Shopify Plus feature. Functions are available on every plan through public apps, so stores that never had access to Scripts can now use the same kind of logic.
- Functions are configured, not coded, when you use an app like SMART Functions Creator. The app publishes the Function; you describe the rule.
Script type to Function type
| Old script type | What it did | Functions replacement | In SMART Functions Creator |
|---|---|---|---|
| Line item script | Changed line prices: tiered pricing, wholesale by customer tag, BOGO, bundle pricing, gift with purchase | Discount function (product, order, or shipping discount) | Discount rule with Line groups and conditions; volume tiers, BXGY, bundle, and fixed price per unit are templates |
| Shipping script | Hid, renamed, or reordered shipping rates; discounted shipping | Delivery customization (hide, move, rename) and shipping discount function | Delivery customization rule for visibility and order; Discount rule of type shipping for the price |
| Payment script | Hid, renamed, or reordered payment gateways | Payment customization (hide, move, rename) | Payment customization rule matched on Shopify's internal payment method name |
Replacing a line item script
Most line item scripts did one of five things. Each has a direct equivalent in a discount rule.
- Percentage or fixed discount for a customer group: a Product discount with a customer tag condition. Wholesale pricing by tag is the most common migration and takes one rule.
- Quantity tiers: a Volume discount with tiers. See tiered and volume discounts for how tiers, grouping, and fixed unit prices behave.
- Buy X get Y or free gift: a Product discount at 100 percent on a gift Line group, gated by a quantity condition on the qualifying Line group. See buy X get Y and free gifts.
- Bundle pricing: a percentage Bundle template, or an Order discount limited to the bundle Line groups to approximate a fixed combined price.
- Exclusions: any of the above with Line groups that exclude products, collections, tags, or subscription lines.
One behavior that differs from Scripts
A script could see the cart after other discounts had applied. A discount function receives the original cart values, so a Cart total condition tests the pre-discount total. Rules that chained off another discount's result need to be expressed as one rule, or as separate rules with exclusive conditions. Details in combining discounts.
Replacing a shipping script
Shipping scripts mixed two jobs that Functions keep separate. Visibility and order are a Delivery customization. Price is a shipping discount.
- For each rate the script hid or renamed, create a Delivery customization rule. Match the rate by its displayed name (exact, case-insensitive, or a contains match), add the conditions (products in cart, cart total, customer tag, country, postal code, weight), and choose hide, move, or rename.
- For each shipping price change, create a Discount rule of type shipping targeting the same rate name, with a percentage or fixed amount.
- Remember that a shipping discount can only reduce a rate. It cannot raise one or force every rate to a flat price. If a script added a surcharge, the surcharge now belongs in Shopify shipping settings or in a rates app.
Replacing a payment script
Payment customizations hide, move, or rename payment methods by condition. The one thing that trips up almost every migration is the method name. Rules match Shopify's internal gateway name, not the label the customer sees. The card option that shows number, expiry, and CVV fields is usually Shopify Payments or the provider name such as Stripe or Adyen, not "Credit card". Wallets such as Shop Pay, PayPal, Apple Pay, and Google Pay are separate names. The docs page on payment method names shows how to find the right value.
Platform limit to know before you start
On stores in the United States and Canada that are not on Shopify Plus, Shopify ignores hide, rename, and move operations on the main credit card option. This is a Shopify rule, not an app limitation, and no Functions app can work around it. Every other method, and every store elsewhere, can be customized.
What Functions can do that Scripts could not
- Cart and checkout validation: block checkout with a message when a rule matches, for minimum quantities, quantity multiples, mixed carts, PO box addresses, or missing customer tags. Scripts could only change prices and options; they could not stop a checkout.
- Cart transform: merge lines into a bundle, expand a line into components, or update line presentation. Line updates are limited to Plus and development stores by Shopify.
- Every plan: Basic, Grow, and Advanced stores can now run the logic that used to require Plus.
- Conditions Scripts never had: line item properties, product and variant metafields, subscription selling plans, customer order count and amount spent, cart attributes, and address fields.
A migration checklist
- Open the admin Scripts area or your old Script Editor export and list every script with what it did and who it applied to.
- Sort each one into discount, delivery, or payment. Split scripts that did two jobs.
- Install SMART Functions Creator and create one rule per script, starting with the highest-revenue one. Use the template that matches (volume, BXGY, bundle, wholesale) and adjust.
- Set combinations on every discount rule deliberately. Scripts stacked implicitly; Functions stack only when both discounts allow it.
- Keep each rule inactive while you build it, then activate and test with a real cart. Check the checkout, not only the cart page, because the theme decides what the cart displays.
- Where a rule is not obvious, ask support in the app chat. Rebuilding old scripts is the most common support request.
Rebuild your Scripts logic as Functions, free
SMART Functions Creator is free on live stores and rated 5.0 stars across 110+ Shopify App Store reviews.
Install free5.0 stars · 110+ reviews
What we will not promise
There is no button that pastes Ruby and produces a Function. Shopify's App Store rules do not allow public apps to run merchant-written code, and the honest way to migrate is to express each rule in the builder. Almost every script we have seen maps onto one or two rules. The exceptions are formula-driven scripts, for example a fee that is a percentage of the subtotal rounded to a quantity, and position-based logic such as discounting only the third unit; those need a different design, and support in the app chat will tell you so before you spend time on them.
Frequently asked questions
›Do Shopify Scripts still work?
No. Shopify Scripts stopped executing on 2026-06-30. Existing scripts were not migrated automatically; the logic has to be rebuilt as Shopify Functions.
›Do I need Shopify Plus to use Shopify Functions?
No. Discount, delivery customization, payment customization, and cart and checkout validation Functions are available on every Shopify plan through public apps such as SMART Functions Creator. A few operations remain Plus-only, such as cart transform line updates and hiding the main credit card option on US and Canadian stores.
›Can Functions Creator import my Ruby script?
Not automatically. You recreate the rule in the builder, which usually takes a few minutes per script. Support helps with the mapping when a script is not obvious.
›Which Function type replaces a shipping script?
Two types share the job. A Delivery customization hides, moves, or renames rates. A shipping discount changes the price. Scripts did both in one place.
›Is SMART Functions Creator really free?
Yes. The app is free on live stores with no subscription, and there is no rule count limit imposed by the app. Shopify's own limits still apply, such as 25 active customizations per API and a 10 KB configuration limit per rule.