Here's the uncomfortable truth about upselling in WooCommerce: most stores do it badly. They install a plugin, enable "frequently bought together" on every product, and wonder why AOV doesn't budge.
The problem isn't the plugins. The problem is strategy. A well-executed upsell strategy on a mediocre plugin will outperform a bad strategy on the best plugin every time.
So this guide covers both: the strategy you need to get right first, and then the plugins that execute it best.
Upselling Strategy: Get This Right First
Upsells vs. Cross-Sells vs. Order Bumps
These terms get confused constantly, and the distinction matters because each requires different plugin capabilities.
Upsell: Encouraging a customer to buy a more expensive version of what they're already buying. "You're looking at the 1kg protein — the 2.5kg is only $15 more and saves you 30% per serving."
Cross-sell: Suggesting complementary products. "You're buying protein powder — want to add a shaker bottle?" This is the "frequently bought together" approach.
Order bump: A low-friction add at checkout. "Add a sample pack for $4.99?" Presented as a checkbox, not a full product page.
Post-purchase upsell: After the customer completes checkout (payment processed), presenting an additional offer they can accept with one click — no re-entering payment info.
Each type has different conversion rates:
- Order bumps: 10-25% take rate (low friction)
- Cross-sells on product page: 3-8%
- Cart page cross-sells: 5-12%
- Post-purchase upsells: 5-15% (payment info already entered)
- Pre-purchase upsells: 2-5% (highest friction)
The Rules of Not Being Annoying
Before picking a plugin, commit to these principles:
Relevance is everything. Suggesting a random product is spam. Suggesting a genuinely complementary product is service. If you can't articulate why the upsell makes sense for the customer, don't offer it.
One offer per touchpoint. Don't show upsells on the product page AND the cart page AND the checkout page AND post-purchase. Pick two touchpoints maximum.
Easy to decline. If declining the upsell requires effort (closing a popup, scrolling past it, clicking multiple times), you're hurting the experience and your brand.
Price proportionality. A $50 upsell on a $20 cart is offensive. A $5 upsell on a $20 cart is reasonable. Keep upsells under 25% of cart value.
Test and measure. An upsell that increases AOV by $3 but drops checkout completion by 5% is a net negative. Always measure the complete funnel.
The Plugin Comparison
CartFlows
Price: Free / Pro from $79/year Best for: Custom checkout funnels with order bumps and post-purchase upsells
CartFlows isn't just an upsell plugin — it's a full checkout funnel builder. It replaces the default WooCommerce checkout with custom-designed pages that include upsell and cross-sell touchpoints.
What's genuinely good:
The post-purchase one-click upsell is CartFlows' killer feature. After the customer completes payment, they see an upsell offer. If they accept, the charge is added to their existing transaction — no re-entering payment info. This is the highest-converting upsell format because friction is near zero.
The order bump feature on the checkout page works well. A checkbox with a product and short description, positioned near the payment button. Clean implementation, doesn't disrupt the checkout flow.
A/B testing is built in (Pro). You can test different upsell offers, different checkout layouts, and different order bump products to see what converts. Most upsell plugins don't include this.
The funnel builder approach means you can create different checkout experiences for different products or campaigns. A supplement bundle might have different upsell offers than a single product purchase.
What's not good:
Page builder dependency. CartFlows checkout pages are built with Elementor, Beaver Builder, Divi, or the block editor. If you don't use one of these, setup is limited.
The custom checkout pages can diverge significantly from your theme's design. Customers who are used to your store's look may find a completely different checkout page jarring. This can hurt trust at the worst possible moment.
Pricing adds up. CartFlows Pro ($79/year) + Elementor Pro ($59/year) + your theme. For just upsells, this is a significant investment.
Analytics are basic. You get conversion rates for funnels but not deep analytics on upsell performance, revenue attribution, or customer behavior.
Verdict: Best for stores that want custom checkout funnels as a core strategy. The post-purchase upsell alone can justify the cost if your product mix supports it.
WooCommerce One Click Upsell Funnel (by MakeWebBetter)
Price: Free / Pro from $69/year Best for: Post-purchase upsells without replacing your checkout
This plugin focuses specifically on post-purchase upsells without the full funnel-building approach of CartFlows. It's a more targeted tool.
What's genuinely good:
Simple to set up. Create an upsell offer, assign it to a product or category, choose the template, done. No page builder needed — the plugin provides its own templates for the upsell page.
The free version includes the core one-click upsell functionality. You can test the approach before paying.
It doesn't modify your checkout page at all. The upsell appears on a dedicated page between checkout and thank-you. This means no conflicts with checkout customizations, no impact on the checkout experience, and no page builder dependency.
Multiple upsell sequences — if the customer declines upsell A, show a different downsell B. If they accept A, show upsell C. This funnel logic is powerful.
What's not good:
The templates look generic. You'll need CSS customization to match your brand. The default designs feel like they were built for digital marketing courses, not e-commerce stores.
No order bumps on the checkout page — this is strictly a post-purchase tool. If you want checkout-level upsells, you need a separate solution.
The analytics dashboard is minimal. Conversion rates are shown but not revenue attribution, customer segments, or comparison data.
The plugin's admin interface is cluttered and not intuitive. Setting up complex funnel sequences requires patience.
Verdict: Good for stores that want post-purchase upsells specifically, without changing their checkout page.
Frequently Bought Together for WooCommerce (by Jexy)
Price: Free / Premium from $49/year Best for: Amazon-style cross-sells on product pages
Replicates the Amazon "Frequently bought together" widget on your product pages. Shows a group of complementary products that can be added to cart together with one click.
What's genuinely good:
The implementation matches customer expectations. Every online shopper has seen Amazon's "frequently bought together" — the pattern is immediately understood. No learning curve for customers.
Automatic recommendations based on purchase history. Once you have enough order data, the plugin identifies genuine product combinations. This is better than manual configuration because it reflects actual buying patterns.
The combined price display with discount incentive ("Buy all three and save 10%") is effective. Showing the total and the savings creates urgency.
Lightweight. Doesn't slow down your product pages or add heavy scripts.
What's not good:
Effectiveness depends entirely on your product mix. Stores with naturally complementary products (supplements + shaker, camera + memory card) see strong results. Stores where products are substitutes rather than complements (different flavors of the same thing) see poor conversion.
The automatic recommendation algorithm needs order data. New stores with limited purchase history will need to configure combinations manually.
Discount management is basic. No conditional discounts (e.g., "10% off the accessory only when bought with the main product"). It's a fixed percentage or amount off the bundle.
Mobile display can be awkward. Three product images with checkboxes and plus signs is tight on mobile screens.
Verdict: Best for product page cross-sells if your products naturally complement each other. Skip if your catalog is mostly substitute products.
Product Recommendations by WooCommerce (Official)
Price: $79/year Best for: Native, lightweight recommendations without third-party dependencies
This is WooCommerce's own recommendation engine. It provides upsells, cross-sells, related products, frequently bought together, recently viewed, and top-rated product displays.
What's genuinely good:
Native WooCommerce compatibility — zero conflict risk with other plugins. This is a bigger deal than it sounds. Third-party upsell plugins frequently conflict with custom checkout plugins, payment gateways, and theme customizations.
The rule-based approach is transparent. You define which products to recommend where, based on categories, tags, or specific products. No black-box algorithm making decisions you can't understand.
Multiple recommendation types from one plugin — upsells, cross-sells, related, best sellers, new arrivals. Reduces plugin bloat.
Revenue tracking shows how much each recommendation type contributes. You can see if your "frequently bought together" is actually driving revenue or just taking up space.
What's not good:
No AI or machine learning. The recommendations are rule-based, so you're doing the work of deciding what to recommend. This doesn't scale well for stores with 1,000+ products.
No post-purchase upsells. This is a product display plugin, not a funnel tool. It shows recommendations on product pages, cart pages, and throughout your store, but doesn't have the one-click post-purchase flow.
The recommendation widgets are basic visually. Product cards with image, title, and price. No compelling design, no urgency elements, no discount displays.
Verdict: Good baseline if you want simple, conflict-free recommendations. Pair with CartFlows if you also want post-purchase upsells.
The AI Angle: Smarter Product Suggestions
Traditional upsell plugins show products based on rules you configure or purchase history patterns. AI-powered tools can go deeper — understanding semantic relationships between products that rule-based systems miss.
For example, List AI's cart filling uses semantic matching that understands product relationships at a deeper level than "customers who bought X also bought Y." When a customer types "post-workout recovery," the system matches not just protein powder but BCAAs, electrolyte mix, and foam rollers — products that are semantically related even if they've never been purchased together.
This isn't a replacement for dedicated upsell plugins, but it's worth noting that the line between search, recommendation, and upselling is blurring as AI tools mature.
My Recommended Stack
After testing these extensively, here's what I'd recommend for different store types:
Low-budget store (under $50K/year revenue): Frequently Bought Together (free) + WooCommerce's built-in related products. Cost: $0. This covers product page cross-sells without adding complexity.
Growth stage ($50K-500K/year): CartFlows Pro ($79/year) for post-purchase upsells and order bumps + Frequently Bought Together for product page cross-sells. The post-purchase upsell is the highest-ROI addition at this stage.
Established store ($500K+/year): CartFlows Pro + Product Recommendations by WooCommerce + a dedicated testing tool. At this revenue level, the A/B testing capability matters. Test different upsell products, offers, and touchpoints systematically.
Multi-item order stores (supplements, groceries, B2B supplies): The traditional upsell approach works differently when customers already buy multiple items. Instead of trying to add one more product to a single-item cart, consider tools that help customers build their entire order faster — which naturally results in higher AOV because customers don't self-edit their lists.
Measuring What Matters
Installing an upsell plugin is step one. Knowing if it's working is what actually matters.
Track these metrics:
- Upsell take rate: What percentage of customers accept the upsell offer? Below 3% means your offer is irrelevant or poorly presented.
- AOV change: Did average order value actually increase? Check the trend over 30 days, not a few orders.
- Checkout completion rate: Did it go down? If your upsell increases AOV by $5 but drops checkout completion by 3%, you're losing money.
- Revenue per visitor: The ultimate metric. Captures both conversion rate and AOV changes in one number.
Most stores see the biggest AOV lift from the first upsell touchpoint they add (usually post-purchase or order bump). Diminishing returns kick in fast — the second and third touchpoints add incrementally less and risk annoying customers more.
Pick one or two touchpoints, execute them well, measure the results, and iterate. That will outperform a plugin-heavy approach with upsells at every stage of the journey. Use proper analytics to track what's working and email automation to follow up with customers who didn't convert on the initial upsell.
List AI helps WooCommerce stores increase AOV through AI-powered cart filling — shoppers build complete multi-item orders in seconds. See how it works.