(03) 8832 8005

On 30 June 2026, Shopify Scripts stopped running. Not deprecated with a grace period. Switched off. Any store still relying on a published Script for tiered discounts, hidden payment methods or custom shipping logic watched that logic quietly disappear from checkout, usually without a single error message to warn them.

Most Aussie founders reading this never wrote a Script, because Scripts were a Shopify Plus feature. So it is tempting to file this under “not my problem”. That would be a mistake. The reason Shopify killed Scripts is the same reason this matters to a store doing $80k a month on the Advanced plan: Shopify Functions is now the layer that decides what your cart and checkout are allowed to do, and a large chunk of what you are paying apps for is already sitting in the platform.

Here is the number that should get your attention. The average Shopify store runs 6 to 10 apps that collectively add 2 to 3 seconds to page load, and every extra second of load time cuts conversion by roughly 7%. Meanwhile a store under $1m in revenue spends around $175 a month on apps, and stores in the $1m to $5m band routinely spend $1,000 to $3,500 a month. A meaningful slice of that spend is buying capability Shopify now ships natively.

This is the playbook we run with members before peak season. Six layers, in the order Shopify actually executes them, plus the audit that tells you which apps to cancel.

What Shopify Functions Actually Are (And What Your Plan Lets You Use)

A Function is a small piece of logic that runs on Shopify’s own servers, inside the cart and checkout, before the page renders. It is compiled to WebAssembly and executes in milliseconds. That is the important part. Unlike an app that injects JavaScript into your theme and adds another round trip to a third party server, a Function adds no scripts to your storefront and no network requests to your Lighthouse waterfall.

There are six Function types you will actually care about as an operator: product discount, order discount, shipping discount, cart transform, delivery customisation and payment customisation. There is a seventh, cart and checkout validation, which behaves differently enough that I treat it as its own layer below.

They run in a fixed order, and knowing that order stops most of the “why is my discount wrong” arguments before they start:

  1. Cart transform. Merges or expands line items, so bundles are resolved first.
  2. Product discount. Applied to individual line items.
  3. Order discount. Applied to the cart subtotal.
  4. Delivery customisation. Filters, renames and reorders shipping options.
  5. Shipping discount. Discounts the delivery options that survived step 4.
  6. Payment customisation. Filters, renames and reorders payment methods.
  7. Cart and checkout validation. The final gate that can block checkout entirely.

Now the part nobody explains clearly. Access depends on your plan, and it splits three ways.

So if you are not on Plus, the play is not “build a Function”. The play is “replace three JavaScript-heavy apps with one Function-based app that adds nothing to my storefront”. That alone is usually worth 0.5 to 1 second of load time.

Layer 1: Discount Functions, Where Your Whole Peak Offer Lives

Discounts are the layer most founders get wrong, and it costs real money at peak. Shopify merchants did a record 14.6 billion US dollars over Black Friday Cyber Monday weekend in 2025, up 27% year on year, with Australia sitting in the top group of selling countries alongside the US, UK, Germany and Canada. Sales peaked at 5.1 million US dollars per minute. More than 94,900 merchants had their single best selling day ever. That is not a weekend to discover your discount logic conflicts with itself.

Three hard limits you need written on the whiteboard before you plan a single offer:

The practical failure mode looks like this. You set a sitewide 20% automatic order discount for peak. You also run a “buy 3 save 15%” product discount. You never set the combination rules, so the two refuse to co-exist, and Shopify silently applies whichever is worth more. Your bundle stops working the moment the sitewide offer goes live, and nobody notices until a customer emails.

Fix it by mapping combinations before you build anything. For each discount, write down its class (product, order or shipping) and the classes it is allowed to combine with. Then test the three carts that break things: single item, bundle plus sitewide, and bundle plus sitewide plus free shipping threshold.

Shopify admin discounts screen showing five function-based discounts with combination rules and the function execution order
Every discount needs a class and an explicit combination rule. Leave them blank and Shopify picks for you.

The upside when you get this right is not theoretical. Topologie drove 2.5 million US dollars in order value running Buy X Get Y campaigns built on discount Functions. The mechanic is boring. The execution discipline is what produced the number.

