Skip to main content

Setting up the Checkout Upsell

Recommend products at checkout with an optional progress bar - drive AOV with cart-value or item-count goals, smart product selection, timers, and display rules.

The Checkout Upsell recommends real products from your catalog inside the Shopify checkout, optionally with a progress/goals bar that nudges shoppers to spend more (e.g. "Spend $20 more, get Free Shipping!"). Use it to drive average order value, push specific products, or move shoppers toward a free-shipping threshold.

💡 This is PDQ's product-recommendation upsell. For a single digital add-on (shipping protection, priority processing, a warranty), use the Digital Upsell instead - you can run both at the same time.

The extension has five tabs: Settings, Goals, Product Selection, Timer, and Display Conditions.

Choosing your setup at a glance

Decision

Options

How to choose

Threshold type

Cart Value / Item Count / No Threshold

Cart Value for spend & free-shipping goals (most common); Item Count for "add N, get X"; No Threshold for pure recommendations with no bar.

Product source

Automatic / Manual / Smart

Manual for full control or to apply a discount; Smart to auto-match by tag/collection (hands-off but on-brand); Automatic only when you're fine with Shopify picking (no discounts).

Multiple-goal display

Sequential / Inline / Single Bar

Single Bar for one clean spend goal; Sequential to reveal goals one at a time; Inline to show all tiers at once.

Prioritize items by

Profitability / High Price / Low Price / Selling Plan / Manual

Profitability to protect margin; High Price to lift AOV; Low Price to help shoppers cross a free-shipping threshold.

Product display

Carousel / List / Compact / Don't display

Carousel to show several without clutter; List when detail matters; Compact for tight space; Don't display when the bar alone converts best.

Placement

Standalone / Inside Shipping Method

Standalone for a general "you might also like"; Inside Shipping Method to tie the offer to a specific rate (e.g. Express).

Where to find it

Go to Extensions in the left sidebar. Click the purple Add Extension button (top-right) and select Upsell. On any existing extension card, the three-dot menu (⋯) gives you Edit, Copy Token, Duplicate, and Delete.

Step 1: General settings

  • Internal Name / Description — your reference only; not shown to shoppers.

  • Component Placement — Standalone (its own block) or Inside Shipping Method (embedded in a specific shipping option; define which in the Online Store Editor). Choose Standalone for a general "you might also like"; choose Inside Shipping Method when the offer should sit against a specific rate (e.g. tied to Express).

  • Show 'Compare At Price' — displays the product's compare-at (strikethrough) price next to the current price.

  • Apply A Discount To The Recommended Products — discounts the upsell items. ⚠️ Enabling this overrides Shopify's own product discounts, and it isn't available with Automatic product selection (see Step 3).

Minimum Threshold Type — when to show this upsell:

  • Cart Value — progress based on cart subtotal. Best for free-shipping / spend goals — the most common setup.

  • Item Count — progress based on number of items (e.g. "add 2, get a gift"). Turn on Only count items added via this upsell to count only items added through the widget.

  • No Threshold — no progress bar; shows products under a heading like "You might also like." Choose this for pure recommendations. The Goals tab is disabled when No Threshold is selected.

Step 2: Goals (Cart Value or Item Count only)

The Goals tab controls the progress bar and its messaging. It's only active when the threshold type is Cart Value or Item Count.

Multiple Goals Display:

  • Sequential — goals appear one at a time, switching after each is reached.

  • Inline — all goals shown side by side as segments.

  • Single Bar — one continuous bar spanning all goals. Toggle Show Previous Goals As Pills to badge goals already reached.

Choose Single Bar for one clean spend goal; Sequential when goals should reveal one at a time; Inline to show all tiers at once.

Advanced Styling styles the progress bar only (Border, Border Width, Corner Radius, Padding; Progress Bar Color and Label Size) — it doesn't affect the rest of the upsell.

Configuring each goal (Goal 1, Goal 2…):

  1. + Add threshold → pick the country, enter the threshold (e.g. 100 for $100, 2 for 2 items), and pick the currency. For the US, click the checkbox twice to select all 62 states/territories.

  2. Offer Type — ⚠️ this dropdown is an internal label only and has no functional effect. It does not create the reward. The actual reward (e.g. free shipping) must exist as a real shipping method or discount — the goals bar only messages the nudge.

  3. Show Info In Progress Bar — displays goal info within the bar.

  4. Display Text When Goal Is Not Met — keep the {amount-left} token so it updates live (e.g. "Spend {amount-left} more, get Free Shipping!").

  5. Display Text When Goal Is Met — shown once reached (e.g. "You might also like").

  6. Show Message If Free Shipping Is Available — shows the "met" message whenever any free-shipping option is available, even below the threshold.

  7. Icon — optional, via Change.

