Checkout Links for Shopify Functions

Shopify Functions are the official Shopify Scripts replacement. They're powerful — server-side cart logic, no checkout.liquid hacks, full extensibility — and they require Rust or JavaScript development, deployment via the Shopify CLI, and ongoing maintenance.

For merchants who don't have an in-house developer, that's a wall. Checkout Links bundles the most useful Functions out of the box, so you can use the capability without writing the code.

What Functions does Checkout Links use?

Three categories, all bundled, all toggle-on:

1. Cart-line discount Functions

The headline feature. When a Checkout Link opens, the bundled cart-line discount Function applies the configured discount automatically — percentage, fixed amount, BOGO, free gift, threshold-based.

  • Customer experience: No discount code field shown. The discount is baked into the cart from the moment the link opens.
  • Use cases: Welcome offers, abandoned cart recovery, influencer per-creator codes, VIP drops.
  • Replaces: "Apply discount X if cart contains Y" style Scripts.

2. Delivery discount Functions

Free shipping, capped shipping, or delivery-rule logic — applied via Function when the link opens.

  • Customer experience: Shipping line shows the discounted (or free) rate automatically.
  • Use cases: "Free shipping over $50" baked into a link, "Express shipping on us" promotional links.
  • Replaces: Shipping-rule Scripts.

3. Link usage validation Functions

Enforces the link-level constraints (one-per-customer, expiry, passcode) at checkout — preventing replay or sharing abuse.

  • Customer experience: Constraints validated before the order completes. If the link is expired, used up, or passcode-locked, the customer sees a clear message at checkout.
  • Use cases: VIP drops, limited-quantity giveaways, time-bounded campaigns.
  • Replaces: Manual reconciliation of leaked discount codes.

When you'd build your own Functions instead

Checkout Links covers the high-volume "apply a discount or shipping rule via a URL" cases. If your needs are different — bespoke order validation, custom payment-method logic, multi-step cart transforms beyond what link-encoded params can express — you'll still want to write your own Functions.

You can run Checkout Links alongside your own Functions. They coexist on the same checkout extensibility platform.

The Scripts migration angle

If you're a Shopify Plus store that was running discount Scripts, your migration path looks like:

  • Most discount Scripts → Checkout Links. "Apply discount when X" style Scripts that drove email or campaign flows are the bread-and-butter Checkout Links use case. No code migration; just rebuild the offer as a link.
  • Complex cart transforms → custom Functions. If your Scripts were doing bespoke logic (custom payment gating, complex shipping calculations, multi-step validation), you'll need to write Functions yourself or hire a developer.
  • Shipping Scripts → custom Functions. Most shipping Scripts don't map cleanly to Checkout Links — your delivery logic is per-cart, not per-link. Hire a developer or use a dedicated shipping app.

For the migration analysis, see our Scripts post-lockout guide (search by "Scripts").

Set it up

Install Checkout Links — 7-day free trial. The Functions are pre-deployed; you just configure your first link.

Related: Shopify Buy Button alternative, Shopify cart permalinks alternative, Shopify discount codes playbook.