A Shopify upsell funnel touches four stages: product page, cart, checkout, and post-purchase. Here's how each one performs and how to build the sequence.


Guilhem Teyssier
Founder & CEO
Only 35% of Shopify stores run an active upsell strategy. The other 65% leave money sitting in the cart. Not a little money. Sometimes 20-30% of the revenue their store could be generating.
A Shopify upsell funnel isn't one popup bolted onto checkout. It's a sequence: product page, cart, checkout, thank-you page, each with its own offer, its own acceptance rate, and its own job to do. Get the sequence wrong and you annoy people. Get it right and you turn a $60 order into a $78 order without spending a cent on ads.
What a real upsell funnel looks like
Most merchants think "upsell" means one thing: a popup after checkout offering a discount on a related item. That's post-purchase upselling, and it's just one stage out of four. A real funnel touches the customer at every point where they're already deciding to spend money.
Stage | Typical acceptance rate | AOV lift |
Product page (pre-purchase) | 8-15% | +15-25% |
In-cart | 5-12% | +12-18% |
Checkout | 4-10% | +10-20% |
Post-purchase (thank-you page) | 3-8% | +8-15% |
Notice the pattern. The earlier the offer, the higher it converts. That's because a shopper on a product page is still deciding whether to buy at all, and a well-placed "customers also bought this" nudge feels like help. By the time they're on the thank-you page, they've already made their decision and the wallet is half-closed. This is exactly why upselling without annoying customers depends so much on timing, not just the offer itself.
Stage 1: the product page offer
This is the highest-converting stage and the most ignored one. Merchants pour effort into post-purchase popups and skip the product page entirely. That's backwards.
The offer here should be a straightforward upgrade: the same product in a bigger size, a bundle version, or a "pro" tier. Not a random accessory. A shopper looking at a $40 candle is primed to consider a $65 three-pack. They are not primed to consider a phone charger. Keep the logic tight and the acceptance rate stays in that 8-15% range instead of collapsing to 2%.
"The biggest mistake we see is stores treating every upsell slot the same way. A product-page upsell and a thank-you-page upsell are different conversations with a different customer mindset."
Stage 2: the cart
The cart is where AOV math gets easy, because the customer can literally watch their total change. This is the moment to add a free shipping threshold nudge alongside a product recommendation, since the two work together. A shopper who's $12 away from free shipping and sees a $15 add-on that clears the bar will take it almost every time.
Cart-stage upsells convert at 5-12% on their own. Stack a free shipping progress bar next to the recommendation and stores report AOV gains climbing to the 25-35% range. This is one of the few places in the funnel where a tool genuinely does the heavy lifting, because manually calculating "how close is this specific customer to free shipping" doesn't scale past a handful of orders a day. Apps like ConvertX handle the cart-drawer upsell and shipping bar as one connected unit instead of two separate widgets fighting for attention.
Stage 3: checkout
Checkout upsells are the trickiest to execute on Shopify because native checkout customization is limited outside Shopify Plus. Where it's available, a single low-friction offer at 4-10% acceptance and +10-20% AOV is realistic. Where it's not, don't force it. A broken or laggy checkout upsell costs you more in abandoned carts than it earns in extra revenue.
Stage 4: post-purchase
The order is placed. The card is charged. This is the stage everyone associates with "upselling" and it's the weakest link, converting at just 3-8%. One-click post-purchase offers, the kind that don't require re-entering payment details, perform better, landing closer to 5-12%.
Average incremental revenue per accepted post-purchase order sits around $8 to $18. That's real money at volume, but it's not the growth lever most merchants think it is. Treat this stage as a bonus, not your primary AOV strategy.
Why most funnels fail
Three reasons. Too many offers at once, which trains customers to click "no thanks" on reflex. Irrelevant products, which breaks trust immediately. And no funnel at all, just a single upsell app switched on and forgotten. That's not a funnel. That's a widget.
Existing customers are 5 to 25 times more profitable to sell to than new ones, because the acquisition cost is already sunk. Every upsell you skip on an existing cart is a discount you're giving away for nothing. Stores that layer offers across the full funnel see AOV improvements of 20-30%, compared to 10-15% from a single product-page tweak alone. The difference between those two numbers is the difference between a funnel and a feature.
What to prioritize if you're starting from zero
Start with one high-converting product page offer. Pick your best-selling item, add a single upgrade or bundle option, and measure for two weeks before touching anything else.
Add a cart-stage recommendation tied to your free shipping threshold. This is the highest-leverage combination in the whole funnel.
Only then add a post-purchase offer, and make it one-click. Skip the multi-step upsell wizards.
Review acceptance rates monthly. If a stage drops below its benchmark range, the offer is wrong, not the customer.
Stop at three offers total across the whole funnel. More than that and you're back to training people to click past you.
Pick the cart stage first. Implement it this week. Measure for fourteen days before adding anything else.
How to measure if the funnel is actually working
Most stores track one number: total upsell revenue. That's not enough. It tells you the funnel made money, not whether it's healthy. Track acceptance rate per stage against the benchmarks above. If your product-page offer sits at 4% instead of 8-15%, the offer is wrong before the placement is wrong.
Watch two more things. First, refund rate on upsold items versus the rest of your catalog. A high refund rate on upsells means you're pushing irrelevant products and people regret the click a day later. Second, checkout abandonment on orders that saw an upsell prompt versus orders that didn't. If abandonment climbs even slightly, the offer is adding friction instead of value, and that costs you more than the upsell itself earns.
Run this math monthly, not weekly. Upsell data is noisy at low volume, and a single bad week from a slow traffic month will make a perfectly good offer look broken. Give it four to six weeks of data before you kill a stage.
Segmenting offers by customer type
A first-time visitor and a repeat customer should never see the identical upsell. First-time buyers respond better to lower-risk, lower-price add-ons because they're still evaluating whether they trust the store at all. Repeat customers, the ones who already know your shipping times and your return policy, will accept higher-ticket upgrades because the trust question is already answered.
This is where a lot of Shopify upsell apps fall short. They apply one rule engine to every visitor. If your platform lets you segment by order count or customer tag, use it. A returning customer seeing a $120 bundle offer converts differently than a stranger seeing the same $120 bundle on their first visit. Treating them the same wastes the higher acceptance rate you'd get from personalizing the ask.
Segmentation doesn't need to be complicated. Two rules cover most stores: new visitors get the safe, cheap add-on. Returning customers get the bigger bundle or the premium tier. That's it. Add more segments later if the data justifies it.
Cross-sell or upsell: does it matter which you call it
Semantically, yes. Practically, less than people think. An upsell moves someone to a higher-value version of what they're already buying. A cross-sell adds something different. Most successful funnels blend both, and the distinction between cross-sell and upsell matters more for how you write the offer copy than for where you place it in the funnel.
What doesn't change: relevance beats cleverness every time. A dumb but relevant recommendation will always outperform a clever but random one.
Frequently Asked Questions
When should I show an upsell on Shopify, before or after checkout?
What's a good upsell conversion rate for Shopify?
Do post-purchase upsells actually work on Shopify?

