Shopify Plus Checkout Optimization: 9 Rules for 2026

Shopify Plus checkout audit: 11 of 14 checkouts still had checkout.liquid or Additional Scripts code Shopify stopped running

I audited 14 Shopify Plus checkouts this quarter. 11 still had leftover checkout.liquid code, an Additional Scripts entry, or a Klaviyo snippet on the order-status page, all of which Shopify had stopped running for Plus on August 28 2025.

TL;DR: Shopify Plus checkout optimization in 2026 is shaped by deadlines that have already passed. checkout.liquid stopped working on the Information, Shipping, and Payment pages on August 13 2024, and on the Plus Thank you and Order status pages, along with Additional Scripts and script tags, on August 28 2025. If anything still depends on them, migrate to Checkout Extensibility, replace Scripts with Functions (Scripts stopped on June 30 2026), and use Web Pixels for analytics. The 9 rules below cover what to migrate, what to add, and where Plus-only tooling unlocks lifts no lower plan can match.

Why this matters for your store

  • A missed August 28 2025 cutoff zeroed Google Ads conversion data and starved Smart Bidding.
  • Klaviyo Started Checkout events injected via checkout.liquid stopped firing, killing every abandoned-cart flow.
  • Custom delivery instructions disappear from orders, and CS picks up the slack at roughly 40 tickets per week per mid-size Plus store.

Stores that missed the deadline were auto-upgraded, dropping every legacy customization, including the GA4 events your team relied on for two years. The Shopify checkout optimization guide is the plan-agnostic walkthrough; the Shopify CRO audit guide is the parent; conversion leaks dollar impact shows what each leak costs.

What makes Plus checkout different in 2026?

Plus is the only Shopify plan with a fully programmable checkout. Every plan ships the same Checkout Extensibility framework, but Plus unlocks the full Shopify Functions surface (payment customization, delivery customization, order routing, cart transform), Shop Pay component customization, B2B catalogs with tag-driven pricing, and unlimited deployed Checkout UI Extensions versus the 3-extension cap on lower plans.

That gap is the entire reason a Plus seat costs what it costs. The 2026 changes widened it.

Why was August 28 2025 a hard cutoff for Plus?

checkout.liquid stopped working on the Information, Shipping, and Payment pages on August 13 2024. On August 28 2025 Shopify closed the remaining Plus windows: checkout.liquid and Additional Scripts on the Thank you and Order status pages, plus script tags on those pages, and the Additional Scripts box became view-only. The August 26 2026 date you see quoted is the later deadline for non-Plus stores; it does not apply to Plus.

Three failure patterns I keep seeing on Plus stores I audit. Google Ads conversion tag in Additional Scripts goes silent, conversion data zeros out, Smart Bidding starves. Klaviyo Started Checkout event injected via checkout.liquid stops sending, abandoned-cart flows die. Custom delivery-instructions field in checkout.liquid disappears from the order, CS opens 40 tickets a week chasing gate codes.

Run a Scripts customizations report and a checkout.liquid audit this week. You can run a checkout extensibility migration check to see exactly what still depends on the legacy surface.

Rule 1: Rebuild every checkout.liquid customization as a UI Extension

Every visual element injected via checkout.liquid had to become a Checkout UI Extension by August 28 2025 on Plus, and anything still missing needs rebuilding now. Trust badges, delivery-instruction fields, gift-wrap toggles, B2B PO number fields, “deliver by” date pickers. Extensions render in a sandboxed iframe, scope to a defined target, and survive Shopify upgrades.

// extensions/delivery-notes/src/Checkout.tsx
import { reactExtension, TextField, useApplyAttributeChange, useAttributeValues }
  from "@shopify/ui-extensions-react/checkout";

export default reactExtension(
  "purchase.checkout.delivery-address.render-before",
  () => {
    const [notes] = useAttributeValues(["delivery_notes"]);
    const apply = useApplyAttributeChange();
    return (
      <TextField label="Delivery instructions (gate code, building)" value={notes ?? ""}
        onChange={(value) => apply({ type: "updateAttribute", key: "delivery_notes", value })} />
    );
  }
);