For multiple goals, click + Add Goal; each threshold must be higher than the last.

⚠️ Behavior notes: When a goal is reached and a later goal exists, shoppers see the next goal's "not met" text (by design, to keep them progressing) — not the completed goal's "met" text. If messaging looks off, check Show Message If Free Shipping Is Available — it can override the threshold logic.

Step 3: Product Selection

If Products In Cart Are:

  • Any Products — show to all shoppers. Right for most setups.

  • Smart Selection — target by cart contents, order history, or cart value; add multiple rule groups, each with its own product set.

Upsell Products Are:

  • Automatic — Shopify's Search & Discovery app picks products. Discounts aren't available with Automatic (Shopify picks products at checkout, so eligibility can't be verified).

  • Manual — hand-pick via + Add Products (search by name or SKU; only active products).

  • Smart — pulled dynamically by rule (same tag / collection / SKU logic; existing and future matches).

Choose Manual for full control or to apply a discount; Smart to auto-match by tag/collection and stay hands-off but on-brand; Automatic only when you're fine with Shopify picking (no discounts).

Prioritize Upsell Items By: Profitability (protect margin) · High Price (lift AOV) · Low Price (help unlock free shipping) · Selling Plan · Manual (the order you set).

Product Restrictions: Match Product Variants · In-Stock Products Only (on by default) · Match Fulfillment Center · Include Digital Items · Hide Products Already In Cart (on by default; Detection Level: Parent Product Only or Specific Variant Only).

Settings: Max number of items to display · If no items available to display (e.g. Show Shopify recommendations).

Appearance (products):

  • Product display type — Don't display / Carousel / List / Compact. Carousel shows several without clutter; List when detail matters; Compact for tight space; Don't display when the bar alone converts best.

  • Navigation Style — Arrows or Scroll Bar. Variant Selector — Always Show or Popup.

  • Button Display Text and Button Appearance.

  • Toggles: Display product type, Display vendor, Show Discount badge, Show product reviews.

  • Advanced styling (Main / Card / Image backgrounds) and Image Fit (Fit To Square or Original Size).

Add more mappings with + Add Rule Group.

Step 4: Countdown timer (optional)

On the Timer tab, toggle Enable Countdown Timer (it starts when the shopper reaches checkout).

  • Timer Duration and Time Format (Digital 01:30 / Compact 1m 30s).

  • Placement — Inline Bar (banner below the bar; edit text in Messages, include {countdown}), Badge (small clock near the bar), or In Goal Message (add {countdown} into the goal text on the Goals tab).

  • Messages — Default, Message When Timer Is Low (with a "show when under" threshold), and Message When Time Has Expired, each with Info / Success / Warning / Critical style.

  • Expiration Behavior — Show Expired Message or Hide Upsell.

Note: with Show Expired Message, shoppers can no longer add products, but the progress bar keeps working and updating as the cart changes.

Step 5: Display conditions (optional)

On the Display Conditions tab, click + Add Rule Group to restrict the upsell (cart value, coupons, customer tags/order count, destinations, device, item count, product tag/type, selling plan, SKU, and more). Leave it empty to show to everyone.

Common use: Selling plan / is / Not Exist hides the upsell on subscription carts (show only on one-time-purchase carts).

Step 6: Save and connect to Shopify

Click Save (top-right), then copy the Token for Shopify (format checkout_upsell_…) from the Settings tab.

In Shopify:

  1. Go to Settings > Checkout and click Customize on the checkout profile you want.

  2. Click Add block and place the PDQ Upsell block. For a free-shipping / goals bar, place it in the shipping step or order-summary area so the "spend more" nudge is contextual; for pure recommendations, near the payment or order summary.

  3. With the block selected, paste your token into Enter desired upsell token. If you placed it inside a shipping method, also fill Enter linked shipping method names (comma-separated).

  4. Click Save in Shopify.

Use the Preview panel (Desktop/Mobile) and Preview In Shopify to check it before customers do, and View Audit Logs for the full change history.

For the full extension install walkthrough, see Adding a PDQ Extension to your Shopify checkout.

Tips

  • The goal needs a real reward behind it. A "free shipping" goal only works if a shipping method actually becomes free/available above that threshold — otherwise the bar promises something checkout won't deliver.

  • The {amount-left} token is essential in the "not met" message — without it the bar is a static line, not a motivator.

  • For multi-goal Single Bar, make the first goal feel reachable — "almost there" converts.

  • To apply a discount to upsell items, use Manual or Smart selection (not Automatic).

  • For Smart Selection, build rule groups around shopper segments you've already validated (e.g. cart-value bands you've seen convert).

  • "Don't display" products is a real option — sometimes the progress bar alone converts highest.

Happy upselling! 🙂 Reach out to support@prettydamnquick.com if you need help.

Did this answer your question?