Most Shopify stores never use the cart to sell. An in-cart upsell fixes that, converting at 5-12% with zero extra checkout friction.


Guilhem Teyssier
Founder & CEO
Most Shopify stores have a cart. Almost none of them use it to sell.
The average cart page sits empty. No offers. No suggestions. Just a list of items and a checkout button. That's a massive missed opportunity. The moment a customer adds something to their cart, they have already decided to buy. Their guard is down. The decision has been made. All you have to do is make them a second offer.
That's exactly where an in-cart upsell belongs.
What is an in-cart upsell?
An in-cart upsell is a product offer shown inside the cart, after a customer has already added at least one item. It's not a pop-up. It's not a separate page. It sits right there, between the cart items and the checkout button, asking: "Want to add this too?"
The offer is triggered by what's already in the cart. Bought a yoga mat? See a foam roller. Added a coffee grinder? Get a prompt about freshly roasted beans. The logic is simple. The relevance is everything.
Most stores confuse upselling with cross-selling. Here's the real difference: a cross-sell suggests a complementary product at a similar price point. An upsell pushes toward a higher-value version or a strategic add-on that increases the total transaction. In practice, both can live inside the same cart block. Many merchants use the terms interchangeably. It doesn't matter what you call it. What matters is whether it converts.
In-cart upsells differ from pop-ups in one critical way: they don't interrupt the checkout flow. The offer is part of the cart UI. A customer can scroll past it, ignore it, and still check out without a single extra click. That's why they don't increase abandonment the way aggressive overlays do.
Why in-cart upsells outperform other upsell placements
Three placements exist for upsell offers on Shopify: product pages, the cart, and post-purchase. Each has a role. They are not equal.
Product page upsells convert at 3-8%. They catch people early, before any real commitment. Post-purchase upsells convert at 10-20%, but they require the customer to have already checked out. In-cart upsells convert at 5-12%. Not the highest number on the list. But here's why the cart wins on every metric that actually matters.
Customers reviewing their cart have already decided to buy. They're not browsing. They're in checkout mode. A relevant offer at that moment doesn't feel like an interruption. It feels like a helpful reminder. That shift in context changes how the offer lands.
Forrester Research found that product recommendations, including cart upsells, can boost revenue by up to 30%. Stores that combine in-cart upsells with a free shipping progress bar have seen AOV improvements of 20-35%. That's not from a redesign or a bigger ad budget. That's from adding two elements to a cart that were already missing.
The other advantage: in-cart upsells don't create friction at the moment of highest intent. Unlike post-purchase offers, the customer hasn't closed their wallet yet. Unlike product page pop-ups, they're not being interrupted mid-browse. The timing is almost perfect, which is why the conversion rate holds up even with a passive placement.
What makes a good in-cart upsell offer
Most stores get this wrong. They show random "you might also like" products and wonder why nobody buys. Generic suggestions convert at 2-4%. Contextual, cart-relevant offers convert at 8-15%. That gap is not small. It's the difference between a feature that pays for itself and one you disable after 30 days.
Four rules separate the offers that work from the ones that clutter:
Relevance over everything. The upsell product must connect directly to what's already in the cart. Not just the same category. The actual use case of the item being purchased. A customer buying running shoes doesn't want a random pair of socks from a different sport. They want running socks or insoles. The connection needs to be obvious, not implied.
Price at 15-40% of cart value. A $12 add-on with a $35 cart feels easy to accept. An $80 upsell on a $30 cart feels like a second full purchase. Keep the ratio right, and acceptance rates climb.
One-click add. The customer should never leave the cart to accept the offer. One tap, item added, continue to checkout. Any additional navigation step kills the conversion rate.
Limit to 1-3 offers. More than three creates decision paralysis. The cart should feel like a helpful shortcut, not a product catalog.
The best in-cart upsell is one the customer didn't know they needed until they saw it. That only happens when the offer is built around the specific product in the cart, not pulled from a generic recommendation engine.
What types of products make the best in-cart upsells
Small, affordable add-ons are your best starting point. Items at 15-25% of cart value that complement the main product and require zero deliberation. Batteries when someone buys a torch. A travel case when someone buys headphones. A cleaning kit when someone buys a lens.
After add-ons, the next strongest category is consumables. If a customer buys a product that runs out, the refill or the replacement component is an obvious upsell. It requires no explanation. The relevance is self-evident.
What doesn't work: high-commitment items. A $200 accessory when the cart total is $60. A product from a completely unrelated category. Anything that requires the customer to think for more than two seconds. If it takes effort to understand why the offer makes sense, it won't convert. The answer needs to be reflex, not deliberate.
How to set up an in-cart upsell on Shopify
Shopify's native cart includes no upsell logic. You need an app. The good news: setup takes under 30 minutes for most merchants. Here are the main options depending on your setup:
App | Best for | Free plan? |
|---|---|---|
ConvertX | Cart drawer + in-cart upsell + free shipping bar in one app | Yes |
ICU In Cart Upsell | Dedicated upsell logic with granular product-level targeting | Yes |
Frequently Bought Together | AI-powered product pairings based on purchase history | No |
ReConvert | Upsell sequences across cart and post-purchase in one flow | Trial only |
Setup steps, regardless of which app you choose:
Install your chosen app from the Shopify App Store
Create your first upsell rule: "if product X is in cart, show product Y"
Set the display location to "cart drawer" or "cart page" depending on your theme
Configure the offer price and which product collections it should apply to
Publish and track click-through rate plus add rate for the first 7 days
If you're running a cart drawer and want to consolidate tools, ConvertX handles the full cart experience in one place: drawer, upsell, and shipping bar combined. That's three fewer app subscriptions and one fewer compatibility issue to debug.
Don't over-engineer the first rule. One product. One rule. Two weeks of data. Then expand.
Mistakes that kill in-cart upsell performance
Showing too many offers at once. This is the most common mistake by far. Three suggestions maximum. Often one is better. When a customer sees six upsell cards, the cognitive load spikes and they skip all of them without reading any.
Irrelevant products. A customer buying a skincare serum doesn't want to see a phone case. The algorithm doesn't know what's relevant unless you define it. Set your rules manually, at least at the start. Don't rely on automatic suggestions until you've validated the logic over at least 200 cart views.
Ignoring mobile. Over 60% of Shopify traffic comes from phones. If the upsell card doesn't load cleanly on a small screen with a thumb-accessible add button and readable product name, it might as well not exist. Test it on a real device before going live.
Setting it and forgetting it. The first upsell you create is a hypothesis. Not a strategy. Check the click-through rate after two weeks. Swap out products that aren't converting. Treat it like an ongoing test, not a one-time setup.
And if you're simultaneously working on reducing cart abandonment, the same principle applies: every element in the cart should be earning its place. Upsell offers that don't convert are just friction in disguise.
What to prioritize if you're starting from zero
Install one app and create a single upsell rule for your best-selling product
Set the offer price at 15-25% of your typical cart value
Test the offer on a real phone before publishing
Run it for 14 days without changing anything and let the data accumulate
After two weeks, review click-through and add rates, then iterate from there
One rule. Two weeks. Real data. That's your foundation for everything that follows.
Frequently Asked Questions
What's the difference between an in-cart upsell and a cross-sell?
How much should my in-cart upsell product cost compared to the cart total?
Does adding an in-cart upsell increase cart abandonment?







