Skip to main content

Pre-checkout page

Updated today

Toggle this on to show a landing page before customers reach Shopify checkout. Instead of going straight to checkout, customers land on a branded page where they can browse products, adjust their cart, and see promotions — all before committing to purchase.

Why Use Pre-Checkout Pages?

Sending customers directly to checkout works great for simple offers, but pre-checkout pages unlock more powerful scenarios:

  • Upsell products — Show additional products the customer can add to their cart

  • Display promotions — Show tiered promotions and how close the customer is to the next reward

  • Give customers control — Let them adjust quantities, pick variants, or remove items

  • Build excitement — Create a more engaging experience than a bare checkout page

  • Bundle selling — Display product bundles with savings

Cart

The pre-checkout page always shows the cart with the products you've added in the Cart card. The cart updates in real time as customers interact with the page:

  • Line items — Each product with its image, title, variant, and price

  • Quantity controls — Increase or decrease quantities

  • Promotions applied — Active discounts, free gifts, and free shipping

  • Order summary — Subtotal, shipping, and total

  • Checkout button — Proceeds to Shopify checkout

Promotion Display

If your link has promotions, they're displayed live in the cart:

  • Applied discounts show the savings amount

  • Free gifts appear as $0.00 line items

  • Free shipping is indicated in the order summary

  • Tiered promotions update live — as the cart value changes, customers see which tier they've reached and what they need to unlock the next one

Products

Product Grid

You can add a product grid to let customers browse and add more items to their cart. Choose from:

  • Specific products — Hand-pick which products to display. You can reorder them by dragging, and edit each one individually.

  • Collection — Populate the grid from a Shopify collection. The page always fetches the live collection, so the grid is automatically updated as you add or remove products from the collection. Make sure all products in the collection are available on the Checkout Links sales channel.

Each product in the grid shows its image, title, price (with compare-at price if applicable), and an Add button. Products already in the cart show quantity controls instead.

Ungroup Variants

Toggle Ungroup variants to display each variant as its own item in the grid (e.g., show "Red T-Shirt" and "Blue T-Shirt" separately instead of a single "T-Shirt" with a variant picker).

Variant Selection

When a product has multiple variants and ungroup is off, customers can select their preferred option with a variant picker before adding to cart.

Product Quick View

Customers can tap on any product to open a quick view panel with the full image gallery, product description, all variant options, and pricing details.

Limits

Toggle Limits on to control how many items customers can add on the pre-checkout page.

Cart Limits

  • Cart maximum — The maximum total number of items allowed in the cart

  • Cart minimum — The minimum total number of items required before checkout is enabled

Line Item Limits

  • Line item maximum — The maximum quantity of any single product

  • Line item minimum — The minimum quantity of any single product

When a limit is reached, the relevant controls are automatically disabled (quantity picker, Add button, or checkout button). Free gifts are excluded from all limit calculations.

Branding & Customization

Custom Logo

By default, the pre-checkout page shows your store's brand logo (set in Shopify admin under Settings > Brand). If no brand logo is set, your store name is displayed as text instead. Toggle Custom logo on to upload a different logo specifically for the pre-checkout page.

Header Image

Toggle on to add a header image to the top of the page.

Callout Box

Toggle on to display a callout message — useful for highlighting the offer, a limited-time deal, or any important info.

CTA Button

Customize the checkout button:

  • CTA button text — Change the button label (default: "Go to checkout")

  • CTA button color — Set the background color (hex)

  • CTA text color — Set the text color (hex)

Skip Button

Toggle Show skip button to give customers the option to skip the offer:

  • Skip button URL — Where the skip button takes the customer (default: your storefront)

  • Skip button text — The label (default: "Skip offer and continue")

Require Consent

Toggle Require consent to add a checkbox that customers must check before proceeding to checkout. This is perfect for influencer gifting — require influencers to agree to content usage rights before claiming their gift. Also useful for:

  • Terms and conditions acceptance

  • Age verification acknowledgments

The terms text is displayed in a slide-up panel when customers tap on it.

Kaching Bundles

If you have the Kaching Bundles app installed, expand this section to configure bundle display on the pre-checkout page. Customers can see bundled products with savings displayed and add the entire bundle with one click.

Note: You cannot use a product/collection grid and Kaching Bundles at the same time — it's one or the other. The cart is also not shown when using Kaching Bundles.

See Kaching Bundles for details.

Multi-Currency Support

Pre-checkout pages automatically display prices in the customer's local currency using Shopify Markets.

The Checkout

When customers click checkout, they're sent to Shopify's native checkout with:

  • All selected products and quantities

  • All promotions automatically applied

  • Customer information pre-filled (if provided via dynamic link parameters)

  • Attribution data attached for tracking

From there, Shopify handles payment processing securely.

Custom CSS

For advanced customization beyond the built-in options, you can inject custom CSS using the Scripts feature. Add a script that creates a style element:

<script> const style = document.createElement('style'); style.textContent = `   /* Make the checkout button fully rounded */   .pc-checkout-btn {     border-radius: 999px;     font-size: 18px;   }   /* Make the store name larger and uppercase */   .pc-header__store-name {     font-size: 24px;     text-transform: uppercase;   }   /* Bold product titles in the cart */   .pc-item__title {     font-weight: bold;   }   /* Change the discount badge color */   .pc-discount-badge {     background: #e11d48;   } `; document.head.appendChild(style); </script>

This is intended for developers or technically experienced users

The pre-checkout page uses a consistent pc- prefix on all class names. Here are the main classes available for styling overrides:

Page & Layout

Class

Description

.pc-modal

Main modal backdrop

.pc-modal__container

Modal dialog container

.pc-modal__content

Scrollable content area

Header

Class

Description

.pc-header

Header wrapper

.pc-header__logo

Logo container

.pc-header__store-name

Store name text

.pc-header__image

Header banner image

.pc-header__description

Callout box

Cart Items

Class

Description

.pc-cart

Cart wrapper

.pc-cart__items

Items list

.pc-item

Individual product row

.pc-item__image

Product image

.pc-item__title

Product title

.pc-item__variant

Variant text

.pc-item__price

Price display

Product Grid

Class

Description

.pc-upsells

Product grid section

.pc-upsells__list

Product list

Pricing & Discounts

Class

Description

.pc-price--original

Strikethrough original price

.pc-price--current

Current/sale price

.pc-price--free

Free price indicator

.pc-discount-badge

Discount percentage badge

Quantity Controls

Class

Description

.pc-qty

Quantity control wrapper

.pc-qty__btn

Plus/minus buttons

.pc-qty__input

Quantity input field

Order Summary

Class

Description

.pc-summary

Summary box

.pc-summary__row

Summary row (subtotal, shipping)

.pc-summary__total-row

Total row

Checkout & Actions

Class

Description

.pc-checkout-btn

Main checkout button

.pc-skip-btn

Skip/continue shopping link

Consent

Class

Description

.pc-consent

Consent checkbox wrapper

.pc-consent__label

Consent label

Quick View

Class

Description

.pc-quickview

Quick view modal

.pc-quickview__gallery

Image gallery

.pc-quickview__description

Product description

Variant Picker

Class

Description

.pc-variant-picker

Variant picker bottom sheet

.pc-variant-picker__option

Variant option button

Did this answer your question?