Blog

Shopify Upselling: 7 Strategies to Increase AOV (2026)

Seven Shopify upselling strategies shown across the cart drawer, product page and post-purchase page

Short answer: The Shopify upselling strategies that reliably raise average order value are the ones that run where the buying decision already happens: the cart drawer, the product page and the post-purchase page. Start with a free-shipping threshold set just above your current AOV, add one relevant in-cart offer, then switch on a post-purchase one-click offer. Shopify handles bundles, Buy X Get Y and free-shipping discounts natively; you need an app for cart-drawer upsells, post-purchase offers and progress bars. Measure AOV, units per order and upsell take rate before and after each change instead of trusting a vendor's headline percentage.

Key Facts (Verified September 2026)

  • Baymard Institute puts the average documented cart abandonment rate at 70.22% across 50 studies. The top stated reason is extra costs (shipping, tax, fees) at 40%, which is why a free-shipping threshold is both an upsell and an abandonment fix.
  • Shopify's own AOV formula is total revenue divided by number of orders. Its AOV guide (updated 18 September 2025) cites Dynamic Yield's benchmark of roughly $145 AOV across industries, with category ranges from about $15 (beauty) to $300+ (luxury), so compare against your own category, not the global number.
  • Three of the seven strategies need no app: Shopify Bundles (free, first-party, fixed bundles of up to 30 components), Buy X Get Y, and a free-shipping discount with a minimum purchase amount, all created under Discounts → Create discount.
  • Post-purchase offers need an app. The post-purchase page sits after payment and before the thank-you page, only one app can be selected under Settings → Checkout → Post-purchase page, and it does not display for wallet, installment or gift-card payments such as Apple Pay, Google Pay, Klarna or Affirm (shopify.dev).
  • A store can run at most 25 active automatic discounts, app-based ones included, and product, order and shipping discounts only stack when you enable combinations on each discount.
  • The FTC's September 2022 dark-patterns report names countdown timers that imply a time limit "when the offer is not actually time-limited" as a deceptive practice (FTC press release). Every urgency tactic below has to be true.

Upsell vs cross-sell, and the three numbers to write down first

Shopify's upselling guide draws the line cleanly: an upsell moves the shopper to a higher-priced version of the item they already want (the pro laptop instead of the mid-tier one); a cross-sell adds complementary items (the mouse and the sleeve). Merchants use "upselling" for both, and the strategies below cover both, because the metric they move is the same: average order value.

Before you change anything, record three baseline numbers from Shopify admin → Analytics for the last 30 days: average order value, total orders, and total units sold. Units divided by orders gives units per order, the number that tells you whether a tactic is adding items or just shifting shoppers to pricier items. Every strategy below ends with what to compare against that baseline.

One rule holds across all seven: the offer must be cheaper and simpler than the decision the shopper has already made. A $14 add-on to a $58 cart gets considered; the reverse gets ignored.

Strategy 1: In-cart upsells in the cart drawer

What it is. A one-click offer shown inside the slide-out cart the moment a shopper adds an item, before they head to checkout. The shopper has already committed to buying, the cart is open, and the offer is one tap away, which makes this the highest-intent slot on the storefront.

Where it runs. The cart drawer. In Dawn, switch it on under Online Store → Themes → Customize → Theme settings → Cart → Cart type → Drawer (Dawn ships with "notification" as the default). Dawn's drawer has no upsell slot; its only merchandising setting is a collection shown when the cart is empty. Anything displayed next to the line items comes from an app or custom Liquid.

A concrete offer. Yoga mat, $58. The drawer shows a $14 carry strap under the mat line with an Add button. The math is take rate × offer price: if 12 of every 100 mat buyers add the strap, that slot adds 12 × $14 = $168 to $5,800 of mat revenue, a 2.9% lift in AOV from a single rule. Keep the offer at a fraction of the cart value, keep it physically related to the trigger product, and never show more than two offers at once.

Setup, native route. There isn't one. You can hard-code a static "you may also like" block into cart-drawer.liquid, but it will not react to what is in the cart.

Setup, app route. A cart-drawer app replaces the theme drawer and adds rule-based slots. Oxify Cart Drawer & Upsell (4.9 rating, 37 reviews, Built for Shopify, from $9.99/month) lets you pick a trigger product or collection, choose the offer manually or let its recommendations pick it, and add it in one click without leaving the drawer. UpCart (4.7, 875 reviews, Built for Shopify, from $29.99/month) is the closest like-for-like alternative if you want a second quote. Rule design is covered in the cart upsell strategy guide and in-cart recommendations guide.

In-cart upsell offer displayed under a product line inside a Shopify cart drawer

What to measure. Upsell take rate (orders containing the offered item ÷ orders where the offer was shown) and drawer-to-checkout rate (checkouts started ÷ drawer opens). If the second number drops after you add offers, the drawer is too busy; remove a slot before you touch anything else.

Strategy 2: Product-page upsells and Frequently Bought Together

What it is. Two different offers on the same page. The true upsell is a size or tier upgrade: a 30-capsule bottle at $20 is $0.67 per capsule, the 60-capsule bottle at $25 is $0.42 per capsule, and saying so next to the variant picker moves shoppers up a tier. The cross-sell is Frequently Bought Together: two or three complementary products with one "add all" button, the Amazon pattern.

Where it runs. The product page, beside the buy button for the upgrade and below the description for FBT. Product pages carry most organic and paid traffic, so even a low take rate here reaches more shoppers than any cart offer.

A concrete offer. Face serum, $32. FBT shows an $18 moisturiser and a $12 cleanser with "Add all three, save 10%": $62 becomes $55.80. A shopper who takes it spends $23.80 more than the serum alone. If 5 of every 100 serum buyers take it, the expected lift is 0.05 × $23.80 = $1.19 per serum order; at 400 serum orders a month that is $476, before you count the extra units per order.

Setup, native route. Shopify's free Search & Discovery app. Go to Apps → Search & Discovery → Product recommendations → Add recommendations, then choose up to 10 complementary products and up to 10 related products per product (Shopify Help Center). In Dawn, add the Complementary products block to the Product information section; it shows one to four products per page (default three) and has an "Enable quick add" toggle. Dawn's Related products section at the bottom of the page fills itself from Shopify's recommendation engine. Limits: no combined discount, no "add all" button, and items are added one at a time.

Setup, app route. For the bundle-discount-plus-add-all pattern, Frequently Bought Together by Code Black Belt (4.8, 1,049 reviews, Built for Shopify, free plan, then from $14.99/month) is the specialist. If you already run Oxify Cart Drawer, its product-page upsell widget covers the same slot without a second app. The head-to-head is in product page upsells on Shopify and the FBT app comparison.

What to measure. Attach rate (orders containing the trigger product and at least one FBT item ÷ orders containing the trigger) and the product page's add-to-cart rate, which must not fall. A bundle discount that cannibalises full-price sales of the add-ons shows up as flat revenue with more units, so watch gross margin per order, not only AOV.

Strategy 3: Post-purchase one-click upsells

What it is. An offer shown after the shopper has paid and before the thank-you page. Accepting adds the item to the order they just placed with one click; declining sends them to the order confirmation. Because payment is already done, the offer cannot cost you the original sale, which is why it can carry the deepest discount of the seven.

Where it runs. Shopify's post-purchase page, which appears "after the order is confirmed, but before the Thank you page" (shopify.dev). It is available from the Basic plan up, but only through an app: install one, then select it under Settings → Checkout → Post-purchase page (Shopify Help Center). Only one post-purchase app can be active at a time. The page does not appear when the shopper paid with a wallet or installment method (Apple Pay, Google Pay, Amazon Pay, Klarna, Affirm, AfterPay), a gift card, or through a few third-party gateways such as Braintree and Payflow Pro, so measure acceptance against eligible orders, not all orders. Automatic discounts created in the admin do not apply on this page; the app carries its own discount.

The thank-you and order status pages are a separate, later slot: on every plan you can add app blocks to them in the checkout editor (Settings → Checkout → Configurations → Edit), while extensions on the information, shipping and payment steps are Shopify Plus only (checkout UI extensions).

A concrete offer. Order: one $32 bottle of supplements. Post-purchase offer: a second bottle at 20% off, $25.60, "added to the order you just placed and shipped in the same box". The lift is acceptance rate × offer price: if 8 of every 100 eligible orders accept, that is 0.08 × $25.60 = $2.05 per eligible order, or $2,048 on 1,000 eligible orders with no extra shipping label. A consumable the shopper already chose is the safest first offer; an accessory that fits what they bought is the second.