If you are building your peak offer stack right now, read this alongside our peak offer architecture playbook, which covers the offer design side. This article covers the plumbing that has to hold it up.

Layer 2: Cart Transform, Bundles That Survive the Checkout

Cart transform is the most underused Function on the platform and the one with the clearest revenue case. It lets you merge several individual products into a single bundle line item at a bundle price, or expand one purchased SKU into its components for fulfilment.

Why this matters more than a theme-level bundle widget: the transformation happens server side, inside the cart, so it survives the trip to checkout. Theme-based bundle apps that fake the discount with a cart attribute or a draft order routinely fall apart on Shop Pay, on express checkout buttons, and on any flow that bypasses your cart page. Cart transform does not, because Shopify itself is doing the maths.

Two examples worth studying. Cove generated 4.4 million US dollars in bundle revenue running build-your-own-bundle offers on cart transform. Evry Jewels drove 465,000 US dollars in a single Black Friday period with a gift box builder on the same mechanic. Both are the same idea: let the customer assemble the bundle, let Shopify resolve it into one clean line item, let fulfilment see the components.

Where an Aussie operator should use it first:

One warning. Cart transform runs first in the execution order, which means your discount functions see the transformed cart, not the original one. If your bundle already contains the saving, make sure your sitewide discount is not stacking on top of it. That is a 20% offer becoming a 36% offer, and at a 60% gross margin it is the difference between a profitable campaign and an expensive one.

Layer 3: Delivery Customisation, Stop Offering Shipping You Cannot Honour

This is the layer with the most obviously Australian use case, and it is the one I see ignored the most.

Australia is a hard shipping country. Express Post does not perform the same into remote WA, NT and far north QLD as it does across the Melbourne and Sydney metro. Bulky freight cannot go to a PO Box. Click and collect only makes sense if the customer is near a stockist. Yet most stores present one flat menu of shipping options to every customer, then absorb the support tickets and the refunds when a promise breaks.

Delivery customisation Functions do three things: hide options, rename options, and reorder options. Deceptively simple, and the payoff is bigger than it looks.

Shopify checkout customisation settings showing delivery rules, payment rules and cart validation rules with active status
Delivery, payment and validation rules configured natively. On Plus this replaces three separate paid apps.

Layer 4: Payment Customisation, Control Which Wallets Show Up

Payment customisation filters, hides, renames and reorders payment methods at checkout. Same three verbs as delivery, applied to the money.

The obvious Australian play is buy now pay later. Afterpay and Zip are close to table stakes for a consumer brand here, but they carry a merchant fee well above card rates, and they carry approval limits. Showing Afterpay on a $1,400 order is a poor experience when the customer will be declined, and it is expensive when they are not. A payment customisation that hides BNPL above a threshold protects both.

Other rules worth setting:

Run the numbers before you touch anything. Take your last 90 days of orders, split by payment method, and calculate the fee as a percentage of revenue for each. Most Aussie stores find one method quietly eating 4 to 6% of the revenue it touches. That is your first rule.

Layer 5: Cart and Checkout Validation, The Rule That Says No

Validation is the last function to run, and it is the only one that can stop a checkout completely. It exists so a customer can only complete an order if the cart meets your rules.

The classic use case is a limited drop. If you release 400 units and a reseller buys 60 of them in one transaction, you have not sold out, you have transferred your brand equity to a marketplace listing at a markup. A validation rule that caps quantity per customer on tagged products fixes it in one setting.

Beyond drops, the rules that pay for themselves in Australia:

Write the customer-facing error message yourself. The default reads like a system fault, and a shopper who hits a wall with no explanation does not email you, they leave. “You can order up to 2 of this item while stock lasts” converts far better than a generic validation error.

Layer 6: The Replacement Audit, Which Apps You Can Actually Cancel

This is where the playbook turns into money. Block 90 minutes, open your Shopify billing page, and build a three column list: app name, monthly cost in AUD, and the native Function that could do the same job.

The categories that map almost one to one:

Dark dashboard showing an app stack audit mapping five paid Shopify apps to native functions with monthly and annual savings
A typical audit on a $150k per month store. Five apps replaced, eleven third party requests removed.

