Guides

WooCommerce product recommendations and cart cross-sells

By Mariusz Szatkowski · Updated: 2026-11-06

WooCommerce product recommendations are product suggestions placed where the shopper is already deciding: under the product summary, under the cart, or in a row of products the visitor has just looked at. A good recommendation answers one question: what else belongs with this? This guide explains where recommendations belong, how the common strategies differ, what a recommendation tool needs to get right, and how the free Pair plugin adds automatic recommendations to WooCommerce without a recommendation service, without front-end JavaScript and without manual curation.

What product recommendations are

A product recommendation is a short list of other products shown next to a product the shopper is looking at or has already put in the cart. It sits in the flow of the page, with no popup or countdown, and offers a next step.

Three types cover almost every store:

  • Related products on the product page, for example “You may also like”, show alternatives and companions to the product being viewed.
  • Cart cross-sells under the cart, for example “Add these to your order”, suggest add-ons to products the shopper has already chosen.
  • Recently viewed products remind a returning visitor what they looked at, so they can pick up where they left off.

Recommendations are different from upsells and bundles. An upsell pushes a more expensive version of the same thing. A bundle sells a defined set of products together, often with a discount. A recommendation simply widens the shopper’s view of the catalogue, and the shopper decides whether any of it is relevant.

Why recommendations matter

Recommendations lift order value by surfacing products the shopper did not search for. A shopper who lands on one product from a search ad sees only that product unless the page shows them more. A related products grid turns a single landing into a short browse, and a cart cross-sell offers the add-on at the moment the shopper is already buying.

They also reduce dead ends. A product page with nothing below the summary leaves a shopper who does not want this exact item with only the back button. A recommendation grid gives that shopper a next click inside your store.

The catch is maintenance. WooCommerce’s built-in upsells and cross-sells are picked by hand, product by product. On a catalogue of 30 products that is an afternoon of work. On a catalogue of 3,000 it never gets finished, and the links that do exist go stale: products change category, sell out or are discontinued, while the old cross-sell keeps pointing at them.

Warning: Hand-picked upsells and cross-sells are only as good as the time you spend maintaining them. In a larger catalogue they go stale and keep pointing at yesterday’s offer.

Automatic recommendations solve that by computing the suggestions from data the store already has: categories, tags, sales counts, publish dates and what the visitor has viewed.

Which recommendation strategy to use

Same category ordered by popularity is the safest default for most stores. It shows other products from the same categories as the product (or the cart), with the best-selling ones first, so the suggestions are on topic and proven.

The other strategies fit specific catalogues:

Strategy What it shows Works best when
Same category (by popularity) Products from the same categories, ordered by total sales Your categories are meaningful and not too broad
Shared tags Products that share the item’s product tags Tags describe use, style or compatibility better than categories do
Best sellers Top sellers, within the same categories when there is a product or cart to start from You want proven products in front of new visitors
Newest products Your most recent additions You publish new products often and want them seen
Recently viewed Products this visitor has looked at Shoppers compare several products before buying

The product page and the cart can use different strategies. A common split is same category on the product page, where the shopper is still comparing, and best sellers in the cart, where proven add-ons convert better than more alternatives.

Where recommendations should appear

The product page and the cart are the two placements that pay off. On the product page, the grid sits after the product summary, below the buy button, so it never competes with the main product for attention. In the cart, the suggestions sit after the cart table, where they read as an offer to complete the order rather than as a distraction.

Recently viewed products work on the product page for shoppers comparing items and, optionally, under the cart as a reminder. Keep every block short: three or four products in one row is a suggestion, twelve is a second category page.

What a good recommendation tool needs

Whether you build, buy or install, a recommendation tool for WooCommerce should cover these points:

  • Automatic selection. Suggestions come from catalogue data, so you do not curate every product by hand.
  • A choice of strategy. Category, tags, sales and recency fit different catalogues, so the tool lets you pick per block.
  • No empty blocks. A small catalogue or a lonely category still produces a full row through a sensible fallback.
  • Stock awareness. Out-of-stock products stay out of the grid unless you choose otherwise.
  • No duplicates. The product being viewed and products already in the cart are never recommended back.
  • Native look. Products render with the theme’s own product cards, so the grid matches the rest of the catalogue.
  • No performance cost. No slider library, no front-end JavaScript and bounded database queries.
  • Privacy by default. No third-party recommendation service and no personal data in tracking cookies.

How Pair handles it

Pair for WooCommerce is a free plugin that adds three automatic blocks to the store: “You may also like” after the product summary, cross-sell suggestions under the cart and recently viewed products. It computes recommendations on your own site from your WooCommerce catalogue and connects to no external service.

A You may also like product grid on a WooCommerce product page Pair renders related products as native WooCommerce cards, with no slider and no front-end JavaScript.

The five strategies

Every recommendation block uses one of five strategies: same category by popularity (the default), shared tags, best sellers, newest products or the shopper’s recently viewed products. A product-page block never shows the product being viewed, a cart block never shows products already in the cart, and only published products visible in the catalogue are picked. If a strategy finds fewer products than the block needs, Pair tops it up with your most recent products, so the block never collapses into an awkward empty space.

