All articles
Shopify Scripts deprecated9 April 2026

Shopify Scripts deprecated: migrate to Functions by June 2026

Shopify is fully deprecating Scripts in favor of Functions by June 30, 2026, directly affecting discounts, shipping, and custom payment logic. Here's what Shopify Plus merchants need to do now.

Why the Shopify Scripts deprecation is a real breaking change

Shopify has officially announced the deprecation of Shopify Scripts, the tool that for years has allowed Plus merchants to customize checkout logic with server-side Ruby code. This isn't a notice you can file away: starting June 30, 2026, all Scripts will stop executing without exception, directly impacting combined discounts, conditional shipping rules, and payment method filters.

If this logic is currently active in production, your checkout has a firm expiration date.

The dates that matter

Shopify has communicated two distinct, binding deadlines:

  • April 15, 2026 — from this date, it will no longer be possible to modify existing Scripts or publish new ones. Scripts already active will keep running, but any editing will be blocked.
  • June 30, 2026 — all Scripts stop executing, regardless of their status. No exceptions.

The real operational window is therefore narrower than it appears: anyone who needs to update business logic before the migration must do so by mid-April, but starting development in Functions well ahead of time is the only safe strategy.

What changes with Shopify Functions

Shopify Functions is the architecture replacing Scripts. The structural differences are significant.

Architecture and supported languages

While Scripts was based on Ruby running in a Shopify-managed sandbox environment, Functions uses WebAssembly modules compiled from languages such as Rust, JavaScript, and TypeScript. This brings:

  • Explicit versioning — each Function is a deployable version, traceable and reversible.
  • Distribution via apps — Functions aren't installed directly in the admin like Scripts, but are distributed through Shopify apps (public or custom).
  • Different execution limits — the computational budget is expressed in WebAssembly instructions, not Ruby milliseconds, requiring a review of logic complexity.

Covered scenarios

Shopify Functions today covers the same functional areas as Scripts:

  • Discount Functions — automatic discounts, combined discounts, cart-based promotions.
  • Shipping Functions — conditional rules on shipping methods, exclusions by product or market.
  • Payment Functions — filtering and reordering payment methods based on custom criteria.

Functional parity has largely been achieved, but the logic must be rewritten: there is no automatic conversion tool from Ruby to WebAssembly.

How to plan the migration

A well-executed migration requires at least three distinct phases.

1. Inventory of active Scripts

The starting point is the Shopify Scripts customizations report, accessible from the admin panel. This report lists all active Scripts, their type (discount, shipping, payment), and the date of the last deployment. It's essential to map each script to an equivalent functional scenario before writing a single line of code.

2. Development and testing in staging

Each Function must be developed, tested, and validated in a staging environment before being promoted to production. Testing cycles for Functions are structurally longer than for Scripts, since they require deploying an app and verifying behavior in real checkout contexts. Starting development before the end of 2025 is the minimum recommendation for merchants with complex logic.

3. Freeze and cutover

It's advisable to plan a freeze of existing Scripts well ahead of April 15, 2026. Modifying a Script in the weeks leading up to the deadline, in case of issues, could block the ability to fix it. The cutover to Functions should happen during a low-traffic window with a documented rollback plan.

Impact on complex catalogs and layered promotions

Merchants with large catalogs, multi-tier promotions, or shipping rules that differ by market are the most exposed. In these cases, the migration isn't just technical — it's a review of the business logic governing checkout, with potential impact on conversion rates, promotional margins, and order operations.

To assess the scope of your migration and estimate development time, you can check the Shopify developer plans available on Barikreativa.

Operational checklist

Before the end of the year, every Shopify Plus merchant should have completed these steps:

  • Run the Scripts customizations report and document every active script.
  • Classify each script by type (discount, shipping, payment) and logic complexity.
  • Identify whether the equivalent Function already exists as a public app or needs custom development.
  • Start Functions development with a dedicated staging environment.
  • Plan the freeze of existing Scripts and the production cutover date.

The June 30, 2026 deadline is not negotiable. The earlier planning begins, the more room there is for thorough testing and fixes without pressure.

FAQ

Frequently Asked Questions

After June 30, 2026, all Scripts stop executing without exception. Any discount, shipping, or payment logic based on Scripts will stop working at checkout, directly impacting store operations.

Yes, Shopify Functions covers the same functional scenarios: automatic and combined discounts, conditional shipping rules, and payment method filters. However, the logic must be completely rewritten, since there is no automatic conversion from Scripts' Ruby code to the WebAssembly modules used by Functions.

Shopify recommends starting development as soon as possible. For merchants with complex logic, beginning before the end of 2025 is the safest choice. From April 15, 2026, it will no longer be possible to modify existing Scripts, so all logic must be migrated and tested in staging before that date.