Product bundling is selling two or more products together as one item, usually for one price that is lower than the parts bought separately. A coffee starter kit with a dripper, filters and beans is a bundle. So is a 3-pack of the same socks, a laptop sold with a sleeve, or a skincare set where the customer picks three products from a list.
The short answer for an online store: bundle products that customers already buy together, price the bundle so it still earns more gross profit per order than the main item alone, and set it up as its own product with its own SKU, title, images, components and stock logic. Most bundle problems in practice are not strategy problems. They are data problems: a bundle that oversells because stock is not linked, a feed rejected over the wrong GTIN, or a bundle page with the supplier text of one component pasted in.
Types of product bundles
The names vary between marketing books and platform docs. These are the types that matter when you set them up in a store:
- Pure bundling: the items are only sold as a set. Common for gift sets and for kits that only make sense complete.
- Mixed bundling: each item is sold on its own and also as a set at a lower price. This is the default for most online stores.
- Multipack: several units of the same product, such as 3 pairs of merino crew socks or a 6-pack of dishwasher tablets. Google and GS1 treat multipacks differently from bundles of different products, which matters for feeds.
- Leader bundle: a main product plus accessories, such as a camera with a memory card and a bag. Google calls the camera the main product.
- Mix-and-match (build your own): the customer chooses the components within rules, such as any 3 candles from 12 scents.
- Assembled kit: the items are physically packed together in one box before the order comes in. Warehouses call this kitting.
- Virtual bundle: the items are only grouped in the store and picked from stock as separate products.
The difference between a virtual bundle and a physical kit decides almost everything that follows: whether the bundle needs its own barcode, how stock is counted and what a marketplace will accept. The dictionary entry on product bundling and kitting covers the warehouse side.
When bundling helps and when it hurts
Bundles usually raise average order value, help move slow stock and make a choice easier for a first-time buyer who does not know which filter fits which dripper. They also cost margin, add catalog records to maintain and can hide a weak product inside a set that nobody looks at closely.
A quick decision list:
- Bundle it when the items are used together and customers already buy them together, when one item is hard to choose on its own (the right filter size, the right charger), or when a multipack lowers your cost per order.
- Bundle it to clear stock only if the slow item adds real value to the set. A bundle with an obvious filler product reads as a clearance trick.
- Skip it when the discount needed to make the bundle attractive wipes out the gross profit gained on the extra item.
- Skip it when one component is often out of stock. The bundle goes out of stock with it, or worse, keeps selling.
- Skip it for mix-and-match sets if your platform or feed cannot show which items were chosen. Support tickets will tell you quickly.
How to choose which products to bundle
Start from order data, not from the catalog tree. The products that sit next to each other in a category are not always the ones people buy together. Pull the last six to twelve months of orders and count how often each pair appears in the same basket.
Two numbers help you rank the pairs. Confidence is the share of orders with product A that also contain product B. Lift compares how often the pair appears with how often you would expect it by chance; a lift well above 1 means the pair is real, not just two bestsellers that show up everywhere. Our post on product recommendations walks through the calculation with a worked example. In WISEPIM, cross-sell analytics scores product pairs from imported orders by confidence and lift, so the shortlist comes from what customers actually do.
Then filter the shortlist with three questions:
- Is there a main product that people search for, with accessories that make it work better? That is your leader bundle.
- Does the pair have stock and lead times you can rely on for every component?
- Does the combined weight and size still fit your cheapest shipping option? A bundle that tips an order into a heavier parcel class can cost more than the discount.
How to price a bundle: a worked example
Take a pour-over coffee starter kit sold by a small specialty coffee store. Prices exclude VAT and the numbers are an example, not a benchmark:
Pour-over starter kit: parts vs bundle
| Ceramic dripper size 02 | EUR 24.00 | EUR 9.00 | EUR 15.00 |
|---|---|---|---|
| Paper filters size 02, 100 pieces | EUR 6.00 | EUR 1.50 | EUR 4.50 |
| Whole beans, 250 g | EUR 12.00 | EUR 5.00 | EUR 7.00 |
| Bought separately | EUR 42.00 | EUR 15.50 | EUR 26.50 (63%) |
| Bundle at 10% off | EUR 37.80 | EUR 15.50 | EUR 22.30 (59%) |
The margin percentage drops, which is why bundles look bad in a margin report. The question that matters is what the customer would have bought without the bundle. If most of them would have bought the dripper alone (EUR 15.00 gross profit), the bundle earns EUR 7.30 more per order. If most of them would have bought all three anyway, the bundle gives away EUR 4.20 per order for nothing.
Check this with the average order value calculator before and after launch, and compare gross profit per order, not revenue. Keep the discount small enough that the bundle still wins on profit, and show the saving on the page as an amount ("save EUR 4.20") so the shopper does not have to do the math.
The product data a bundle needs
A bundle is a product in its own right, and it needs a complete record. This is the minimum set of fields for the coffee kit:
- SKU: its own, for example CK-PO02-STARTER. Never reuse a component SKU.
- Title: what is in the box, with the count: "Pour-Over Coffee Starter Kit: Ceramic Dripper 02, 100 Filters, 250 g Beans".
- Components and quantities: dripper x1, filters x1, beans x1, each linked to its own SKU so stock and returns work.
- Description: written for the set. Explain why these items belong together and what the buyer can do on day one. Do not paste three supplier descriptions under each other.
- Attributes: the ones that still apply to the set (brand, material of the dripper, filter size, bean origin and roast, pack contents) plus a pack contents field that lists every item.
- Images: one image showing all items together, then one image per component. Marketplaces usually want the main image to show exactly what ships.
- Price and compare-at price: the bundle price and the sum of the parts, refreshed when component prices change.
- Weight and dimensions: the packed weight of the set, needed for shipping rates and for many marketplace feeds.
- GTIN: depends on the bundle type. See the section on feeds below.
- Category: the category of the main item, so the bundle shows up where people look for it.
- Availability rule: whether the bundle stock is calculated from the components or managed on its own.
Multipacks are often better modeled as a variant option (1 pair, 3 pairs, 6 pairs) than as a separate bundle product, as long as each pack size has its own SKU, price and GTIN. The variant management guide explains when an option should be a variant and when it should be its own product.
Setting up bundles in Shopify, WooCommerce and Magento
Shopify: the Shopify Bundles app
Shopify needs a bundles app to create bundles. According to the Shopify Help Center, the free Shopify Bundles app supports fixed bundles and multipacks, not mix-and-match bundles, for which you need a third-party app. A few rules shape your product data:
- Stock is calculated from the components. The component with the lowest stock, taking into account the quantity needed per bundle, sets how many bundles can be sold. Untracked components are ignored in that calculation.
- Each bundle has its own SKU. If a component SKU changes, Shopify says the bundle has to be deleted and created again.
- No purchase options. Bundles do not work with subscriptions, pre-orders or try-before-you-buy, so keep a subscription version of a kit out of the bundle app.
WooCommerce: the Product Bundles extension
WooCommerce has no bundle product type in core; the Product Bundles extension adds a Product Bundle type in the Product data panel. The WooCommerce documentation lists the settings per bundled item:
- Min and Max Quantity: a minimum of 0 makes the item optional.
- Priced Individually: adds the item's price to the base bundle price, with an optional % Discount.
- Shipped Individually and the bundle type Assembled or Unassembled, which decides whether the set ships as one parcel. For assembled bundles, Assembled Weight can either ignore the contents or add their weight to the container weight.
- Override Title and Override Short Description: change how a component is named inside the bundle.
- Stock: a sale reduces the stock of each bundled product. Tick Manage stock on the bundle to track a pre-packed kit with its own quantity instead.
Magento: the bundle product type
Magento Open Source and Adobe Commerce have a native bundle product type, a "build your own" product made of simple or virtual products. The Adobe Commerce documentation describes the key choices:
- Dynamic SKU, Dynamic Price and Dynamic Weight: set to Yes, Magento adds the selected items' SKUs as a suffix to the bundle SKU and takes price and weight from the selected items. Set Price and Weight to No and you enter a fixed price and weight for the set.
- Options: each option is a Drop-down, Radio Buttons, Checkbox or Multiple Select, with a Default Quantity and an optional User Defined quantity.
- Ship Bundle Items: Together or Separately.
- Price View: Price Range or As Low As on category and product pages.
Use a fixed price and fixed weight for a pre-packed kit with a set discount. Use dynamic pricing for a build-your-own set. Magento's grouped product type is not a bundle: it lists separate products on one page, each added to the cart on its own.
Bundles on Google Shopping and marketplaces
Feeds and marketplaces are where loosely set-up bundles get rejected. Three sources set the rules for identifiers.
Google Merchant Center has two attributes. is_bundle marks a merchant-created bundle around a main product, such as a console sold with three games. In Google's own example, a hat and scarf set with no main product has is_bundle set to no. multipack marks a merchant-created pack of identical items, with the number of units as the value. Neither attribute is used for sets the manufacturer packs and barcodes itself.
For the GTIN, Google's identifier guidance says: for a merchant-created bundle, submit the GTIN, MPN and brand of the main product; for a merchant-created multipack, submit those of the individual product; for a manufacturer-created bundle or multipack, submit the GTIN of the set itself. The Google Shopping feed guide covers the rest of the feed.
Google Merchant Center rules per bundle type
| Merchant-created bundle around a main product, such as a console with three games | is_bundle | Those of the main product |
|---|---|---|
| Merchant-created multipack of identical items | multipack, with the number of units | Those of the individual product |
| Bundle or multipack created by the manufacturer | Neither attribute | The GTIN of the set itself |
GS1 sets the barcode rules that marketplaces lean on. Its GTIN Management Standard calls a fixed set of two or more trade items sold as one physical item a predefined assortment, and requires a new GTIN when any item in it is changed, added or replaced. If you physically pack a kit and sell it under its own barcode, that barcode belongs to the kit, and swapping the beans for another roast means a new GTIN. Our GTIN vs UPC vs EAN guide explains where these numbers come from.
Marketplaces such as Amazon and bol have their own policies for bundles and multipacks, and both require a valid product identifier for the item that ships. Read the current bundle policy in Seller Central or on the bol Partner Platform before you list a set, and expect a physical kit to need its own registered barcode rather than the barcode of one of its parts.
Seven bundle data errors that oversell stock or get feeds rejected
- Stock not linked to components. The bundle shows "in stock" while the filters are sold out, and the order cannot ship.
- A component GTIN on a physical kit. Feeds and marketplaces match the listing to the single product, and the price looks wrong next to it.
- One supplier description pasted in. The bundle page describes only the dripper. Write the description for the set.
- Weight left at zero. Shipping rates and some feeds fall back to the wrong class.
- A main image that shows one item. Shoppers and marketplace reviewers expect the image to show everything in the box.
- Discount on top of discount. A bundle priced 10% below the parts and then hit by a sitewide 15% code can sell under cost. Check how your platform stacks discounts.
- No owner. Bundles go stale when components are discontinued. Review them every time a component changes status.
Eight checks before a bundle goes live
Bundle launch checklist
WISEPIM is not a bundle builder: the bundle itself lives in your store or bundle app. What it does is keep the product data behind the bundle complete. You can find candidate pairs in cross-sell analytics, write the set description and attributes with AI enrichment, check every bundle record in Quality Guard and push the content to Shopify, WooCommerce or Magento. See how Quality Guard flags missing images, weights and identifiers before a bundle goes live.

