WooCommerce CRO Technique
How to increase average order value on WooCommerce with bundles and frequently bought together
Bundles and frequently-bought-together work best when they surface genuine complements at the moment a shopper is deciding, usually on the product page and in the cart.
Summary
Bottom Line: To increase AOV on WooCommerce with bundles and frequently-bought-together, show a small number of truly complementary products where intent is highest, then make the add-on or bundle feel easier to buy than hunting for items separately.
- Relevance is the whole game: Baymard found 52% of desktop sites showed cart cross-sells that were irrelevant or based only on “what others bought”, which damaged engagement with cross-selling.
- On product pages, weak recommendation cards underperform if they do not show enough detail; Baymard found 68% of desktop sites failed to provide enough information for PDP cross-sells.
- WooCommerce gives you three distinct levers: manual linked products in core WooCommerce, Product Bundles for structured bundle offers, and Product Recommendations for rule-based engines and FBT reporting.
- Too many recommendation blocks can backfire: Woo’s own Product Recommendations docs warn that multiple engines at the same location can hurt performance and overall conversion rates, and NN/g’s choice-overload guidance says too many options make decisions harder.
- Treat performance as a guardrail, not an afterthought: Google’s good thresholds are LCP within 2.5 seconds, INP under 200 ms and CLS under 0.1, and third-party scripts are a common cause of slowdown.
How To Implement
Start with the job, not the plugin
Use a bundle when the customer is effectively buying a pack, kit or pick-and-mix offer. Use manual complements when the relationships are obvious and stable. Use FBT/recommendation logic when attachments depend on what is currently viewed, what is in the cart, or what order history supports. Core WooCommerce distinguishes up-sells, cross-sells and automatically generated related products; they are not interchangeable.
Set a manual baseline in core WooCommerce before you buy more tooling
In the product editor, go to WooCommerce > Products > Edit product > Product Data > Linked Products in the classic editor, or the equivalent Linked products area in the block-based product editor sidebar. Add:
- Up-sells for a better substitute on the PDP.
- Cross-sells for complements that should appear in the cart.
Do not confuse these with Related products, which WooCommerce generates automatically from shared categories and tags and sorts randomly. That means they are a poor primary mechanism for precise “buy this accessory with this product” merchandising.
If it is a true bundle, build it as a bundle, not as a recommendation row
With Product Bundles, create the product at Products > Add New, choose Product Bundle in Product Data, then use Bundled Products to add the component products. This is the right route for gift sets, starter kits, routine refills, room sets, or curated packs where buying together is the offer itself.
Price bundles in a way that preserves analysis
If reporting accuracy matters, do not default to a single static parent price. Woo’s Product Bundles docs warn that static regular/sale pricing on the parent can gradually compromise earnings reporting accuracy for the included products, and static pricing also limits you to a single tax rate. A safer pattern is to leave Regular Price and Sale Price blank on the parent, tick Priced Individually for bundled products, and apply a modest % Discount to the components instead. That keeps the economic logic clearer in reporting and reduces the risk that you hide where bundle value is really coming from.
Keep the bundle easy to use on the PDP
Product Bundles can become interaction-heavy, especially on two-column PDP layouts. If the bundle form feels cramped, go to Product Data > Bundled Products > Form Location and test Before Tabs so the configuration area gets more width. Woo notes this usually helps, but also warns that theme support is not guaranteed, so test on your live theme before rollout. Put a measurement note here: compare PDP conversion rate and LCP before and after, because a more usable bundle form is only a win if it does not slow or distract.
For rule-based frequently-bought-together on classic or hybrid themes, use Product Recommendations
In WooCommerce > Recommendations > Engines, click Create new, choose a Product engine type, then add a Bought Together Amplifier. Deploy it from WooCommerce > Recommendations > Locations to a PDP position such as Product > Before Tabs or another supported product-page location, and add Visibility Conditions so it only shows where it is truly relevant. Woo’s FBT guide uses Product > Before Tabs and shows a single short row of products rather than a long list.
Know the low-volume edge case before you trust the FBT engine
Woo’s FBT logic will not recommend anything unless the reference product appears in at least 10 orders. Candidate products must also appear alongside it in at least 10 orders, appear in at least 5% of orders containing the reference product, and themselves appear in at least 10 orders store-wide. For slower-moving catalogues or newer products, manual complements usually beat “AI-style” logic early on because the data simply is not there yet.
If you run a block theme, prefer Product Collection for manual merchandising and test recommendation plugins carefully
WooCommerce’s Single Product template can be edited in Appearance > Editor, and you can add or rearrange blocks there. The Product Collection block can be added to a page or template and supports Related Products, Upsells, Cross-Sells and Hand-Picked Products-style collection patterns. This is the cleanest no/low-code route for many block-theme stores. Important caveat: Woo’s own Product Recommendations extension says it has not been optimised for block themes and may not work as expected when a block theme is active.
Use the cart for one last relevant nudge, not for a second product page
If your store uses the Cart block, edit the cart at Appearance > Editor > Template > WooCommerce > Cart on block themes, or Pages > All Pages > Cart on non-block themes. In current WooCommerce docs, the cart’s cross-sells area sits in Cart Items, and from WooCommerce 10.2 the old Cart Cross-Sells block is soft-deprecated in favour of a Product Collection-powered cross-sells area. Keep it short and clearly complementary. This is where chargers, filters, care products, refills or protection accessories can work; it is not where you should ask the shopper to re-browse the catalogue.
If your recommendation or checkout extension is not block-compatible, decide early whether to revert or replace
WooCommerce marks extension compatibility for Cart and Checkout blocks on product pages, and block-incompatible extensions can cause parts of checkout not to appear as expected. Both Cart and Checkout templates can be transformed back to Classic Shortcode from the block toolbar if you need a stable classic flow while you test or swap extensions. On the classic stack, custom placements usually rely on template hooks such as
woocommerce_after_single_product_summary,woocommerce_before_cart,woocommerce_after_cart_tableorwoocommerce_cart_collaterals.Instrument the surfaces so you can prove what worked
In GA4, recommendation rows are easiest to analyse if each surface writes a distinct
item_list_nameanditem_list_id, for examplepdp_fbt,pdp_bundle,cart_cross_sellormini_cart_add_on. GA4’s ecommerce model explicitly supportsview_item_list,select_item,view_item,add_to_cart,view_cart,begin_checkoutandpurchase, all with item-list context. Put the measurement note inside implementation, not after it: if your current setup cannot distinguish recommendation-originated adds to basket, fix that before changing the merchandising itself.Keep recommendation blocks lightweight
Prefer native Woo blocks where you can. Woo says the Product Collection block gives fast loading with no full-page reloads, unless third-party blocks are used inside it. Be especially careful with third-party recommendation widgets and testing scripts, because web.dev notes that third-party JavaScript is a common cause of slowdowns. Lazy-load offscreen images and embeds in recommendation areas, reserve image dimensions to avoid CLS, and never lazy-load the main PDP image if it is your LCP element. Also note that Woo Product Recommendations regenerates results on demand; the first visitor after a 24-hour expiry window can trigger regeneration, so test warm and cold states separately.
How To Measure
The primary KPI is AOV, with RPV as the more complete commercial readout because it captures both order value and conversion behaviour. Secondary KPIs are items per order, recommendation click-through and attach behaviour. For GA4, track view_item_list, select_item, add_to_cart, view_cart, begin_checkout and purchase, and make sure the item list context identifies the exact recommendation surface, such as pdp_fbt or cart_cross_sell. Google’s ecommerce guidance explicitly supports list-level tagging through item_list_id and item_list_name.
Read it in two places. In GA4, use the Ecommerce purchases report for item revenue and purchase behaviour, then build an Exploration with event or session segments filtered by recommendation surface to compare exposed versus non-exposed traffic. In WooCommerce Product Recommendations, use WooCommerce > Recommendations > Performance for the quick seven-day digest and WooCommerce > Analytics > Recommendations for gross sales, net sales, items sold and orders containing converted products, filterable by product and engine location. Woo’s view-tracking uses a viewport threshold of 2 seconds, which matters when you compare internal recommendation views with GA4 list views.
Success looks like a sustained increase in AOV and RPV, plus more items per order, on surfaces where recommendations are relevant and visible. If you launch bundles, look for a higher share of orders containing the bundle or bundle components; if you launch FBT or cart cross-sells, look for higher add-to-cart attachment from those surfaces and stable or improved checkout progression. Because recommendation quality varies by category, compare by product family, not only sitewide totals. This is an evidence-led inference based on GA4’s item-list model and Woo’s recommendation reports.
Guardrail metrics that must not get worse are conversion rate, checkout completion from begin_checkout to purchase, and LCP / INP / CLS on the PDP and cart. Google’s good thresholds are LCP within 2.5 seconds, INP below 200 ms and CLS below 0.1; Search Console’s Core Web Vitals report and PageSpeed Insights field data are the practical places to watch those after deployment. If you are testing on block checkout, also confirm that payment methods still appear normally, because Woo documents that incompatible extensions can break the block checkout experience.
Pitfalls
- Myth: “Related products” are the same thing as frequently bought together.
- Mistake: adding more recommendation rows because “more exposure” should mean more revenue.
- Mistake: using static bundle parent pricing for everything.
- Mistake: assuming every recommendation plugin is block-theme and block-checkout ready.
- Mistake: treating recommendation tracking cookies as automatically exempt.
Examples
FAQs
Bundles work better when the offer is a real kit, pack or pick-and-mix proposition, while frequently-bought-together works better when the main purchase is still one product and only some shoppers need complements. Product Bundles are designed to sell grouped products together, while Woo’s FBT engine is based on co-purchase patterns and will not even fire on low-volume products without enough order history.
Use the product page for the first, most relevant complement, and use the cart for a short final nudge rather than a second browsing experience. Woo supports recommendation locations on both PDPs and cart/checkout pages, but NN/g’s cart research says checkout should keep focus on purchasing, and Baymard shows irrelevant cart cross-sells hurt engagement.
Yes for the baseline, provided you stay within admin-configured features and test theme compatibility carefully. Core linked products, Product Collection blocks, Cart block cross-sells and Product Bundles can all be configured from the admin, though classic-hook custom placements, block-theme edge cases and GA4 tagging often still need technical help.
They can if you add heavy third-party widgets or too many cards, but they do not have to. Woo says Product Collection is built for fast loading without full-page reloads unless third-party inner blocks are used, and Google’s guidance supports lazy-loading offscreen recommendation media while keeping the main LCP image eager.
Then start with hand-picked complements and bundles, not behaviour-driven FBT. Woo’s own FBT engine needs at least 10 orders for the viewed product before it will generate recommendations, so low-volume catalogues are better served by manual merchandising first.
Sources & Further Reading
Want us to implement this for you?
We run measured CRO consultancy for WooCommerce. If you want help prioritising, testing & implementing these improvements, tell us about your store.
Book PilotAbout This Page
- Written By: Eliot Webb – Founder & WooCommerce CRO Consultant
- Last Reviewed: 22 Jun 2026
- Last Updated: