Shopify Scripts Migration Plan Before They Stop Working
Starting April 15, 2026, you can no longer edit or publish Shopify Scripts. On June 30, every Script running on your store stops executing completely.
That means your BOGO offers stop working. Your tiered discounts disappear. Your custom shipping rules break. Your payment method logic vanishes. All at once. No warning pop-up. No graceful degradation. Just broken checkout.
There is no extension. No opt-out. No delay button. Shopify confirmed this is final.
If your store runs any Scripts right now, you have 11 days until you cannot edit them and 87 days until they die. Here is exactly what to do.
What Shopify Scripts Did (and What You Are About to Lose)
Shopify Scripts were Ruby-based customization code that ran inside your checkout. They powered three categories of business logic that Shopify's standard settings could not handle.
Discount Scripts. Buy one get one free. Tiered discounts by spend ($200+ gets 10% off, $500+ gets 20%). Free gift with purchase. Volume discounts by quantity. Customer tag-based pricing for VIP or wholesale buyers.
Shipping Scripts. Hiding specific shipping methods based on location, cart total, or customer type. Renaming delivery options ("Standard" to "Ground Shipping"). Applying free shipping rules for loyalty members. Region-based carrier selection.
Payment Scripts. Hiding payment methods based on geography, cart total, or product type. Reordering payment options. Blocking COD for high-risk zip codes. Showing specific gateways for B2B customers.
If your store uses any of these, that functionality disappears on June 30 unless you migrate.
What Replaces Scripts (Your Three Options)
Option 1: Shopify Functions (Free, Recommended)
Shopify Functions are the official replacement. They run on WebAssembly instead of Ruby, execute in under 5 milliseconds (10-20x faster than Scripts), and use modern APIs.
Available Function APIs:
- Discount Function API replaces discount Scripts
- Delivery Customization API replaces shipping Scripts
- Payment Customization API replaces payment Scripts
- Cart Transform API handles cart modifications (more powerful than old Scripts)
- Checkout Validation API prevents invalid orders (new capability)
Building custom Functions requires developer skills (JavaScript, Rust, or AssemblyScript) and Shopify CLI. Plus merchants can build and deploy custom Functions. Standard plan merchants can use apps built on Functions.
Option 2: Shopify Function Apps (Easiest)
If you do not have a developer, apps built on Shopify Functions replicate common Script functionality without writing code.
BOGOS handles buy-one-get-one, bundles, tiered discounts, and free gifts. $25-40/month.
PowerX Functions Creator covers BOGO, volume discounts, free gifts, shipping rules, and payment customization. $30-50/month.
Kite handles free gift with purchase, BOGO, volume discounts, and free shipping rules. $20-35/month.
Dr Free Gift specializes in free gift with purchase logic and cart-based conditions. $15-30/month.
For most stores with standard discount and shipping Scripts, an app replacement takes 1-2 days to set up and costs $25-50/month. That is dramatically cheaper than hiring a developer.
Option 3: Native Shopify Discounts (Limited)
Shopify's built-in discount system handles basic scenarios: percentage off, fixed amount off, free shipping at a threshold, and buy X get Y. If your Scripts only did simple discounts, native settings may be enough. But if your Scripts had complex conditions (customer tags, product combinations, tiered logic), native discounts will not cover it.
The 5 Most Common Scripts and How to Migrate Each One
1. Buy One Get One (BOGO)
What it does: Add a free product when a customer buys a specific item or reaches a cart condition.
Migration path: Install BOGOS or Kite app. Configure the same BOGO rules in the app interface. Test with a development store. Run both the old Script and new app simultaneously for 1-2 weeks to verify matching behavior. Disable the Script.
Time: 1-3 days. Cost: $25-40/month app or $200-600 developer fee for custom Function.
2. Tiered Discount by Spend
What it does: Apply increasing discounts at higher cart totals. Example: $200+ = 10% off, $500+ = 20% off, $1000+ = 30% off.
Migration path: Install PowerX or AIOD app. Input your tier thresholds. Test with multiple cart values to verify correct discount applies. Compare with live Script output.
Time: 1-3 days. Cost: $30-50/month app or $200-600 developer fee.
3. Free Gift with Purchase
What it does: Automatically add a free product when cart meets conditions (usually a spend threshold).
Migration path: Install Dr Free Gift or BOGOS. Configure conditions and gift product. Test the full checkout flow including edge cases (what happens if gift goes out of stock?).
Time: 1-2 days. Cost: $15-40/month app or $150-400 developer fee.
4. Custom Shipping Rules
What it does: Hide, show, rename, or reorder shipping methods based on conditions like location, customer tag, cart total, or product type.
Migration path: This is the trickiest. App options are limited for complex shipping logic. Simple rules (hide a method below a cart threshold) can use PowerX. Complex rules (region-specific carrier selection, customer-tag-based methods) likely need a custom Delivery Customization Function built by a developer.
Time: 2-7 days depending on complexity. Cost: $30-50/month app for simple rules or $1,500-3,500 developer fee for custom Function.
5. Payment Method Control
What it does: Hide, reorder, or rename payment methods based on geography, cart total, customer type, or product type.
Migration path: Simple hiding (block COD over $500 or hide a gateway for international customers) can use PowerX or a Payment Customization app. Complex multi-condition logic needs a custom Payment Customization Function.
Time: 2-4 days. Cost: $30-50/month app or $400-1,000 developer fee.
What Breaks If You Do Nothing
On June 30 at midnight UTC, every Script stops executing. Here is what happens to your store:
Discount Scripts die: Customers who expect BOGO or tiered discounts see full price at checkout. They either complain, abandon checkout, or complete the purchase and then file a chargeback because the advertised promotion did not apply.
Shipping Scripts die: Methods you were hiding become visible. Methods you renamed revert to carrier defaults. Free shipping rules based on customer tags stop working. Customers see shipping options you did not want them to see, or do not see options they expected.
Payment Scripts die: Payment methods you were hiding become available. COD shows up where you blocked it. Gateways you reserved for B2B customers become visible to everyone. Payment method ordering reverts to default.
This is not theoretical. Every store running Scripts will experience this on June 30 unless they migrate. There is no gradual phase-out. It is a hard cutoff.
The Migration Budget
Budget A: Apps Only (Most Stores)
Replace all Scripts with 2-3 apps. Total: $60-120/month in app subscriptions. Zero developer fees. Setup time: 8-16 hours of your own time. Annual cost: $720-1,440.
Budget B: Mix of Apps and Custom Functions
Use apps for simple Scripts. Hire a developer for complex shipping or payment logic. Total: $2,000-8,000 one-time developer cost plus $30-60/month in app subscriptions for remaining needs.
Budget C: Full Custom Migration (Complex Stores)
Hire a Shopify partner agency to audit, migrate, test, and deploy everything. Total: $5,000-15,000 for full-service migration. Includes testing, documentation, and post-launch support. Recommended for stores with 5+ complex Scripts or heavy B2B logic.
What to Do This Week (Action Plan)
Today: Open Shopify Admin. Go to Apps and find Script Editor. Click "Replace your Shopify Scripts" to access the Shopify Scripts Customizations Report. This AI-powered tool shows you exactly which Scripts are active and what they do. Export the report as CSV.
Tomorrow: For each Script, decide the replacement path. Is it simple enough for an app? Or does it need a developer? Write it down. Do not skip this step.
Day 3: Install test apps on a development store. Configure them to match your current Script logic. Run test orders. Compare results.
Day 4-5: If you need a developer, get quotes now. Share your Scripts report and explain the timeline. Developers who understand Shopify Functions are in high demand right now because every Plus store is racing this deadline.
By April 15: Have your replacement solution tested and ready to run alongside your Scripts. Do not disable Scripts yet (they run until June 30). But have the replacement fully configured so you can switch when Scripts die.
May 1 - June 15: Run both old Scripts and new Functions/apps in parallel. Compare outputs. Fix any discrepancies. Build confidence that the migration is complete.
June 30: Scripts stop. Your replacement is already running. Nothing breaks. You move on.
Scripts vs Functions: Key Differences to Know
If you are building custom Functions, these technical differences matter:
No network calls. Scripts could make API calls during execution. Functions cannot. If your Script pulled external data (customer loyalty tier from a third-party system, real-time pricing from an API), you need to pre-sync that data into Shopify metafields and have the Function read from metafields instead.
Execution limits. Functions have a hard limit of 11 million instructions (roughly 5 milliseconds). Complex loops, large datasets, or heavy regex operations that worked in Scripts may hit this limit. Test with realistic cart sizes, not just single-item test orders.
Different languages. Scripts used Ruby. Functions use JavaScript, Rust, or AssemblyScript compiled to WebAssembly. Your Ruby code does not carry over. It needs to be rewritten.
Explicit data access. Scripts had broad access to checkout data. Functions only receive the data you explicitly request in your input query. If your Script used customer tags, product metafields, or vendor info, you must add those fields to your Function's input definition.
These differences mean that a direct 1:1 port of a Script to a Function is not always possible. Some Scripts need to be redesigned, not just rewritten. Budget time for this if your Scripts have complex logic.
Do Not Wait Until June
The April 15 edit freeze is 11 days away. After that, you cannot fix a Script if you find a bug. You cannot add a new Script if your business needs change. You are locked into whatever is running on April 14.
The stores that migrate early have time to test thoroughly, catch edge cases, and fix problems before June 30. The stores that wait until June will scramble, cut corners on testing, and launch untested replacements into live checkout during what might be their busiest sales period.
If you need help auditing your Scripts, choosing the right migration path, or building custom Shopify Functions, we work with Plus merchants on exactly this. We can audit your Scripts, build the replacement Functions, test them against your current checkout behavior, and deploy before the deadline.
Book a free strategy call and we will review your Scripts, estimate the migration scope, and give you a clear timeline before April 15.