tTendlio
  • How it works
  • Why Tendlio
  • Pricing
  • Resources
    • Guides
    • Documentation
    • FAQ
  • Try Tendlio for Free
Try Tendlio for Free
  • How it works
  • Why Tendlio
  • Pricing
  • Resources
    • Guides
    • Documentation
    • FAQ
  • Try Tendlio for Free

Getting started

14
  • How to install Tendlio
  • What Tendlio does
  • What Tendlio can do for you automatically
  • How to check your tools on the Growth engine page
  • How to set up Tendlio with the Getting started guide
  • How to set up Tendlio and run your first analysis
  • How to compare your Dashboard numbers with earlier periods
  • How to choose and arrange your Dashboard cards
  • Understanding your scores
  • Where the scores come from
  • How to work through your to-do list
  • What your to-do list can catch
  • How to get a daily task from the Growth coach
  • How and when to re-scan your store

What the numbers mean

6
  • Product health colors (Fast / Steady / Slow / Dead)
  • ABC class (A / B / C)
  • Selling pace (Sales/mo)
  • Forecast & “runs out in”
  • AOV and gross profit
  • How Sales lift counts what Tendlio brought in

Inventory

13
  • How to use the Products table
  • How to read a product’s Insights page
  • How to boost a product, or hide it from recommendations
  • What the Inventory Score measures
  • How to decide what to restock and how much to order
  • Reading the Forecast page
  • How to set up Auto outlet to clear your dead stock
  • How to discount products yourself with Manual outlet
  • How to test a higher price on a best-seller
  • How to set up your suppliers and order from each one
  • How to use the Tendlio fields on a product
  • How to set up seasonal detection
  • If you also sell in a physical shop

Customers

11
  • What your customer segments mean
  • What the Customer Score measures
  • How to act on a customer segment
  • How to find and contact customers in the Customer list
  • How to send a campaign to your customers
  • How to welcome first-time buyers and nudge them to a second order
  • How to recover abandoned checkouts and carts
  • How to ask customers for a review after their order
  • How to thank your best customers with Customer recognition
  • Coupons the plugin creates (and cleans up)
  • How to build an email in the email editor

Storefront

9
  • How to show frequently bought together products on your product pages
  • How to suggest more products on your cart page
  • How Tendlio suggests a free-shipping threshold
  • How to show in-stock alternatives when a product is sold out
  • How to set up a Deals page and offer a free gift
  • How to sort your product listings by profit with Smart Product Sort
  • How to set up Recommended for you, Trending now, On-sale picks and 404 suggestions
  • Measuring what the widgets earn
  • Storefront widget positions and shortcodes

Email sending

4
  • How to set up email sending and switch it to Live
  • How to check that your emails reach the inbox (SPF, DKIM, DMARC)
  • Who you can email (consent, in plain words)
  • How sending works: waiting emails, the daily limit and email analytics

Reports

5
  • What’s in Reports
  • Views to sales (where shoppers drop off)
  • Are your discounts paying off? (Discount report)
  • How to read your Store summary and get it by email
  • How to track your net profit, CAC and ROAS

Settings & your data

7
  • How to give Tendlio your product costs
  • How to choose who can use Tendlio and how its menu looks
  • How to switch between Simple and Advanced mode
  • How to see your activity and cleared to-dos in History
  • Your data and privacy
  • How to use the System status page
  • How to contact support or send feedback

Troubleshooting & FAQ

13
  • The analysis looks stuck or is taking long
  • My numbers don’t match WooCommerce Analytics
  • Which orders count as a sale
  • Emails aren’t going out
  • Staging copies and moving your store
  • Tendlio isn’t recording product visits
  • A storefront widget doesn’t show up
  • Caching and optimization plugins: what to exclude for Tendlio
  • Cart recommendations show nothing
  • If a storefront feature is off, does it still load?
  • A score shows “-” instead of a number
  • A to-do I marked done came back
  • Starting over, or what happens if I uninstall
View Categories
  • Home
  • Docs
  • Storefront
  • How to show frequently bought together products on your product pages

How to show frequently bought together products on your product pages

11 min read

Frequently bought together adds a row to your product pages. The row shows the products shoppers buy together with the product on the page. Tendlio works the pairs out from your own orders and keeps them up to date, so there’s no list for you to keep.

You will learn #

  • How to switch the row on and choose where it appears
  • What to do if the row doesn’t show up on your theme
  • How Tendlio chooses the products in a row
  • How the pairs stay up to date, and how to rebuild them yourself

Before you begin #

  • Keep WooCommerce Analytics on. Tendlio learns from WooCommerce Analytics which products were bought in the same order. Without that data there’s nothing to build pairs from, and the panel says “WooCommerce Analytics order data wasn’t found yet”.
  • Run an analysis first. Tendlio makes a row for a product’s page once the product has sold at least 3 units in the last 12 months, as your last analysis counted them. Tendlio runs an analysis every week on its own, and you can start one with Re-scan store at the top of the Dashboard. A product with fewer sales doesn’t get a row of its own yet, but it can still appear in the rows of other products.
  • Look at a product page before you rely on the row. The row shows on your storefront, so how it fits depends on your theme.

