WooCommerce Cross Sell: How to Set Up, Display, and Troubleshoot Cross-Sells


Published: 8 Sep 2026


WooCommerce Cross Sells

If you’ve ever added a camera to your cart online and seen a memory card suggested right alongside it, that’s a cross-sell in action. Setting up a WooCommerce cross sells is one of the simplest ways to increase how much each customer spends, and WooCommerce already has this built in for free, no plugin required.

A WooCommerce cross-sell is a complementary product recommendation shown to a customer based on what they’ve already added to their cart. You set cross-sells manually, product by product, under Product Data → Linked Products → Cross-sells, and WooCommerce handles the display for you from there.

This guide covers how to set cross-sells up, where they actually display depending on your cart type, how they differ from upsells and related products, whether you need a plugin, and what to check when they aren’t showing.

These three terms get mixed up constantly, and search behavior shows people genuinely confuse them, so it’s worth being precise before you set anything up.

FeatureCross-sellUpsellRelated products
GoalAdd a complementary itemEncourage a better alternativeShow similar products
ExampleCamera → memory cardBasic laptop → premium laptopCamera → other cameras
How it’s chosenManually linkedManually linkedGenerated automatically
Typical locationCartProduct pageProduct page
Needs a plugin?NoNoNo

The easiest way to remember it:

  • Cross-sell – “add this to your purchase”
  • Upsell – “consider this better alternative instead”
  • Related product – “you might also be interested in this”

Related products are worth calling out specifically, since they’re the source of a lot of confusion: WooCommerce generates these automatically from shared categories and tags, and displays them on the product page. You never choose them manually. Cross-sells are the opposite, you pick the exact products yourself.

 Native WooCommerce cross-sells are traditionally displayed in the cart; on newer stores using the block-based cart, the Product Collection Cross-Sells block gives you more control over exactly how and where that recommendation section appears.

Real Examples: What Makes a Good Cross-Sell

The strongest cross-sells help a customer use, protect, or get more out of what they’re already buying.

  • Electronics store: a laptop paired with a sleeve, a wireless mouse, or a USB-C hub
  • Fashion store: a dress paired with a matching belt, a handbag, or jewelry
  • Camera store: a camera paired with a memory card, a spare battery, or a tripod

None of these replace the main product, they complete it. That distinction is what separates a genuinely useful cross-sell from a random product shoved into someone’s cart.

How to Set Up Cross-Sells in WooCommerce (No Plugin Needed)

This takes about a minute per product, and it works on any product you’ve already created, whether it’s published or still a draft.

  1. From your wordpress dashboard, go to Products → All Products.
How to Set Up Cross-Sells in WooCommerce - step 1 From your WordPress dashboard, go to Products → All Products.

2. Find the product you want to add a cross-sell to, and click Edit.

How to Set Up Cross-Sells in WooCommerce -step 2 Find the product you want to add a cross-sell to, and click Edit.


3. On the product editing screen, look for the Product data box,  it sits below the description field, with several tabs along its left side (General, Inventory, Shipping, Linked Products, and a few others). Click Linked Products.

How to Set Up Cross-Sells in WooCommerce- step 3. On the product editing screen, look for the Product data box, 

4. In the Cross-sells field, start typing the name of a related product. WooCommerce shows matching results as you type, click one to add it.

step 4 In the Cross-sells field, start typing the name of a related product.

5. Select each product you want to recommend, add as many as make sense.

5. Select each product you want to recommend, add as many as make sense.

6. Click Update (the blue button, usually top-right of the screen) to save.