Setup, app route. ReConvert (4.8 rating, 2,810 reviews, from $4.99/month) and AfterSell (4.8, 915 reviews, Built for Shopify, from $34.99/month for up to 500 orders, 30-day trial) are the two specialists; ReConvert also owns the thank-you page slot with a drag-and-drop editor. Oxify Cart Drawer includes post-purchase and thank-you-page upsell widgets on every plan, which keeps a store on one app if the drawer is already installed. Walk-throughs: one-click post-purchase upsells and the post-purchase app comparison.

What to measure. Post-purchase acceptance rate (accepted ÷ shown), revenue per eligible order, and the refund rate on post-purchase items against your baseline refund rate. A steep discount that lifts acceptance but doubles returns on that SKU is a loss; check both before you widen the offer.

Strategy 4: Bundles and buy-more-save-more

What it is. Three related offers: a fixed bundle (serum, moisturiser and cleanser sold as one product), a mix-and-match or build-your-own bundle (any three from a collection), and quantity breaks ("buy 3, save 15%"). All three raise units per order; fixed bundles also simplify the decision, which is why they work for gift sets and starter kits.

Where it runs. Bundles are products, so they get their own product page and sit in collections. Quantity breaks show on the product page and, with an app, as a tier ladder inside the cart drawer.

A concrete offer. Soy candle, $24, cost of goods $8. "Buy 3, save 15%" prices three at $61.20. Profit on a single candle is $24 − $8 = $16; profit on the three-pack is $61.20 − $24 = $37.20. Even after the discount, the multi-buy earns 2.3 times the profit of the single sale, and AOV moves from $24 to $61.20 on every order that takes it. The number to check before you set a tier is discounted profit per order, not the discount percentage.

Setup, native route. Fixed bundles: Shopify's free first-party Shopify Bundles app, Apps → Bundles → Create bundle. Fixed bundles allow up to 30 components and dynamic bundles up to 150, each bundle is capped at 3 options and 100 variants, and bundles work only on the Online Store and Headless channels (Shopify Help Center). Two limits worth knowing: when a component's price changes the bundle price does not update, and a product-specific discount must include the parent bundle product or it will not apply. The app's App Store listing is rated 2.8 from 543 reviews, so expect basic rather than polished.

Buy-more-save-more: Discounts → Create discount → Amount off products → Automatic discount, set the value, choose the collection under "Applies to", and pick "Minimum quantity of items" under minimum purchase requirements (Shopify Help Center). Each tier is its own automatic discount and counts toward the 25-active cap; keep combinations off on those tiers so one line never receives two product discounts. For "buy 2, get the third 50% off", use Buy X Get Y with "Set the maximum number of uses per order" ticked. The "get" item is never added automatically; the shopper has to put all three in the cart themselves. Native multi-tier volume pricing, up to 10 tiers per product, exists only in B2B catalogs.

Setup, app route. For build-your-own bundles with a live discount preview, Oxify Bundle, Upsells & BYOB (4.8 rating, Built for Shopify) or the apps compared in best Shopify bundle apps. For quantity-break ladders shown inside the cart, a cart-drawer app with volume discounts is simpler than stacking automatic discounts; stacking buy-more-save-more discounts covers the rules. Price the tiers with the bundle calculator before you publish.

What to measure. Units per order, bundle share of orders (orders containing a bundle or a tier discount ÷ all orders), and gross margin per order. If units per order rise while margin per order falls below the single-item baseline, the discount is too deep.

Strategy 5: Free-shipping thresholds and reward tiers

What it is. Free shipping once the cart passes a set amount, shown as a progress bar ("Add $12 more for free shipping") in the cart drawer. Multi-tier versions add a second and third reward: free shipping at $60, a free gift at $90, 10% off at $120. It is the only strategy that lifts AOV and attacks the top abandonment reason, extra costs at 40% in Baymard's data, at the same time.

Where it runs. The cart drawer and, if you want it everywhere, the announcement bar. The bar must recalculate as items are added; a static "free shipping over $60" line is a policy, not an upsell.

