Moving your rules from Shopify Scripts
Shopify stopped running Scripts created in Script Editor on June 30, 2026. Scripts no longer change prices, shipping options or payment options at checkout, on any plan. If you built rules with Playwright for Scripts, they’re saved, and you can publish them to Shopify Functions. The Shopify Scripts page has the short version; this guide covers the details.
How to move
- Go to the Shopify Scripts page, enter your store’s address and select Move to Shopify Functions.
- Approve the new permissions Shopify asks for: discounts, shipping and payment customizations, and checkout validation.
- Open your rules in Playwright. They’re already there.
- Select Publish. Playwright tells you about any rule that needs a change first.
What changes for you
- You don’t paste anything into Script Editor: Publish sends your rules straight to checkout. See Publishing.
- Each area’s rules publish together to a few Shopify discounts and customizations named “Playwright: …”, not one script per area. Rules still run in order. See Where your rules run.
- You no longer create exact discount codes by hand: Playwright creates them. Wildcard and pattern codes still need creating. See Discount code rules.
- Rules that can’t run on Shopify Functions are left out with the reason, and the rest are published.
Settings that need a change
Most rules move as they are. Shopify Functions can’t see a few things Scripts could, so rules that use them need a change before they’re published:
- Whether a customer accepts marketing. Tag those customers and use a customer tag condition instead.
- Cart weight and line item properties.
- Comparing billing and shipping addresses.
- Where a shipping rate comes from (Shopify or a carrier). Select rates by name instead.
- Partial tag matches, like “tags containing VIP”. List the full tags instead.
Discount rules also can’t check street addresses or PO boxes, and some product conditions aren’t available in shipping and payment rules. The full list is in Which rules can use each condition.
Templates that run differently
These templates publish, with a difference Playwright notes before you publish:
| Template | On Shopify Functions |
|---|---|
| Free Gift with Purchase (based on cart subtotal) | Functions can’t add the gift: it is only discounted when the buyer has added it. |
| Free Gift with Purchase (based on shipping address) | Functions can’t add the gift: it is only discounted when the buyer has added it. |
| Quantity Limit | Shopify Functions can’t change quantities. Customers over the limit see a message and can’t check out until they reduce the quantity. |
| Shipping Discount | An order can only get one shipping discount, so this doesn’t combine with other shipping discounts. |
| Cap Shipping Rates | The cap shows as a shipping discount, and an order can only get one shipping discount. |
| Change Name | Shopify always shows the carrier name before a renamed shipping rate. |
| Find and Replace in Name | Shopify always shows the carrier name before a renamed shipping rate. |
| Rename Payment Option | Shopify doesn’t allow renaming Shop Pay, Apple Pay, Google Pay or other wallets. |
| Reorder Payment Options | Shopify doesn’t allow moving wallets such as Shop Pay, Apple Pay and Google Pay. |
What stays the same
- Templates, conditions and settings are the same, and your rules keep their settings.
- Rules run in the same order and do the same arithmetic as the scripts did.
- Buy One Get One counts the same way: Buy 1 Get 1 on the same items made every unit free in Scripts too. See Buy one, get one on the same product.
After you move
- Open each area and read the notes under “How your rules run on Shopify Functions”.
- Fix any rule marked “won’t be published”, then publish each area.
- Place a test order for your main offers, signed in as a customer who qualifies.