For the complete documentation index, see llms.txt. This page is also available as Markdown.

Pre-Order

Change the Add to Cart button label to "Pre-Order" (or any custom text) on specific products.

Pre-Order changes the Add to Cart button label on a product from "Add to Cart" to "Pre-Order" (or any custom text you want). Useful when you're launching something, taking reservations, or just want to telegraph that a product isn't an everyday in-stock buy.

Two metafields drive it:

Metafield
Type
What it does

custom.is_preorder

Boolean (true/false)

When true, the ATC button label is replaced with your pre-order text

custom.preorder_text

Single line text

The text that replaces "Add to Cart". Defaults to "Pre-Order" when blank

That's the whole feature — label swap. The button still adds the variant to cart like normal.

Setting up the metafields

Do this once per metafield, then any product can use them.

custom.is_preorder

  1. Shopify admin → SettingsCustom dataProducts

  2. Add definition

  3. Fill in:

    • Name: Is Pre-Order

    • Namespace and key: custom.is_preorder

    • Type: True or false (Boolean)

  4. Save

custom.preorder_text

  1. Same path: SettingsCustom dataProductsAdd definition

  2. Fill in:

    • Name: Pre-Order Text

    • Namespace and key: custom.preorder_text

    • Type: Single line text

  3. Save

Enabling pre-order on a product

  1. Open the product in admin

  2. Scroll to Metafields

  3. Is Pre-Order → toggle to true

  4. Pre-Order Text → fill in your label (optional — leave blank to use the default "Pre-Order")

  5. Save

Open the PDP — the ATC button now reads your pre-order text instead of "Add to Cart".

What "Pre-Order Text" should say

A few options that work, in order of clarity:

  • Pre-Order — the default, generic and safe

  • Pre-Order — Ships March 15 — sets a delivery expectation

  • Reserve Now — softer than "Pre-Order"

  • Coming Soon — Order Now — for products before launch date

Keep it short. The button is usually narrow on mobile and long labels wrap awkwardly.

Where it appears

Both metafields drive the same label change across product surfaces:

  • PDP — main Add to Cart button on the product page

  • Quick-add overlay — the "+" quick-add button on product cards in feed sections

The cart drawer, mini-cart, and checkout don't need anything special — once the variant is in the cart, Shopify treats it like any other line item.

Turning pre-order off

Set custom.is_preorder to false (or clear it). The button reverts to standard "Add to Cart" / "Sold Out" behavior on the next page load.

What if the label isn't changing?

If you've set the metafields but the button still shows "Add to Cart":

  • Check that custom.is_preorder is set to true, not the string "true" (Boolean metafield, not text)

  • Check the namespace and key are exactly custom.is_preorder

  • Make sure you saved the product after toggling

  • Hard refresh the storefront (Cmd + Shift + R)

Last updated