How to Add Upsell Offers on Shopify Checkout Page

2026-09-07 · upselling

Adding upsell offers directly on the Shopify checkout page is one of the highest-converting sales tactics available to e-commerce merchants. Unlike post-purchase pages, the checkout captures customers at the peak of buying intent. This guide explains exactly how to implement upsells on your Shopify checkout, covering built-in tools, third-party apps, and custom code, so you can increase average order value (AOV) without slowing down your store.

Why Upsells on the Checkout Page Matter

The checkout page is the final hurdle before a sale. Customers have already entered their payment details and committed to purchasing. At this moment, their resistance to additional spending is at its lowest. A well-placed upsell—such as a "Complete your kit" bundle or a premium version of the product in their cart—capitalizes on this momentum.

The financial impact is substantial. Increasing your AOV by even 10% directly boosts revenue without requiring additional traffic or ad spend. Checkout upsells also improve customer experience when done right; suggesting a necessary accessory (like a charger for a new phone) feels helpful, not pushy. Crucially, these offers appear before the final "Pay now" click, meaning the customer checks out once with the upsell included, unlike post-purchase upsells which require a second transaction.

Understanding Shopify's Checkout Limitations

Before choosing a method, you must know what your plan allows. The standard Shopify checkout (on Basic, Shopify, and Advanced plans) is heavily locked down for security and PCI compliance. Merchants on these plans cannot directly edit the checkout's HTML, JavaScript, or CSS to insert custom upsell blocks.

Here is a quick breakdown of your options by plan:

Plan Built-in Checkout Upsells? Custom Code Access? Recommended Method
Basic / Shopify No No Third-party app (Method 2)
Advanced No No Third-party app (Method 2)
Shopify Plus Yes (Shopify Functions) Yes (Checkout Extensibility) Built-in features (Method 1) or Custom App

If you are on a non-Plus plan, attempting to paste custom code into the checkout will fail. You must use an app that leverages Shopify's approved "Checkout Extensibility" APIs, which allow apps to add offers without modifying the core checkout code. For Plus merchants, the process is more flexible but requires using Shopify's newer app architecture (not the legacy script editors, which are being deprecated).

Method 1: Use Shopify's Built-in Upsell Features (Shopify Plus)

If you are on Shopify Plus, you have access to Shopify Functions, which allow you to create native checkout upsells without a third-party app. This is the most stable and fastest method because the code runs on Shopify's infrastructure.

Step-by-step for Shopify Plus merchants:

  1. Install the "Checkout Blocks" or "Shopify Scripts" alternative: Go to the Shopify App Store and search for "Shopify Functions" apps like "Upsell Bundles" or "Checkout Extensions" from Shopify. These are official apps that provide a user-friendly interface to write and deploy Functions.
  2. Create a "Product Offer" Function: In the chosen app, create a new function. Choose the trigger: "Before checkout" or "On cart line items."
  3. Set the rules: Define the logic. For example, IF the cart contains a specific t-shirt THEN offer a discounted matching hat at 20% off. You set the discount value and the product variant.
  4. Deploy the function: The app will compile your code and push it to Shopify's edge network. You can then test it by creating a draft order or using a test checkout link.

The key advantage is that this upsell appears as a native checkout element, fully styled to match your theme, and it is immune to page-speed slowdowns caused by third-party scripts.

Method 2: Free and Low-Cost Upsell Apps

For the vast majority of merchants on standard plans, a third-party app is the only viable route. These apps work by injecting a customized offer block into the checkout via Shopify's approved extensibility points.

Top app categories to consider:

How to set up a typical app (using AfterSell as an example workflow):

  1. Install and connect: From the Shopify App Store, install your chosen app. It will automatically integrate with your checkout process.
  2. Create a new Offer: In the app dashboard, click "Create Offer" and select "Checkout Page" as the placement.
  3. Set targeting rules: Choose "Cart contains" and specify the product SKU or collection. Then, select the product you want to upsell.
  4. Configure the offer style: Most apps let you display a checkbox ("Add protection plan for $2.99?") or a product thumbnail with an "Add" button.
  5. Set the discount: Many apps allow you to offer a dynamic discount (e.g., "Add this item for 15% off") to increase conversion.
  6. Publish and test: Place a test order to ensure the offer appears correctly and the price updates in the order summary before the final payment.

Important: Always test the app's impact on your site speed. A heavy app can slow down the checkout, hurting conversions more than the upsell helps. Check current pricing on the App Store listing before committing, as most offer a free trial or a limited free plan.

Method 3: Manual Upsells with Custom Code (Advanced)

This method is only for Shopify Plus merchants using Checkout Extensibility (the new system). You will build a custom app using Shopify CLI. This is not for beginners; it requires knowledge of JavaScript, React, and Shopify's GraphQL API.

The core concept: You create a UI extension that renders inside the checkout. The extension uses a "product offer" function to determine if the offer should show.

High-level steps:

  1. Set up your development environment: Install Node.js and the Shopify CLI.
  2. Create a new app: Run shopify app init and select "Checkout UI Extension."
  3. Write the extension code: Use React components to fetch the product data, render the offer, and handle the "Add to cart" action via the useApplyCartChange hook.
  4. Deploy and register: Deploy the extension to your store's theme app extension and publish it.

This gives you 100% control over the design and logic. However, the maintenance burden is yours. You must update your app whenever Shopify changes its API. Unless you have a dedicated developer, a paid app (Method 2) is almost always more cost-effective.

Best Practices for Checkout Upsells

To avoid annoying customers and tanking your conversion rate, follow these rules:

Measuring the Success of Your Upsell Strategy

You cannot improve what you do not measure. Track these metrics in your Shopify admin or app dashboard:

Simple tracking table example:

Metric Baseline (Before Upsell) After 30 Days Change
Average Order Value $45.00 $51.30 +14%
Checkout Conversion 3.2% 3.1% -0.1%
Upsell Acceptance N/A 7.5% N/A

Use your app's built-in analytics to see which specific product offers are converting. Then, run A/B tests on the offer text (e.g., "Complete your look" vs. "Frequently bought together") to refine your messaging.

Conclusion

Adding upsells to your Shopify checkout is a powerful way to boost revenue, but the correct method depends entirely on your plan. Shopify Plus merchants can leverage native Functions, while everyone else should rely on reputable checkout extensibility apps. Start with one simple, relevant offer, monitor your abandonment rate closely, and scale only what works.

FAQ

Is it possible to add upsells to the checkout on a basic Shopify plan? Yes, but not with custom code. You must use a third-party app from the Shopify App Store that utilizes Checkout Extensibility APIs. These apps are safe and compliant with Shopify's terms.

Will adding an upsell slow down my checkout? Potentially. Poorly coded apps can add heavy JavaScript. Choose apps known for performance, and use Shopify's built-in speed report to monitor your checkout page load time after installation.

What is the difference between a checkout upsell and a post-purchase upsell? A checkout upsell happens before the customer clicks "Pay now," so the upsell item is included in the single transaction. A post-purchase upsell happens after payment, requiring a separate charge and a second confirmation screen.