Skip to content
Learnby Zqdo

Shopify Development

Shopify Functions vs Scripts: What Replaced Script Editor

Shopify Scripts stopped running June 30, 2026. Compare Functions vs Scripts, map each Script type to the right Function API, and decide when a public app beats a custom Function build.

Published
Updated
Reading time
12 min read

Quick Answer

Shopify Scripts were deprecated June 30, 2026 and no longer execute. Shopify Functions (WebAssembly modules shipped in apps) run during the buyer journey for discounts, delivery customization, payment customization, cart transforms, and validations. Use the Scripts customizations report to inventory what existed. Public App Store apps with Functions work on paid plans; custom Function apps require Plus. Flow cannot replace checkout-time price logic.

What Happened to Shopify Scripts in Admin?

Shopify Scripts were deprecated on June 30, 2026. They no longer execute at checkout. Script Editor is retired as a live customization surface. What remains in admin is the Scripts customizations report—a historical inventory of what your store ran before deprecation, with links to migration guidance.

Merchant-safe first step: open the Scripts customizations report in Shopify admin and export or screenshot what it lists. Developer step: classify each row by behavior type—discount, shipping, payment, line-item transform—and note whether native Shopify discounts could replace it without a Function.

How Do Shopify Functions Compare to Scripts?

Shopify Functions are not a new Script Editor with a different syntax. They are WebAssembly modules invoked by Shopify during the buyer journey, deployed through apps with versioning, permissions, and Partner Dashboard workflows.

Comparison of Shopify Scripts and Shopify Functions showing runtime, admin UI, deprecation timeline, and plan requirements

Scripts stopped executing after June 30, 2026. Functions ship inside apps as WebAssembly modules and run during the buyer journey.

DimensionShopify Scripts (deprecated)Shopify Functions
RuntimeRuby in Script EditorWebAssembly in apps
Admin surfaceScript Editor textareaApp install + configuration
ExecutionCheckout (Plus)Cart and checkout during buyer journey
External API callsLimited patternsNot at runtime—pre-compute data
Status after June 2026No longer executesCurrent path for checkout logic
Plan gatePlus onlyPublic app Functions: paid plans; custom apps: Plus

Custom App, Public App, or Native Discounts?

The migration decision is not 'rewrite every Script in Rust.' It is a portfolio choice: native Shopify discounts, a public App Store app with Functions, or a custom Function app you maintain.

PathBest whenTradeoffs
Native Shopify discountsSimple percentage/fixed/buy-X-get-Y rulesNo custom logic; limited compared to legacy Scripts
Public App Store Function appCommodity rules (tiered discounts, shipping filters) with merchant UIApp dependency, subscription cost, vendor roadmap risk
Custom Function appProprietary rules no public app coversRequires Plus, Partner workflow, ongoing maintenance

Prefer native discounts when they cover the rule. Prefer public apps for commodity logic with a maintained admin UI. Reserve custom Function apps for rules that are genuinely proprietary and justify development cost.

Which Function APIs Are Plus-Only?

Plan gating is nuanced. Public apps can expose Functions on lower plans, but individual APIs retain Plus-only capabilities—payment customization with net terms is a common example. Confirm each API's current plan requirements on shopify.dev before you publish a capability table.

How Do You Map Script Types to Function APIs?

Scripts often mixed discount, shipping, and line-item logic in one file. Functions split these into separate APIs that run at specific points in the buyer journey. Conflating them causes double discounts or shipping rules that never fire.

Diagram mapping deprecated Shopify Script types to their Shopify Functions API replacements

Use the Scripts customizations report as your inventory—then map each rule to the Function API that runs at the same point in checkout.

  • Line item or cart structure changes → Cart Transform API.
  • Price changes and discount stacking → Discount Function API (unified path on latest API versions).
  • Shipping rate filtering or renaming → Delivery Customization API.
  • Payment method filtering or reordering → Payment Customization API.
  • Cart and checkout validation rules → Cart and Checkout Validation API.

When external data drives eligibility—ERP inventory, contract pricing, loyalty tiers—pre-compute into metafields or cart attributes before checkout. See the metafields guide for durable data modeling that Functions can read without runtime API calls.

What Migration Sequence Avoids Scope Creep?

A disciplined migration beats a one-to-one Script rewrite project that recreates rules you stopped needing years ago.

  1. Run the Scripts customizations report and tag each rule: keep, replace with native discount, or rebuild as Function.
  2. Delete obsolete rules from the report context—do not rebuild legacy promotions you no longer run.
  3. Confirm checkout extensibility upgrade is complete—Function APIs require it.
  4. Choose public app vs custom build per rule based on the portfolio table above.
  5. Deploy, test on real checkout, and document app ownership for future audits.