Open the settings #

  1. In your WordPress admin, open Tendlio → Storefront. The Recommendations tab opens first.
  2. Frequently bought together is the first panel. If it’s closed, click Settings to open it.

Switch the row on #

  1. Turn on Enable the frequently bought together section. The rest of the panel’s settings appear once the switch is on.
  2. Under Position, choose where the row sits on the product page:
    • Below the product summary (recommended): a wide row under the product’s main details.

    • Just above Related products or Bottom of the product page: lower on the page, also full width.

    • Below the whole product area (works with page builders): for themes and page builders that change the product page layout.

    • After the Add to cart button (narrow column): in the column with the product’s price and Add to cart button, where fewer cards fit.

    • Shortcode only (I’ll place it myself): you place the row yourself with a shortcode (see below).

      To see where each spot is, click Preview the layout.

  3. Under Heading, type the title shoppers see above the row. It starts as “Frequently bought together”. If you clear the field, the row shows without a title.
  4. Under How many to show, set how many cards show at once on Desktop and on Mobile. Total to load is how many products the row holds. They start at 6, 2 and 8. Shoppers swipe or use the arrows to see the rest, and the next card peeks in at the edge so they can see there’s more.
  5. Click Save settings.

If the pairs have never been built, Tendlio starts building them in the background once you save with the row switched on. To build them right away and watch the progress, use Build recommendations now (see “Keep the pairs up to date” below).

Check the row on your store #

Open a product that shoppers buy together with other products, for example one of your best-sellers, and scroll to the spot you chose. Each card shows the product’s photo, name and price the way your store shows them, including your theme’s sale badges. The round button on the photo adds the product to the cart. For a product with options, like a size or a color, the button opens the product page so the shopper can choose.

If a product has no pairs yet, its page shows no row at all, so shoppers never see an empty box.

If the row doesn’t show up #

Some themes and page builders, including some themes built from blocks, don’t use the standard WooCommerce spots on the product page. On those themes, a row placed in a standard spot doesn’t appear.

  1. Under Position, choose Below the whole product area (works with page builders), click Save settings, and check the product page again.
  2. If the row still doesn’t show, choose Shortcode only (I’ll place it myself) and click Save settings. The panel then shows the shortcode [tendlio_bought_together] with a Copy button.
  3. Paste the shortcode where you want the row: in your product page template, in your page builder or in the Site Editor.

The shortcode also takes three optional settings. id picks the product the row is for, so you can place the row on a page that isn’t a product page. limit sets how many products it loads, and title sets the heading, for example [tendlio_bought_together id="123" limit="8" title="Often bought together"].

Tendlio also notices when the row doesn’t show. It watches whether your product pages load the spot you chose for the row. If it hasn’t seen that spot load for a week, counted from when you switched the row on or from when it last showed, the row’s card on the Growth engine and Sales lift pages reads On, but not showing, and a note under Position names the shortcode to place. If the row used to show and then stopped, for example after you changed your theme, the note says when Tendlio last saw it. Once the row shows again, the card goes back to its usual status.

Keep products out of the row #

  • To keep whole categories out, open Exclude categories in the panel and tick them. Products in those categories never appear in this row, and ticking a category includes its subcategories.
  • To keep one product out of every recommendation row, tick it on Products & insights and click Hide from recommendations. The Boost button next to it moves a product up in the rows it belongs to, but doesn’t add it to other rows. Boost and Hide explains both.

Keep the pairs up to date #

Tendlio rebuilds the pairs on its own, once a week unless you change that under Keep it fresh (Advanced mode). It keeps doing so as long as this row or anything else that uses the same pairs is on, such as the cart recommendations. The Build recommendations panel, further down the Recommendations tab, says when the pairs were last built and, while this row is on, when the next rebuild is due.

To rebuild now, for example after a busy season or after you’ve added many products, click Build recommendations now. A bar shows the progress, and at the end the panel says how many products got a row: “Done. Built recommendations for N products.”

The build can stop with a message instead:

  • “No products have enough sales yet to build from” means no product has reached the sales a row needs. Run an analysis first, or lower Minimum sales to include a product (Advanced mode).
  • “No WooCommerce Analytics data found” means WooCommerce Analytics has no order data for Tendlio to read.

Fine-tune the pairs (Advanced mode) #

In Advanced mode, the panel shows three more settings:

  • Minimum times bought together (starts at 2): a pair counts only once the two products have been bought together in at least this many orders. It decides which pairs qualify, not their order in the row. On a busy store you can raise it so only well-proven pairs show. On a small store, lowering it gives you more suggestions.
  • Minimum sales to include a product (starts at 3): a product gets its own row once it has sold at least this many units in the last 12 months. Below that, it can still appear in the rows of other products.
  • Keep it fresh: rebuild every week, or pick your own number of days.

When you change either minimum, Tendlio treats the pairs as due for a rebuild and builds them again within a day. To see the change right away, click Build recommendations now.

Settings every row shares #

