Custom-App Functions Need Plus. Public-App Functions Do Not

Shopify Functions are the server-side logic for discounts, delivery options, payment options, and cart validation. They replaced Shopify Scripts, which were deprecated on June 30, 2026, and any Scripts still published were switched off. The logic moved, and the plan rules moved with it.

The plan rule is about distribution, not capability. A Function shipped inside a public App Store app works on any plan, from Basic up. The same Function shipped inside a custom app, built for one store, needs Shopify Plus. Teams that miss this spend weeks building a Function their plan cannot run.

The rule, stated plainly

A public app goes through review, and Shopify can see what it does. A custom app is private by definition, and the only gate on it is the plan. Shopify drew the line at the distribution method because it is the only place the check can happen reliably.

That is also why the checkout.liquid deprecation matters here. The old file let Plus stores edit checkout code directly, and it stopped working on in-checkout pages on August 13, 2024. Functions are the replacement for that power, and Plus is the price of the private version of it.

Why Shopify drew the line there

The practical answer for a non-Plus store is a public app that wraps the Function you need. If the logic is a common pattern, tiered discounts, a delivery rule, a payment rule, there is usually a public app that already does it, and installing it is faster than building a custom one.

If the logic is genuinely bespoke, the honest options are two: publish it as a public app, which means review and a listing, or move to Plus. There is no third option, and no configuration flag. Teams that discover this late are the ones that scoped the build before checking the plan rule.

The workaround teams actually use

UI extensions on the information, shipping, and payment steps are Plus-only. The Checkout Branding API is Plus-only. What every plan gets is the checkout editor for logo, colours, and fonts, plus apps that customise the thank-you and order status pages.

Keep reading: Checkout Functions vs UI extensions: which one owns the discount, Checkout branding API: the tokens worth setting first.

What else is Plus-only

Four things stay locked on every plan: the checkout page sequence, arbitrary JavaScript, card data access, and the order-submission step. Those are architectural limits, not pricing, and no plan tier opens them. Know the list before scoping, because a build that needs one of those four is a build that cannot happen on Shopify checkout at all.

Frequently asked questions

Do Shopify Functions work on the Basic plan?

Yes, when they ship inside a public App Store app. The same Function inside a custom app needs Shopify Plus. Distribution decides the plan, not the code.

What replaced Shopify Scripts?

Shopify Functions. Scripts were deprecated on June 30, 2026 and switched off. Discount, delivery, and payment logic now runs on Functions, and checkout.liquid is unsupported for the information, shipping, and payment steps.

What is Plus-only in checkout customisation?

Checkout UI extensions on the information, shipping, and payment steps, and the Checkout Branding API. The checkout editor for logo, colours, and fonts is available on every plan from Basic up.

Can I rearrange the checkout steps on any plan?

No. The checkout page sequence is fixed on every plan, along with arbitrary JavaScript, card data access, and the order-submission step. Those are architectural limits, not pricing tiers.