Why Does Checkout Extensibility Come First?

Shopify ties Function API access to completing the checkout extensibility upgrade. If your store still has unmigrated checkout surfaces, resolve that before commissioning Function development. The checkout extensibility guide covers plan gates, pixel migration, and upgrade QA—this article stays on the logic layer.

What Are Common Scripts-to-Functions Mistakes?

  • Rebuilding every Script 1:1 instead of deleting obsolete rules first.
  • Using Shopify Flow for checkout discount logic—it runs async in admin, not during checkout.
  • Building custom Functions in admin-created custom apps when Partner Dashboard + App Bridge is required for custom Function apps.
  • Assuming Functions can fetch live ERP pricing at checkout without pre-computed metafields.
  • Ignoring checkout extensibility upgrade status before Function development starts.

When Should You Hire a Developer for Scripts Migration?

Engage a Shopify developer when the Scripts report shows proprietary rules native discounts and public apps cannot cover, when payment or delivery customization APIs are required, or when external data must be modeled into metafields for Function consumption. Simple tiered discounts through a reputable public app often need no custom build.

Zqdo's Perspective

Plus checkout logic projects are app portfolio decisions, not textarea swaps. When Zqdo reviews a Scripts migration, the sequence is report inventory, scope reduction, native discount check, then app vs custom Function—always after confirming checkout extensibility status. Flow belongs in a separate conversation about async ops automation, not as a Scripts replacement.

Key Takeaways

  • Shopify Scripts stopped executing after June 30, 2026—the admin report is now a historical inventory, not live logic.
  • Functions ship inside apps as WebAssembly modules, not as Ruby in Script Editor.
  • Public App Store apps with Functions work on paid plans; custom Function apps require Plus.
  • Flow handles async admin automation—never checkout-time price changes.
  • The Scripts report is the authoritative inventory; code search alone misses Script Editor rules.
  • Functions cannot call external APIs at checkout—pre-compute data into metafields or use a hosted backend.

Frequently Asked Questions

What replaced Shopify Scripts?

Shopify Functions replaced Scripts for synchronous checkout and cart logic. Functions are WebAssembly modules deployed through apps. Discount, delivery customization, payment customization, cart transform, and validation APIs each cover different Script types that used to live in Script Editor.

When were Shopify Scripts deprecated?

Shopify Scripts were deprecated on June 30, 2026 and no longer execute. Plus merchants should use the Scripts customizations report in admin to see what was active before deprecation and plan recreations via Functions or native Shopify discounts.

Are Shopify Functions Plus-only?

Not entirely. Public App Store apps that contain Functions can run on all paid plans. Custom Function apps—apps you build and deploy yourself—require Shopify Plus. Individual Function APIs also have Plus-only features; confirm current API availability before publishing a capability table.

Can Shopify Flow replace Scripts?

No. Flow runs after store events in admin—it cannot change checkout prices or cart totals during the buyer journey. Checkout-time discount, shipping, and payment logic belongs in Functions or native Shopify discount tools.

Should I rebuild every Script 1:1?

No. Use the Scripts customizations report to inventory rules, delete obsolete ones, and check whether native Shopify discounts cover the behavior before commissioning a custom Function. Many Script portfolios include rules that no longer match current merchandising.

Why can't a Function call an external API at checkout?

Functions run in a deterministic WebAssembly sandbox during checkout. They cannot make outbound network calls at runtime. External pricing or eligibility data must be pre-computed into metafields, cart attributes, or a hosted app backend that syncs before checkout.

What clients say

Trusted by Shopify Brands

Clutch and first-party reviews from merchants who've worked with Zqdo on Shopify development and optimization.

What clients say

Need custom Shopify development?

Zqdo builds maintainable Shopify theme, metafield, and custom development solutions that match how your business actually sells.

David Frempong, founder and digital consultant at Zqdo

About the author

David Frempong

Founder & Digital Consultant at Zqdo

David Frempong is the founder and digital consultant at Zqdo. He is a hands-on web developer and Shopify developer who helps ecommerce brands and local businesses improve their websites, integrations, SEO, AEO, analytics, and conversion performance.

  • Shopify development
  • WordPress & website development
  • SEO & local SEO
  • AEO
  • CRO & analytics
  • Integrations & performance