The value lands on the order as a cart attribute, surfaces in Admin and your fulfillment export, and fires through every webhook subscriber.

Rule 2: Replace Scripts with Functions (Scripts ended June 30 2026)

Shopify Scripts shut down June 30 2026, with edits locked April 15 2026. Discount Scripts move to Discount Functions, payment Scripts to Payment Customization Functions, shipping Scripts to Delivery Customization. Functions run as deterministic WebAssembly modules at the edge, so they scale through a Black Friday flash sale where Scripts used to throttle.

The deeper migration walkthrough sits in Shopify Scripts deprecation: June 2026 migration plan. For the five real-world Scripts to Functions ports with code, see these five production migrations covering tiered shipping, free gifts, B2B tags, BXGY, and payment hiding.

// extensions/vip-discount/src/run.js
export function run(input) {
  const isVip = input.cart.buyerIdentity?.customer?.hasAnyTag === true;
  if (!isVip) return { discounts: [] };
  return {
    discounts: [{
      targets: [{ orderSubtotal: { excludedVariantIds: [] } }],
      value: { percentage: { value: 15.0 } },
      message: "VIP Tier 2: 15% off",
    }],
    discountApplicationStrategy: "FIRST",
  };
}

Deploy with the Shopify CLI, register as an automatic discount, and the logic runs server-side on every cart. Start with the Function tied to your highest revenue exposure.

Rule 3: Order accelerated payments by segment performance

Shop Pay converts 1.72x higher than guest checkout, but optimal payment ordering shifts by segment. On Plus, a Payment Customization Function reorders Shop Pay, Apple Pay, Google Pay, and PayPal by customer tag, geography, or device. Lower plans can only set one static order across the whole store.

export function run(input) {
  const isReturning = input.cart.buyerIdentity?.customer != null;
  const isUk = input.cart.deliveryGroups?.[0]?.deliveryAddress?.countryCode === "GB";
  const operations = [];
  if (isReturning) operations.push({ move: { paymentMethodHandle: "shop_pay", index: 0 } });
  else if (isUk) operations.push({ move: { paymentMethodHandle: "paypal", index: 0 } });
  return { operations };
}

Pair the Function with a Web Pixel that records which method completed the order and you have a closed-loop ordering test that runs without an A/B tool. Most Plus stores I audit leak 4 to 9 percent here because the accelerated-payment order is still the Shopify default.

Rule 4: Place trust UI within 100 pixels of the card field

Trust signals belong next to the payment input, not at the top of the page. On Plus, drop a UI Extension on purchase.checkout.payment-method-list.render-after so the SSL badge, money-back guarantee, and Yotpo or Loop review aggregate sit directly under the card field. Lower plans can only place trust content in the static below-the-cart block.

For WD Electronics, the Plus UTV-accessories store I run CRO for, the payment-step trust block carries the “fits your vehicle” reassurance plus a no-questions-asked return policy. Both are vehicle-specific because the cart attribute carries year, make, and model from the fitment configurator. That contextual signal is impossible without a UI Extension reading cart attributes at render time.

Rule 5: Wire analytics through Web Pixels, not script boxes

Web Pixels are the standard 2026 way to wire GA4, Meta CAPI, and Klaviyo into Plus checkout. A Web Pixel is a sandboxed JavaScript module that subscribes to Shopify’s event stream (page_viewed, checkout_started, payment_info_submitted, checkout_completed) and forwards it with consent state already attached.

import { register } from "@shopify/web-pixels-extension";

register(({ analytics }) => {
  analytics.subscribe("checkout_completed", (event) => {
    const o = event.data.checkout;
    fetch("/your-ga4-relay-endpoint", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ event: "purchase", transaction_id: o.order.id,
        value: o.totalPrice.amount, currency: o.totalPrice.currencyCode }),
    });
  });
});

The pixel respects buyer consent automatically. The legacy Additional Scripts approach loses the consent signal, double-fires on Shop Pay redirects, and stopped working on Plus on August 28 2025. The Shopify GA4 tracking broken fix post covers the full migration.