The dedicated recently viewed block is the exception: it lists only products the visitor has actually opened and stays hidden when there are none, so a first-time visitor never sees a “Recently viewed” row of products they have never seen.

One grid on the product page

WooCommerce prints its own related products under the product summary. With Pair’s product-page block on, the Replace WooCommerce related products setting hides that grid, so the page shows one recommendation row instead of two. It works on classic themes and on block themes such as Twenty Twenty-Five, and it is on by default for new installs.

Classic cart and the Cart block

Cart cross-sells appear under the classic cart and, on a cart page built with the WooCommerce Cart block, right after the block. If you have already placed a Pair shortcode on that page, Pair skips its automatic copy of the same placement so it does not show twice. The suggestions are worked out when the page loads, so they update after the shopper reloads the cart.

Built to stay light

  • No front-end JavaScript. Blocks are rendered on the server with the active theme’s product-card markup, so there is no layout shift while the page loads.
  • Stylesheet only where needed. The small stylesheet loads on product and cart pages and on pages where a Pair shortcode or Elementor widget renders.
  • Bounded queries. Each block asks for at most the number of products you set, between 1 and 12.
  • A first-party cookie for recently viewed. The pair_recently_viewed cookie keeps up to 20 product IDs for 30 days on the visitor’s device and nothing else.

Note: Pair does not connect to any external service. Recommendations are computed on your own site, and recently viewed products live only in a first-party cookie that holds product IDs.

Shortcodes and Elementor widgets

Two shortcodes place blocks anywhere: [pair_recommendations strategy="related" count="4" columns="4"] renders a recommendation block that uses the current product on a product page and the cart contents elsewhere, and [pair_recently_viewed count="4" columns="4"] renders the shopper’s recently viewed products. When Elementor is active, matching widgets place both blocks inside an Elementor layout. The full parameter list is in the Pair documentation.

Setting it up

  1. Install and activate WooCommerce, then install and activate Pair. Sensible defaults are set on activation.
  2. Open WooCommerce > Pair recommendations.
  3. Turn the product-page block, the cart block and the recently viewed block on or off.
  4. Choose a strategy for the product page and for the cart, and edit the headings if you want your own wording.
  5. Set the number of products and columns (3 and 3 by default) and keep in stock only on for most stores.
  6. Open one product page and one cart with real products to check the result.

Pair recommendations settings in the WooCommerce admin The sectioned settings screen: placements, a strategy per block, headings, product count and columns.

The default headings are “You may also like”, “Add these to your order” and “Recently viewed”. They are translated at display time, so a store running in Polish, German or Spanish shows the language pack’s wording until you type your own.

Practical tips for recommendations that sell

  • Fix categories before tuning strategies. Same-category recommendations are only as good as your category tree. A product filed under a catch-all category gets catch-all suggestions.
  • Use tags for compatibility. Tags such as a device model or a collection name make the shared-tags strategy show products that genuinely fit together.
  • Keep the row short. Three or four products read as a suggestion. More turns the block into a second shop page and pushes reviews and details further down.
  • Keep in stock only on. A recommended product the shopper cannot buy is a dead end that costs a click.
  • Write a heading that explains the reason. “Add these to your order” in the cart says why the products are there; a generic “Products” does not.

Tip: Recommendations follow your data. Clean categories and meaningful tags improve every strategy at once, without touching the plugin settings.

Recommendations versus bundles

Recommendations are suggestions; a bundle is an offer. Use recommendations when you want shoppers to discover alternatives or add-ons on their own terms. Use product bundles when you sell a defined set of products with one button and, optionally, a discount. Both can live in the same store, but keep the recommendation row short when a bundle box is also on the product page, so the two do not compete.

Pair versus default WooCommerce

Capability Default WooCommerce Pair
Product-page recommendations Related products grid, upsells picked by hand Automatic “You may also like” with a strategy you choose
Cart cross-sells Picked by hand per product Automatic, based on the cart contents
Recently viewed products Legacy widget, placed by hand Block on the product page and/or the cart
Strategies Not configurable Category, tags, best sellers, newest, recently viewed
Empty-block fallback n/a Topped up with recent products
Cart block support Cross-sells in the cart block Suggestions after the Cart block too
Front-end JavaScript n/a None
Manual placement Templates Two shortcodes and Elementor widgets
Frequently bought together None Pair PRO, mined from real orders

Free versus PRO

The free edition covers the complete automatic flow: the three blocks, five strategies, the recent-products fallback, count and columns, the in-stock filter, editable headings, shortcodes and Elementor widgets. Pair PRO is a separate paid plugin for stores that want recommendations from real demand and control over them: frequently bought together mined from completed and processing orders, an optional add-all-to-cart button and set discount, manual curation per product, category rules (“when a product is in category A, recommend from category B”), A/B testing of strategies and recommendation analytics with impressions, clicks and attributed add-to-cart. Use the free plugin first; PRO earns its place once you have enough orders for bought-together data to mean something.

The short version

Automatic product recommendations show related products on the product page, cross-sells under the cart and the visitor’s recently viewed products, without hand-picking every link. The free Pair plugin chooses products by category popularity, shared tags, best sellers, newest or recently viewed, fills short rows with recent products, renders native theme cards with no front-end JavaScript and keeps recently viewed data in a first-party cookie.

Pair for WooCommerce