6. Click Update (the blue button, usually top-right of the screen) to save.

    Once saved, you can confirm it worked by adding that product to your cart on the live site and checking the cart page for your recommended items underneath.

    woocommerce cross sells. final look of live product

    That’s the entire native setup, free and built directly into WooCommerce core.

    Where Cross-Sells Actually Display

    By default, WooCommerce displays cross-sells on the cart page, not the product page. The exact behavior beyond that depends on which cart your store is running, and this is the part that trips people up.

    Classic Cart (Most Existing WooCommerce Sites)

    Cross-sells display below the cart contents once a customer has added an item. If you’ve linked cross-sells correctly and still don’t see them, check your theme first, since some themes override or reposition this section.

    Block-Based Cart (Newer WooCommerce Installs)

    The behavior here is different, and it’s worth knowing about. WooCommerce introduced the Product Collection block’s Cross-Sells collection as a replacement for the older Cart Cross-Sells block, starting with version 10.2,  confirmed directly in WooCommerce’s own documentation. This isn’t just a rename: it gives you real settings for sorting, columns, layout, and filtering that the classic cart never had.

    If someone tells you “cross-sells are always random with no way to control them,” that’s outdated advice, it only applies to the classic cart, not the current block-based one.

    Either way, cross-sells don’t show up on the product page by default. If you want that, see the plugin section below.

    Does WooCommerce Have a Cross-Sell Shortcode?

    Not a dedicated one. WooCommerce does have a real, official shortcode: [related_products]  but that displays automatically generated related products, not your manually assigned cross-sells.

    For cross-sells specifically, there’s a PHP function, woocommerce_cross_sell_display(), which a developer can use to render cross-sells somewhere other than the cart. But it’s a function, not a ready-to-use shortcode you can just paste into a page. If you’ve seen a “cross-sell shortcode” mentioned somewhere, it’s almost always coming from a specific plugin, not WooCommerce itself, and it’ll only work if that exact plugin is installed.

    WooCommerce Upsell or Cross-Sell: Which Should You Use?

    Use an upsell when you’re offering a better version of the same thing; use a cross-sell when you’re offering something that complements it.

    For an upsell, that means a genuinely better version of the exact thing someone’s already looking at, a $50 office chair versus a $75 ergonomic one. The customer is choosing between alternatives, not adding something extra.

    For a cross-sell, the additional product complements the original purchase rather than replacing it, a camera plus a memory card, not a camera plus a better camera.

    You can use both together, aimed at different moments in the buying journey: an upsell on the product page while someone’s still deciding, and a cross-sell in the cart once they’ve committed. A camera store might show a premium camera as an upsell on the product page, then suggest a memory card and camera bag as cross-sells once the basic camera is in the cart.

    Do You Need a Plugin for Cross-Sells?

    Usually, no. Native cross-sells cover the basic case completely, for free.

    A plugin becomes genuinely useful once you need:

    • Cross-sells displayed on the product page instead of just the cart
    • Control over display order, if you’re still on the classic cart and haven’t moved to the block-based one
    • “Frequently bought together” style automatic recommendations based on real purchase data
    • Category-based or conditional recommendation rules

    If none of that applies to your store yet, skip the plugin and use the native Linked Products setup. Check what your current cart type already offers, especially if you’re on the newer block-based cart,  before assuming you need to add something extra.

    Can You Automate WooCommerce Cross-Sells?

    Yes, but it’s usually not necessary for smaller stores. It’s worth understanding the real difference before reaching for it. Native cross-sells are entirely manual,  you decide which products pair with which, one at a time. 

    Automated recommendations work differently: they use rules or customer data (purchase history, browsing behavior, or “frequently bought together” patterns) to generate suggestions without you assigning each one by hand.

    For a small catalog, manual is often genuinely easier, since you already know which products belong together better than an algorithm guessing from limited data would. Automation starts paying off once you have a large catalog, frequent product changes, or enough order history for patterns to actually mean something. 

    If you’re running a handful of products, don’t add a recommendation engine just because automation sounds more advanced, it usually isn’t worth the added complexity at that scale.

    Where Should You Display Recommendations Beyond the Cart?

    Everything covered so far is about the cart, since that’s where native cross-sells live. But if you’re using a plugin or custom development to place recommendations elsewhere, it’s worth matching the placement to where the customer actually is in their decision:

    • Product page – good for helping customers discover accessories before they’ve committed to buying, which is really upsell-and-related-product territory more than cross-sell.
    • Checkout – use carefully. Someone who’s ready to pay generally doesn’t want to wade through more suggestions; a small, tightly relevant nudge works better here than a full product grid.
    • After purchase – often underused, and a good fit for consumables, refills, or accessories the customer will realistically need soon (a printer sold today, ink suggested in the order confirmation or a follow-up).

    The common thread: match the recommendation to what the customer is actually trying to do at that moment, rather than showing the same suggestions everywhere on the site.

    Cross-Sell Strategies Worth Following

    Adding products to the Cross-sells field is only half the job. A few things separate a genuinely useful cross-sell from a random suggestion:

    1. Ask what the customer would reasonably need next, not just what’s in the same category. A memory card next to a camera makes sense; a random phone accessory doesn’t.
    2. Keep the price relationship sensible. A $15 accessory feels natural next to a $100 product; a $300 unrelated item usually doesn’t.
    3. Explain the recommendation instead of just labeling it “you may also like.” “Complete your camera setup with a fast memory card” gives the customer an actual reason.
    4. Don’t overload the cart. A handful of genuinely relevant suggestions beats a long list nobody reads.
    5. Keep cross-sells in stock. Recommending something a customer can’t actually buy creates a worse experience than not recommending anything at all.
    6. Review your cross-sells periodically. Products get discontinued, go out of stock, or stop making sense as your catalog changes, a relationship that made sense six months ago might not anymore.
    7. Use real order data when you have it. If customers frequently buy two products together, that pattern is a stronger signal than a guess based on category alone.
    8. Consider a small bundled discount for genuinely paired items. A modest price break for buying the cross-sell alongside the main product can be the extra nudge that turns a suggestion into an actual add, though it’s worth testing on your own store rather than assuming it always helps, since it also cuts into your margin.

    WooCommerce Cross Sell: Common Problems and Fixes

    Even after setting up your WooCommerce cross-sells correctly, they may not appear where you expect, or may keep changing unexpectedly. The cause can be as simple as checking the wrong cart type or forgetting to save a linked product. Here are the most common WooCommerce cross-sell problems and the practical fixes to check first.

    Why aren’t my WooCommerce cross-sells showing up? 

    First, make sure you’re checking the cart page, not the product page,  that’s where cross-sells display by default, regardless of which cart type you’re using. If they’re still missing, confirm the products were actually saved under Linked Products, and that they’re published and in stock.

    How do I remove cross-sells from the WooCommerce cart?

    On the classic cart, the reliable way is removing the products from each item’s Cross-sells field individually,  there’s no single on/off switch. On the block-based cart, check the Product Collection Cross-Sells block’s settings, since you may be able to remove or disable that section directly from there.

    Why is a cross-sell I removed still showing up? 

    Clear your site cache first, this is often just a caching plugin serving an old version of the cart page.

    Can I move cross-sells from the cart to the product page? Not with native settings, on either cart type. You’ll need a plugin built for repositioning cross-sells, or custom code using woocommerce_cross_sell_display().

    Why does my cross-sell order keep changing every time I check? 

    If you’re on the classic cart, that’s expected,  it sorts randomly by default with no native setting to change it. If you’re on the block-based cart, check the Product Collection Cross-Sells block’s sorting options before assuming you need custom code, since that newer system does support real ordering controls.

    Mistakes Worth Avoiding

    A few habits quietly undercut cross-sells even when the setup itself is correct: recommending products with no real connection to the original purchase, adding so many suggestions that none of them stand out, and forgetting to check that linked products are still in stock as your catalog changes. None of these break anything technically,  they just make the feature less useful than it could be.

    Where to Go From Here

    You now know how woocommerce cross-sells work, how to set them up natively, where they actually display depending on your cart type, and when a plugin is genuinely worth adding versus when the free method already covers what you need.

    If you’re setting up products with multiple options like size or color, we’ve covered how to create those options from scratch separately, worth doing before you start linking cross-sells between variations of the same product line. And if you’re still deciding how your cart itself behaves after checkout, it’s worth checking what happens right after a customer clicks Add to Cart too, since that setting shapes the same part of the buying flow.

    Conclusion

    WooCommerce cross-sells are simple to set up, but the value comes from choosing the right products to recommend. You don’t need a plugin to get started. WooCommerce already lets you manually link complementary products through Product Data → Linked Products → Cross-sells.

    For most stores, a few well-matched recommendations are enough. Keep them relevant to the customer’s purchase, make sure they’re in stock, and review your product pairings as your catalog changes. If you’re using the newer block-based cart, you also have more control over how cross-sells are displayed than with the classic cart.

    Plugins and custom code make sense when you need features such as product-page cross-sells, automated recommendations, or more advanced rules. Until you need those features, the native WooCommerce option is often all you need.

    The goal isn’t to show more products. It’s to recommend the right product at the right point in the buying process, something that genuinely makes the customer’s purchase more complete.

    Frequently Asked Questions

    What is a WooCommerce cross-sell?

    A complementary product recommendation shown to a customer based on what they’ve already added to their cart, like suggesting a laptop bag when someone buys a laptop.

    What’s the difference between WooCommerce cross-sells and upsells?

    Cross-sells recommend complementary products that add to the purchase. Upsells recommend a better or pricier alternative to the exact product someone’s already considering.

    Do WooCommerce cross-sells show on the product page?

    Not by default, on either the classic or block-based cart. They display on the cart page. Showing them on the product page requires a plugin or custom development.

    Does WooCommerce have a cross-sell shortcode?

    Not a dedicated one. WooCommerce’s real shortcode, [related_products], is for automatically generated related products, not manually assigned cross-sells. Any “cross-sell shortcode” you’ve seen comes from a specific plugin, not WooCommerce core.

    Do I need a plugin for WooCommerce cross-sells?

    No, not for the basic version. Native cross-sells work without any plugin. A plugin becomes useful for product-page display, purchase-history-based recommendations, or custom sort order on the classic cart.

    Why does my cross-sell order keep changing?

    On the classic cart, that’s the default random sorting behavior, with no native fix. On the newer block-based cart, check the Product Collection Cross-Sells block’s own sorting settings first.

    How do I remove a cross-sell from a product?

    Open the product, go to the Linked Products tab, remove it from the Cross-sells field, and click Update.

    Do I need to download anything to use cross-sells in WooCommerce?

    No. Cross-sells are built directly into WooCommerce core, there’s nothing to download for the basic setup. You’d only download a plugin for features beyond that, like product-page display or automated recommendations.

    Can WooCommerce cross-sells be automated instead of set manually?

    Not natively. Native cross-sells are entirely manual, product by product. Automated recommendations, based on things like purchase history or frequently-bought-together patterns, require a plugin or custom development built for that purpose.

    What’s the ideal price for a cross-sell product?

    There’s no fixed rule, but a cross-sell priced noticeably lower than the main product tends to feel like a natural add rather than a hard sell, a $15 accessory next to a $100 item, for example. A cross-sell priced close to or above the main product usually makes more sense framed as an upsell instead.

    Do cross-sells work equally well for every type of product?

    Not really. They tend to work best for products with genuine, obvious accessories or consumables, electronics, cameras, or anything with recurring refills. For one-off, standalone purchases with no natural add-on, forcing a cross-sell can feel arbitrary rather than helpful, so it’s worth being selective about which products actually get one.

    Sources: WooCommerce Cart block documentation, WooCommerce’s product editor documentation.


    Haj Bibi Avatar
    Haj Bibi

    Hi, I’m Haj Bibi. I specialize in WordPress and SEO, helping websites perform better, rank higher, and reach the right audience. I share practical tips and strategies to make managing and optimizing websites easier for everyone.


    Please Write Your Comments
    Comments (0)
    Leave your comment.
    Write a comment
    INSTRUCTIONS:
    • Be Respectful
    • Stay Relevant
    • Stay Positive
    • True Feedback
    • Encourage Discussion
    • Avoid Spamming
    • No Fake News
    • Don't Copy-Paste
    • No Personal Attacks
    `