The saving is rarely the headline. Removing five apps that each inject a script is what moves your largest contentful paint, and mobile LCP is the metric that actually correlates with revenue on an Australian store where a large share of traffic arrives from Instagram on a mid-range phone over patchy 4G. If you have not run a full stack review yet, start with our Shopify app stack audit and layer this Functions mapping over the top.

How to actually make the switch without breaking peak:

  1. Duplicate your theme and work on the copy. Never test a checkout change on live.
  2. Install the replacement first, configure it, and leave the old app installed but disabled. Rollback should take 60 seconds, not a reinstall.
  3. Test the five carts that break things: single item, bundle, bundle plus code, remote postcode, and a cart above your free shipping threshold.
  4. Check express checkout paths. Shop Pay, Apple Pay and Google Pay skip the cart page. If your logic only works on the cart page, it is not working.
  5. Watch orders for 72 hours before you uninstall the old app and stop the subscription.

One reality check on timelines. Agencies running full Scripts to Functions migrations on Plus stores budget 8 to 14 weeks for 5 to 15 scripts, including scoping, build, QA on a development store and a monitored production cutover. Your app replacement job is far smaller than that, but it is not a Sunday afternoon. Give it a fortnight and do it before your peak code freeze, not during it.

The Compound Effect: Fewer Apps, Faster Store, Tighter Offers

Taken one at a time, each of these layers looks like a settings change. Together they change what your store is capable of at peak.

Start at the top. Cart transform lets you build bundles that raise average order value without a sitewide discount, so you protect gross margin going into November. Discount Functions with explicit combination rules mean those bundles do not accidentally stack with your peak offer, which protects the margin again. Delivery customisation stops you selling shipping promises you cannot keep, so your support queue stays small during the week your team can least afford it. Payment customisation quietly moves volume toward the methods that cost you less. Validation stops the two or three order types that generate most of your refunds.

Then there is the second order effect, which is speed. Five fewer apps means five fewer script tags, fewer render blocking requests, and a faster mobile experience. At a 7% conversion cost per second of load time, clawing back a second on a store doing $150k a month is worth more than every app subscription you cancelled combined.

Arbor Made lifted checkout conversion 16% running Functions-powered testing on their checkout. That is the kind of number you cannot buy with more ad spend. It comes from owning the layer where the transaction actually happens.

The founders who get this right are not more technical than you. They just treat checkout logic as an asset they own rather than a pile of app settings they inherited.

Your Shopify Functions Audit Checklist

Copy this into a doc and work through it before your peak code freeze. It takes about two hours end to end.

If you work through that list and find nothing to change, you are in the minority and your checkout is in better shape than most stores I look at. If you find four apps you can cancel and two discount rules that were never going to fire correctly on Black Friday, that is a very good use of a Tuesday.

Own the Layer Where the Money Changes Hands

Shopify has spent three years moving customisation out of your theme and out of third party scripts, and into a layer it runs itself. Killing Scripts was the last step. The stores that treated that as a compliance job did the bare minimum and moved on. The stores that treated it as an opportunity now have faster sites, cleaner offers and lower app bills heading into the biggest trading period of the year.

You do not need to be on Plus to start. You need two hours, your billing page, and the willingness to test a checkout properly before peak instead of during it.

Inside eCommerce Circle, checkout and platform architecture is one of the core pillars we work on with every member, and this audit is one of the first things we run before peak season. If you want a second opinion on yours, let’s talk.

The Shopify Functions Playbook: The 6-Layer System Aussie DTC Founders Use to Replace Paid Apps and Own Their Checkout
Team eCommerce Circle

Written by

Team eCommerce Circle

Helping Shopify brand owners scale smarter through the eCommerce Circle coaching community.

Leave a Reply

Your email address will not be published. Required fields are marked *

Thank You

Your application for the eCommerce Circle was successfully submitted.
We’ll get back to you through your provided details shortly.

Thank You

Your enrolment was successfully submitted, and we’ve added you to the waitlist for your preferred cohort.

Not a Circle Member Yet?
Only members can join cohorts!
Join here.