A concrete offer, with the gap formula. AOV $48, gross margin 55%, shipping you would absorb $6.50. Free shipping only pays for itself if the extra revenue it triggers covers the shipping cost after margin, so the minimum gap between AOV and threshold is shipping cost ÷ gross margin: $6.50 ÷ 0.55 = $11.82. Set the threshold at $60 (a $12 gap) and make sure a popular $12 to $15 add-on sits in the drawer so the gap can be closed in one click.

Setup, native route. Discounts → Create discount → Free shipping → Automatic discount → Minimum purchase amount → $60. Tick "Exclude shipping rates over a certain amount" if you offer express rates you do not want to give away, and restrict it to specific countries or markets if international shipping costs differ (Shopify Help Center). Free-shipping discounts combine with product and order discounts, so a shopper can stack it on a quantity break. What Shopify does not provide is the progress bar: Dawn has no free-shipping bar in its cart drawer or announcement bar.

Setup, app route. Oxify Cart Drawer's free-shipping bar and multi-tier rewards bar read the cart total live and can auto-apply the gift or discount at each tier; the setup is in the free-shipping bar guide. If you want the bar without replacing your drawer, Hextom's Ultimate Sales Boost (4.8 rating, 1,448 reviews, Built for Shopify, free plan, then from $9.99/month) shows one on product and cart pages. Tier design is in tiered cart rewards.

What to measure. Share of orders above the threshold before and after, AOV, and shipping cost as a percentage of revenue. If the share of orders above $60 rises but shipping cost as a share of revenue rises faster, the gap formula was run on the wrong margin.

Strategy 6: Urgency and scarcity, done honestly

What it is. A countdown to a real deadline ("Bundle pricing ends Sunday 23:59") or a low-stock notice from real inventory ("3 left"). Both shorten the decision on an upsell the shopper is already considering. Neither creates demand on its own, and a fake one is a legal exposure: the FTC's 2022 dark-patterns report names "countdown timers designed to make consumers believe they only have a limited time to purchase a product or service when the offer is not actually time-limited" (FTC).

Where it runs. The product page (low stock, sale end), the cart drawer (offer expiry next to the upsell), and the announcement bar (site-wide sale end).

A concrete offer. The three-candle tier from Strategy 4 is set as an automatic discount with an end date of Sunday 23:59 in the discount's active dates. The drawer shows "Buy 3, save 15%, ends in 1d 6h" next to the tier ladder. When the discount expires the timer disappears, the price reverts, and the shopper who comes back on Monday sees no trace of it. That is the whole test of an honest timer: it is driven by a deadline that exists in your admin.

Setup, native route. Low stock: in Dawn, add the Inventory status block to the product page. It shows a low-stock message once stock falls below the threshold you set (default 10) and can show the exact count (on by default), read straight from Shopify inventory (Dawn source). Deadlines: set the end date and time on the discount itself. Dawn has no countdown component in its announcement bar or product page.

Setup, app route. Essential Countdown Timer Bar (5.0 rating, 1,629 reviews, free plan, then from $6.99/month) for product-page and top-bar timers. Oxify Cart Drawer's announcement bar with countdown puts the same deadline inside the cart, next to the offer it applies to. More patterns in countdown timers that lift cart sales.

What to measure. Conversion rate on the promoted offer with and without the timer, alternated week by week, plus refund and chargeback rates. Urgency that lifts take rate and returns together is pressure, not persuasion.

Strategy 7: AI recommendations vs manual rules

What it is. The choice of who picks the offer. Manual rules are trigger-to-offer pairs you write ("mat → strap"). Automated recommendations pick from co-purchase history, product similarity and collection membership, and change as your data changes. Both feed the same slots: the drawer, the product page and the post-purchase page.

Where each wins. Manual wins with fewer than roughly 50 SKUs, on a new store with too few orders to learn from, and wherever compatibility matters (sizes, voltages, phone models, skin types), because a co-purchase engine cannot know that the 40 mm strap does not fit the 44 mm watch. Automated wins with large catalogs, long-tail products nobody will write rules for, and enough monthly orders for co-purchase patterns to mean something. Most stores end up with both: manual rules on the top 20 sellers, automation on the rest.