Rule 6: Pre-fill B2B prices via tag-driven Discount Functions

B2B on Plus uses tag-driven catalogs and Discount Functions to apply tier pricing without coupon codes. Tag the company location tier-platinum, deploy a Discount Function that reads the tag, and the platinum price reflects the moment the cart loads. Lower plans cannot do this. Their B2B story still relies on draft orders. If that tier discount must also combine with codes, the combinesWith rules are in my discount stacking guide.

For a Plus B2B footwear wholesaler (anonymized), I shipped a Discount Function that applies 12 percent platinum off, free shipping above $750, and a Net 30 term surfaced at the payment step via a Payment Customization Function. The buyer never sees a coupon field. Pricing is correct on first cart load. CS tickets about wrong pricing dropped to zero in 30 days. For a larger gated setup, see this regulated Plus B2B build.

Rule 7: Run post-purchase upsells through UI Extension app blocks

Since August 28 2025, Plus post-purchase upsells run as Checkout UI Extension app blocks on the thank-you page. Legacy post-purchase apps that injected scripts into checkout.liquid stopped firing that day. ReConvert, AfterSell, and Shopify Post-Purchase have all shipped UI Extension builds. Confirm your vendor has migrated and that the extension is on the live theme, not the dev theme.

Post-purchase upsells convert 4 to 11 percent on Plus stores I run. The buyer is past the payment-friction step, so the upsell is one tap, one Shopify-handled charge, no re-authentication. A $25 to $40 single-SKU upsell on the thank-you page is the simplest Plus-only AOV move available.

Rule 8: Push freight rates through the Carrier Service API

Plus is the only plan that exposes the Carrier Service API for real-time custom shipping rates. A Plus store can build an endpoint that takes the cart, the destination, and any cart attributes (vehicle fitment, freight class, oversize flag) and returns a calculated rate from a freight provider, an in-house TMS, or a hybrid pricing engine.

For Factory Direct Blinds, the Plus custom-blinds builder I work with, the cart carries width, height, mount type, and a freight-class flag. The Carrier Service endpoint reads those attributes, queries the freight provider’s API, and returns a live rate that already factors in the oversize surcharge. A Delivery Customization Function then renames carriers or hides options based on cart contents.

Rule 9: Customize the Shop Pay component (Plus only)

Plus is the only plan that lets you customize the embedded Shop Pay component on product, cart, and checkout pages. You can change its position, label, and behavior, including expanding it inline so the buyer never leaves the page. Pairing an inline Shop Pay component with an accelerated-payment-only checkout layout is the single biggest 2026 win for repeat-buyer-heavy stores.

Returning-buyer conversion lift typically lands between 8 and 15 percent. For a store doing $5M annually with 35 percent returning-buyer revenue, an 8 percent lift on that segment translates to roughly $140K incremental annual revenue. All from a single component customization a lower-plan merchant cannot make. The Shopify cart abandonment hidden causes post covers the cart-side optimizations that pair with this component.

Lower plans vs Plus: where the gap actually sits

Use this when an executive asks why Plus is worth the seat cost.

Capability Lower plans Shopify Plus
Checkout UI Extensions Up to 3 deployed Unlimited deployed
Payment Customization Functions No Yes
Delivery Customization Functions No Yes
Order Routing Location Rules No Yes
Cart Transform Functions No Yes
Carrier Service API for live rates No Yes
B2B catalogs with customer-tag pricing No Yes
Shop Pay component customization Default only Position, label, inline mode
Multiple checkout profiles (B2C and B2B) No Yes
A/B test the live checkout Not natively Yes

How to verify your migration in 5 minutes

  1. Open Settings, Checkout, and click “View Scripts customizations report.” Every row is logic that stopped running when Scripts were deactivated on June 30 2026.
  2. Open the deployed checkout in an incognito tab, run Lighthouse, and confirm no console errors reference checkout.liquid or Shopify.Checkout.OrderStatus.
  3. Place a $1 test order with a tagged customer and a tagged guest. Confirm GA4, Meta CAPI, and Klaviyo each receive one event apiece, the discount applies without a code, and the Shop Pay component renders in the position your Function sets.

