BrainFeed Solutions
Web Design & DevelopmentDigital Marketing & SEOWorkflow Automation & IntegrationContent & BrandingOngoing Support & Optimisation

Specialisations

Shopify DevelopmentShopify MigrationShopify AI AutomationSaaS DevelopmentSaaS MVP DevelopmentMVP DevelopmentMobile App DevelopmentWordPress Development
View all services  →
WorkVenturesAboutInsights
Book a free 30-min consultation  →
Book a call
BrainFeed Solutions

Senior-led digital strategy and AI-augmented delivery for growing businesses worldwide.

Services

Web Design & DevelopmentDigital Marketing & SEOWorkflow AutomationContent & BrandingOngoing Support & OptimisationShopify DevelopmentShopify MigrationShopify AI AutomationSaaS DevelopmentSaaS MVP DevelopmentMVP DevelopmentMobile App DevelopmentWordPress DevelopmentShopify Development UAE

Company

About UsWorkVenturesInsightsFree ToolsContact Us

Legal

Privacy PolicyTerms & Conditions

Let's talk

hello@brainfeedsolutions.com+91 98986 66600

Ahmedabad, India

AU, Gulf, UK & US business hours covered

Replies within 1 business day

© 2026 BrainFeed Solutions. All rights reserved.

Privacy PolicyTerms & Conditions
Insights/SHOPIFY ENGINEERING

Shopify Scripts Stopped Running on 30 June. What to Rebuild as Functions

Shopify Scripts stopped running on 30 June 2026. A rebuild map for discounts, shipping and payments, the Function limits, and what to drop.

K

Kavi Nair · 4 min read · 12 November 2026

Shopify stopped running Scripts on 30 June 2026. If your checkout stopped applying a discount, shipping rule or payment rule on 1 July, a script was doing that job. It now needs a replacement, or a decision to drop it.

This article is for:

  • Shopify Plus teams that had custom Scripts for discounts, shipping or payment rules
  • Technical leads deciding between a public app and custom Functions
  • Store owners who inherited a store and are not sure what the old scripts did

This article is NOT for:

  • Stores that never used the Script Editor
  • Teams who only need a standard discount code, which the admin handles without any code

What changed, with dates

Shopify's developer changelog (9 April 2026) lists two dates:

  • 15 April 2026: editing and publishing new Scripts was no longer possible.
  • 30 June 2026: all Scripts stopped executing entirely.

Shopify's replacement is Functions. A Function is a WebAssembly module that receives JSON from a GraphQL input query you define and returns a JSON list of operations for Shopify to carry out. It runs inside Shopify's own checkout flow, not on your server.

Rebuild map: where each old script goes

Scripts were grouped by what they changed. The replacement depends on that, not on how the Ruby was written.

Old script didRebuild asCheck first
Cart or line item discountsDiscount functionDoes a public app already do this?
Changed the price of a shipping rateDiscount function (delivery discount)Is the new price a discount, or a different carrier rate?
Hid, renamed or reordered shipping optionsDelivery customization functionDoes the rate come from the carrier or a rate table?
Hid or reordered payment methodsPayment customization functionWhich gateways are live?

The three-question rule we use before writing any code:

  1. Did the script change money, availability or wording? If it only changed wording or ordering, it is the cheapest to rebuild and the easiest to drop.
  2. Does a public app already cover it? Stores on any plan can use public apps that contain Functions.
  3. Would the store notice if it stayed off? If nobody can name the last order it affected, do not rebuild it.

The tradeoff we make

We prefer one custom app with several small Functions over one large Function. The cost is more moving parts to deploy and version. The gain is that a bug in a shipping rule cannot break your discount logic, and each Function stays small enough to meet Shopify's limits.

Those limits are the part Ruby scripts did not have. Shopify documents them as fixed and dynamic:

  • Compiled binary: 256 KiB
  • Runtime linear memory: 10 MiB
  • For carts up to 200 line items: 11 million instructions, 128 kB of input, 40 kB of output

Shopify recommends Rust for performance. Its guidance says JavaScript is fine for prototyping but you should expect to hit the instruction limit sooner. For a public app, a large cart, or heavy logic, choose Rust.