Three panels at the bottom of the Storefront page apply to every row, this one included:

  • Add to cart button: pick the icon inside the round button on each card (a cart, a shopping bag, a basket, a bag with a plus, or a plus). Auto picks the one that fits your store type.
  • Sold-out products: the rows leave out products that are sold out. If you keep sold-out products on your site on purpose, for a waitlist or a notify-me signup, turn on Show sold-out products in the rows. Their cards then take shoppers to the product page. In-stock alternatives, Smart 404 suggestions and the Deals page always leave sold-out products out.
  • Custom CSS for storefront widgets: your own CSS, to adjust how the rows look on your theme.

Why the row works this way #

Best-sellers don’t fill every row #

On a product’s page, the row starts with the products whose own orders most often include that product. For each product that has been bought together with it, Tendlio asks: what share of this other product’s own orders also held the product on the page? A product that sells mostly alongside it gets a high share. A best-seller that ends up in lots of baskets gets a low one, because most of its orders don’t include the product on the page. If Tendlio counted only the orders two products share, a best-seller would show up in a lot of rows only because it’s in so many baskets, and push back the products that go with the product on the page.

Tendlio also holds back a product that has few orders of its own. Without that, a product bought twice, both times together with the product on the page, would look like a perfect match on the strength of two orders.

Recent orders count double #

When Tendlio ranks the products in a row, every order counts, and an order from the last two years counts twice. Without that, a pair that sold well three years ago could keep outranking what your shoppers buy together now. Minimum times bought together counts each shared order once, however recent.

Only orders that count as a sale #

The pairs come from the same orders Tendlio counts as sales everywhere else, so canceled, refunded and failed orders never shape a pair. A free gift a shopper claimed in the cart doesn’t count as bought either.

A product can drop out of a row #

A row leaves out products shoppers can’t buy right now: products hidden from your catalog, products that can’t be bought, and sold-out products, unless you’ve turned on Show sold-out products in the rows. The next product on the list takes the empty place.

See what the row earns #

Once the row has sold something, its card on the Growth engine page shows what it brought in. For the details, product by product, click See report at the top of the Storefront page.

On Products & insights, the Bought with column names the product this row shows first on each product’s page. To show it, click Columns and pick Storefront under Ready sets.

Additional resources #

  • How to suggest more products on your cart page: the same pairs, on the cart page.
  • Measuring what the widgets earn: how Tendlio counts the clicks and sales a row brings in.
  • A storefront widget doesn’t show up
  • Which orders count as a sale
  • How to boost a product, or hide it from recommendations: move a product up in the rows, or keep it out of them.

Frequently asked questions #

Can I choose the products in the row myself? #

No. The row comes from your orders. You can keep categories out of it, hide a product from all recommendation rows, or boost a product so it moves up in the rows it already belongs to.

Why doesn't a product have a row? #

It hasn't sold enough yet (3 units in the last 12 months unless you've changed the minimum), nobody has bought it together with another product often enough, every product it pairs with is hidden, sold out or in an excluded category, or the pairs haven't been rebuilt since it reached the minimum. Build recommendations now rebuilds them.

Why is my best-seller missing from most rows? #

On each product's page, Tendlio puts first the products whose own orders most often include that product, so a best-seller that ends up in lots of baskets doesn't take a place in every row.

Does turning the row off stop the weekly rebuild? #

Only when nothing else uses the pairs. The cart rows and other widgets that use the same pairs keep the rebuild going.

Updated on September 28, 2026
Storefront widget positions and shortcodesHow to suggest more products on your cart page
Table of Contents
  • You will learn
  • Before you begin
  • Open the settings
  • Switch the row on
  • Check the row on your store
  • If the row doesn't show up
  • Keep products out of the row
  • Keep the pairs up to date
  • Fine-tune the pairs (Advanced mode)
  • Settings every row shares
  • Why the row works this way
    • Best-sellers don't fill every row
    • Recent orders count double
    • Only orders that count as a sale
    • A product can drop out of a row
  • See what the row earns
  • Additional resources
  • Frequently asked questions
    • Can I choose the products in the row myself?
    • Why doesn't a product have a row?
    • Why is my best-seller missing from most rows?
    • Does turning the row off stop the weekly rebuild?
tTendlio

More profit from the WooCommerce store you already run.

Product

  • How it works
  • Why Tendlio
  • Pricing

Resources

  • Documentation
  • Guides
  • FAQ

Tendlio

  • About
  • Contact & support

Practical WooCommerce tips to help you sell more.

    An email when we publish a new guide, plus the news when Tendlio launches. Unsubscribe anytime. Privacy policy

    © 2026 Tendlio. Privacy Terms Refunds

    Cookie settings

    We'd like to use cookies to count visits and see how people use these pages. We set them only if you accept, and you can change your choice any time under Cookie settings.

    Functional Always active
    The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
    Preferences
    The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
    Statistics
    The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
    Marketing
    The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
    • Manage options
    • Manage services
    • Manage {vendor_count} vendors
    • Read more about these purposes
    Preferences
    • {title}
    • {title}
    • {title}