Bundling has been a retail staple for as long as retail has existed.
A pair a razor with a pack of blades, a camera with a case and a memory card, a skincare set with three products instead of one.
It works because it removes a decision. Instead of a customer wondering whether they also need the second item, you’ve already made the case for them, usually with a small discount that makes the bundle feel like the smarter choice than buying each piece separately.
The usual ways stores get this wrong
Most WooCommerce stores that want bundling end up doing one of two things.
The first is grouping products using WooCommerce grouped type.
The second is installing a heavyweight plugin built for complex product configurators when all the store actually needed was to sell three specific products together at a discount.
A bundle as a real product
The Bundle Products feature in my plugin RIACO Revenue Lift takes a simpler route: a bundle is an actual WooCommerce product type, in the same sense that “Simple product” and “Variable product” are product types.
It isn’t a page pretending to be a product.
It shows up in your shop loop and search results, can be assigned categories and tags like anything else in your catalog, has its own permalink, and is fully compatible with High Performance Order Storage if your store has that enabled.
This distinction matters more than it sounds like it should.
A product type that WooCommerce itself understands means your existing theme, your existing search, and your existing shop widgets all handle it correctly without special-casing.
A shortcode-built “bundle page” has to be manually excluded or included everywhere those systems touch it.
Setting one up
Creating a bundle happens inside the normal product editor you already use for every other product.
There’s no separate screen to learn.

You change the product type dropdown to “Bundle,” and a dedicated panel appears.
Adding products
At the top of the panel is a search field using the same product picker WooCommerce uses elsewhere in the admin, so finding and adding products feels familiar rather than like a new interface.
Each product you add appears as a row with a thumbnail, its name, and its current unit price, so you can see at a glance what you’re assembling and roughly what it would cost unbundled.
Setting quantities
Each item in the bundle gets a quantity that you, the store owner, control with a simple stepper.
This is a deliberate design choice: the customer buying the bundle can’t change how many of each item are included.
That keeps the offer exactly as you intended it, if you’re bundling one bottle of shampoo with two bars of soap because that’s the ratio that makes sense as a set, that’s what gets sold, every time.
Applying a discount
Below the item list is a discount section where you choose a type, you can set percentage off, a fixed amount off, or no discount at all and then enter the amount.
The bundle’s price recalculates from the current prices of its child products, which means if you later change the price of an item inside the bundle, the bundle price adjusts along with it.
You’re never stuck manually reconciling a bundle price against products that have since changed.
Reviewing the summary
At the bottom of the panel, a price summary shows the original combined price of the components next to the final bundle price in the color your admin theme uses to highlight totals.
It’s the same number a customer will eventually see on the product page, so there’s no surprise between what you configured and what gets sold.
What customers see
On the product page, the bundled items are laid out in a straightforward table: a thumbnail column, a product name column, and a price column, followed by a footer that shows the subtotal, the savings if a discount applies, and the final bundle price.

It adds to the cart as a single line item, so checkout stays exactly as simple as it is for any other product, and the individual products the bundle contained are still recorded against the order for your own records or fulfillment process.
An honest limitation worth knowing
One thing worth being upfront about: the free version doesn’t decrement each individual child product’s stock count when a bundle sells.
If you track inventory tightly at the per-item level you’ll want to keep an eye on that manually rather than relying on the bundle sale to reflect in that product’s stock number.
This kind of granular, per-item inventory handling is intentionally left for a more advanced version down the line, since most stores selling straightforward bundles don’t need it day to day.
Where bundles work best
Bundles are most effective when you already know a combination makes sense.
You don’t need an algorithm to tell you that a starter kit or a gift set is a good idea, you just need an easy way to build and price it.
They’re also useful for moving a slower-selling item by attaching it to a bestseller at a modest discount, something a purely data-driven recommendation would never suggest on its own since it only reflects what already sells well.
RIACO Revenue Lift for WooCommerce is free to install from the WordPress.org repository.