What breaks in production

  • The old script's behaviour was never written down. The most common finding is a rule nobody remembers. Run the Shopify Scripts customizations report before deciding what to rebuild.
  • Plan access is different from Scripts. Stores on any plan can use public apps that contain Functions, but custom apps with Function APIs are limited to Plus stores. Check the store's plan before quoting a custom build.
  • Large carts. A Function that works with 5 line items can run out of instructions at 200. Test with a realistic worst-case cart using Shopify CLI, which can run a Function locally.
  • No dynamic code. The App Store does not allow apps that edit and run Function code dynamically, so rules that used to be edited live in the Script Editor now need a deploy or a configuration field backed by metafields.
  • External calls. The fetch target that calls an outside service is limited to custom apps on Enterprise stores. The usual workaround is to pre-load data with metafields or cart attributes.

When the opposite call is right

Do not write a custom Function when a public app does the same job and your rules are standard. A tiered discount, a free-shipping threshold or a payment filter by country is usually an app install plus configuration, not a build.

Do not rebuild a script that has not affected an order in a long time. Dropping it is a valid migration outcome, and it removes a thing to maintain.

How we scope this

A typical migration for us is an audit of every old script, a decision per script (rebuild, replace with an app, or drop), then the build and a test with realistic carts. We scope it as a fixed project of 4 to 6 weeks, and the code lives in your own repository from day one. If you want that done for your store, see our Shopify development service.

Further reading

  • Shopify Flow or a Custom AI Agent: Who Owns Which Job
  • What Shopify Development Services Include
  • Shopify MCP and AI Agents

For the automation side of checkout and operations, see Shopify automation.

On this page

  • What changed, with dates
  • Rebuild map: where each old script goes
  • The tradeoff we make
  • What breaks in production
  • When the opposite call is right
  • How we scope this
  • Further reading

Share

Browse by topic

  • Build Decisions
  • Shopify Engineering
  • SaaS Infrastructure & Payments
  • Migration & Scaling Stories
  • Digital Strategy
  • SEO & Content
  • AI & Automation
  • Healthcare
  • Recruitment
  • Web & Design
KN

Kavi Nair

Content & SEO

15 years shipping product. Senior-led teams, AI-augmented delivery, AU & US clients. I write about the things we ship — and the things we wish we hadn't.

Follow Kavi

Get new posts the day they go up.

Follow on LinkedInMore articles by Kavi  →

Keep reading

Related articles

SHOPIFY ENGINEERING

Shopify Flow or a Custom AI Agent: Who Owns Which Job

A decision rule for splitting Shopify store operations between Flow and a custom AI agent, plus the cases where the other choice wins.

K

Kavi · 6 min read · November 5, 2026

13 rows, 3 patterns, one tax table: Canadian provinces and territories grouped into HST, GST, and GST plus provincial tax

SAAS INFRASTRUCTURE & PAYMENTS

Canada GST/HST/PST setup for WooCommerce - every province, step by step

Every Canadian province and territory needs a rate in your WooCommerce tax table if you're registered for GST/HST - but provincial taxes are separate registrations. The full rate table, the settings, a CSV you can import, shipping by province, and five test checkouts.

P

Pratik · 17 min read · October 27, 2026

Two taxes, one price: a $100 price split into GST 5% = $5.00 and QST 9.975% = $9.98 for $14.98 tax, with the compound result of $15.47 struck through

SAAS INFRASTRUCTURE & PAYMENTS

Quebec sales tax is 14.975%, not 15.47% - fixing GST + QST in WooCommerce

Quebec charges GST 5% and QST 9.975% on the same price - 14.975% in total. A WooCommerce QST row marked Compound charges 15.47% instead. How to check your rows, fix them, and test the result.

P

Pratik · 8 min read · October 13, 2026

Newsletter

Enjoyed this? Get the next one in your inbox.

Two emails a month. Plain-language playbooks. Unsubscribe anytime.

No spam. We respect your privacy — see our Privacy Policy.

Want to apply this to your business?

Book a free 30-min consultation. We'll talk about your specific situation.

Book a free 30-min consultation