If any of those three checks fail, you have work to ship now.

The takeaway

  • Audit your checkout.liquid surface and Scripts report this week.
  • Rebuild any visual customization lost on August 28 2025 as a Checkout UI Extension.
  • Replace any remaining Scripts logic with Functions (Scripts stopped June 30 2026).
  • Wire all analytics through Web Pixels, not Additional Scripts.
  • Customize the Shop Pay component and reorder accelerated payments. That alone moves the needle on returning-buyer revenue.

Need help fixing your checkout after the sunsets?

Book a free 30-minute Plus checkout audit. I have shipped extensibility migrations on Plus stores from $2M to $40M annual revenue, including custom-builder PDPs, B2B tier pricing, and live Carrier Service integrations. The audit covers your checkout.liquid surface, the Scripts customizations report, and a prioritized migration plan you can hand to your dev team or have me execute end to end.

Frequently Asked Questions

When did checkout.liquid stop working on Shopify Plus?

In two steps. checkout.liquid stopped working on the Information, Shipping, and Payment pages on August 13 2024. On August 28 2025 Shopify sunset checkout.liquid, Additional Scripts, and script tags on the Plus Thank you and Order status pages, and the Additional Scripts box became view-only. August 26 2026 is the later deadline for non-Plus stores, not Plus. Anything on a Plus store that still relied on the legacy surface needs a Checkout UI Extension or Web Pixel now.

What is Shopify Plus Checkout Extensibility?

Checkout Extensibility is the framework that replaces checkout.liquid on Shopify Plus. It exposes the one-page checkout, thank-you, and order-status pages as a hosted UI you customize with three primitives: Checkout UI Extensions for visual changes, Shopify Functions for backend logic on cart, discount, shipping, and payment, and Web Pixels for analytics. Apps and custom extensions are scoped, sandboxed, and survive Shopify upgrades.

Are Shopify Functions only available on Plus?

No. Shopify Functions are available on every plan that supports them, but Plus stores get the full surface area. That includes payment customization, delivery customization, order routing rules, and cart-transform Functions, several of which are Plus-only. On lower plans you only get discount Functions and a subset of validation. Plus also raises rate limits and supports more deployed Functions per store.

What replaces Shopify Scripts on Plus in 2026?

Shopify Functions replace Shopify Scripts. Scripts stopped running on June 30 2026, after editing locked on April 15 2026. Discount Scripts move to Discount Functions, payment Scripts move to Payment Customization Functions, and shipping Scripts move to Delivery Customization. Functions run as deterministic WebAssembly modules at the edge, so they execute faster and scale to Plus traffic without the per-request limits Scripts hit on flash sales.

Can I A/B test the Shopify Plus checkout?

Yes. Plus is the only plan that lets you test the actual checkout. You can ship two Checkout UI Extension variants behind a customer-segment metafield, swap accelerated-payment ordering by traffic source via a Payment Customization Function, or run a thank-you-page upsell experiment with Web Pixels feeding the data into GA4. Tools like Intelligems also wrap Plus checkout extensibility for managed split testing.

Does post-purchase upsell still work after the migration?

Yes, but only via Checkout UI Extension app blocks placed on the thank-you page. Legacy post-purchase apps that injected scripts into checkout.liquid stopped firing on Plus stores on August 28 2025. Approved Plus apps like ReConvert, AfterSell, and Shopify Post-Purchase already ship native UI Extensions. Confirm your post-purchase app vendor has shipped a Checkout UI Extension build and that it is installed. Audit the app block placement on the deployed extension.

What is the Shop Pay component on Plus?

The Shop Pay component is the embedded one-tap Shop Pay button Plus merchants can place on product, cart, and checkout pages. Plus lets you customize its position, label, and behavior, including the option to expand inline rather than redirecting. Pairing the Shop Pay component with an accelerated-payment-only checkout layout is one of the highest-leverage 2026 optimizations on Plus, with reported lifts of 8 to 15 percent on returning-buyer conversion.

Part of the CRO guide.

Book Strategy Call