Setup, native route. Shopify's free Search & Discovery app supplies automated recommendations based on products commonly purchased together, similar descriptions and related collections, and the manual override is the same Product recommendations screen from Strategy 2 (up to 10 complementary picks per product). Dawn's Related products section renders the automated set; the Complementary products block renders your manual picks. Native recommendations do not reach the cart drawer or the post-purchase page.

Setup, app route. Rebuy (4.7 rating, 748 reviews, pricing starts at $25/month and scales with order volume) is the enterprise option, with a rules engine that spans cart, checkout, post-purchase and search. Oxify Cart Drawer offers both modes per slot, manual or AI, which is enough for most stores below a few thousand orders a month. The wider field is compared in best Shopify upsell apps.

What to measure. Click-through and conversion per recommendation slot, plus a straight comparison: run manual picks on one slot for two weeks, then automated picks for two weeks, and keep whichever produced more revenue per view. Do not compare across different slots or seasons.

Best app for each strategy (verified 2 September 2026)

Ratings, review counts and starting prices below were read from each Shopify App Store listing on 2 September 2026. Re-check each listing before you install; counts and prices change.

StrategyNative Shopify routeApp routeApp price from
In-cart upsellNone (Dawn's drawer has no upsell slot)Oxify Cart Drawer & Upsell, 4.9 (37 reviews), Built for Shopify; alternative UpCart, 4.7 (875), Built for Shopify$9.99/mo; $29.99/mo
Product-page FBTSearch & Discovery complementary products plus Dawn's blockFrequently Bought Together (Code Black Belt), 4.8 (1,049), Built for ShopifyFree plan; $14.99/mo
Post-purchase one-clickNone (app required)ReConvert, 4.8 (2,810); AfterSell, 4.8 (915), Built for Shopify$4.99/mo; $34.99/mo
Bundles and buy-more-save-moreShopify Bundles (free, rated 2.8 from 543 reviews); Buy X Get Y; amount off with minimum quantityOxify Bundle, Upsells & BYOB, 4.8, Built for ShopifyFree; see listing
Free-shipping threshold and rewards barFree-shipping automatic discount with minimum purchase amount (no progress bar)Oxify Cart Drawer (progress and multi-tier bar); Hextom Ultimate Sales Boost, 4.8 (1,448), Built for Shopify$9.99/mo; free plan
Urgency and scarcityDawn Inventory status block plus discount end datesEssential Countdown Timer Bar, 5.0 (1,629)Free plan; $6.99/mo
AI recommendationsSearch & Discovery automated recommendationsRebuy, 4.7 (748)From $25/mo, scales by orders

The 20-minute implementation order

Do these in sequence. Each takes about five minutes and none needs a developer.

  1. Minutes 0 to 5: baseline and threshold. Write down AOV, orders and units from Analytics. Run the gap formula (shipping cost ÷ gross margin) and pick a free-shipping threshold just above AOV plus that gap.
  2. Minutes 5 to 10: native free shipping. Discounts → Create discount → Free shipping → Automatic discount → Minimum purchase amount. Exclude express rates. Save.
  3. Minutes 10 to 15: native complementary products. Apps → Search & Discovery → Product recommendations → Add recommendations for your five best sellers, then add the Complementary products block in the theme editor.
  4. Minutes 15 to 20: one in-cart offer plus the progress bar. Install a cart-drawer app, switch on the free-shipping bar at the threshold from step 1, and create one manual upsell rule on your best seller with an add-on priced at a fraction of it. In Oxify Cart Drawer both live in the same drawer editor and every plan includes them.

Then wait two weeks. Add a post-purchase offer in week three (Strategy 3), a quantity break on your top consumable in week four (Strategy 4), and a discount end date with a timer only when you actually run a sale (Strategy 6).

The five metrics that tell you whether it worked

  • Average order value: revenue ÷ orders, same 30-day window before and after, same traffic mix. A sale week measured against a normal week proves nothing.
  • Units per order: units ÷ orders. Rising AOV with flat units means shoppers upgraded; rising units means the cross-sells are working.
  • Upsell take rate: orders containing the offered item ÷ orders where the offer was shown. Track it per rule and retire any rule that sits near zero for a month.
  • Drawer-to-checkout rate: checkouts started ÷ cart drawer opens. This is the guardrail: if it falls after you add offers, the drawer is doing more selling than the shopper wants.
  • Post-purchase acceptance rate: accepted ÷ shown, on eligible orders only, with the refund rate on those items next to it.

Shopify Analytics gives you the first two; a cart-drawer or post-purchase app reports the other three from its own dashboard. Measuring cart upsell performance walks through the reports, and do upsells hurt conversion rate covers the conversion guardrail in detail.

Six mistakes that cancel the gains

  1. Offering an add-on that costs as much as the cart. A $58 accessory on a $14 order is a new purchase decision, not an upsell. Keep the offer at a fraction of what is already in the cart.
  2. Showing three or more offers at once. Every extra card in the drawer competes with the checkout button. One or two offers per slot, chosen for the trigger product, is the ceiling.
  3. Setting the discount before checking profit per order. Run the candle math from Strategy 4 on your own cost of goods. A tier that lifts AOV but earns less than the single sale is a worse business.
  4. Placing the free-shipping threshold in the wrong spot. Below AOV gives shipping away on orders you already had; far above AOV gets ignored. Use the gap formula and a closable add-on.
  5. Faking urgency. A timer with no real end date or a "low stock" label that is not tied to inventory is exactly the pattern the FTC's report describes.
  6. Judging by AOV alone. Read AOV with conversion rate and refund rate, over the same window and traffic mix. An AOV lift that arrives with a conversion drop or a refund spike is not a lift.

Run four of the seven strategies from one drawer. Oxify Cart Drawer & Upsell (4.9 rating, 37 reviews, Built for Shopify) covers in-cart upsells, the free-shipping and multi-tier rewards bar, volume discounts, a countdown announcement bar and post-purchase and thank-you-page offers, with AI or manual picks per slot. Plans start at $9.99/month for up to 100 orders, every plan includes every feature, and there is a 14-day free trial. See what the drawer includes.

Frequently Asked Questions

How do you upsell on Shopify?

Put a cheaper, related offer where the shopper is already deciding: an add-on in the cart drawer, complementary products on the product page, or a one-click offer on the post-purchase page. Set a free-shipping threshold just above your average order value so the offer also closes the gap.

Does Shopify have built-in upsell features?

Partly. Shopify natively provides the free Shopify Bundles app, Buy X Get Y and amount-off discounts with a minimum quantity, free-shipping discounts with a minimum purchase amount, and complementary product recommendations through the free Search & Discovery app. It has no cart-drawer upsell slot, no free-shipping progress bar and no post-purchase offer without an app.

What is the difference between upselling and cross-selling?

An upsell moves the shopper to a higher-priced version of the same item, such as the 60-capsule bottle instead of the 30. A cross-sell adds a complementary item, such as a strap with a yoga mat. Both raise average order value, and most Shopify apps handle both under the name "upsell".

Where is the best place to put an upsell on Shopify?

The cart drawer for intent, the product page for reach, and the post-purchase page for zero risk to the original sale. If you can only run one, start in the cart drawer, where the shopper has already added an item and the offer is one tap away.

Do upsells hurt conversion rate?

They can when they crowd the checkout button, show irrelevant items or add pop-ups. Watch drawer-to-checkout rate as the guardrail: if it falls after you add offers, remove a slot. Post-purchase offers cannot affect conversion because payment is already complete.

How much discount should a post-purchase upsell have?

Enough that the discounted item still earns a profit per order that you are happy with, and no more. Start from your cost of goods, price the offer, then test a deeper discount for two weeks against the original and keep whichever produces more profit per eligible order, not more accepts. Note that admin-created automatic discounts do not apply on the post-purchase page; the app sets the offer price.

Can you upsell on Shopify without an app?

Yes, for three of the seven strategies: fixed bundles with Shopify Bundles, buy-more-save-more with automatic discounts, and product-page recommendations with Search & Discovery plus Dawn's Complementary products block. In-cart offers, progress bars and post-purchase offers need an app or custom theme code.

How do you measure upselling success on Shopify?

Compare average order value and units per order over the same 30-day window before and after, then track upsell take rate per rule, drawer-to-checkout rate and post-purchase acceptance rate from your app's analytics. Read them alongside conversion rate and refund rate so a higher AOV does not hide a lost sale.
Ask AI about Oxify App