TL;DR
- A product bundle on Shopify is two or more items sold together for a single, better price. There are five kinds: fixed, mix-and-match, volume, build-your-own, and frequently-bought-together.
- Shopify's own Shopify Bundles app is free and handles fixed and build-your-own bundles with inventory tracking. It does not do volume tiers, spend thresholds, or discount stacking rules.
- The fastest margin mistake is bundling things that would have sold anyway. A bundle should move a slow item on the back of a fast one, or raise the number of units per order — not discount your best seller.
- Bundles raise average order value by increasing units per order, which is usually cheaper than raising traffic. A 12% AOV lift on the same traffic is a 12% revenue lift.
- Use an app when you need tiered pricing, mix-and-match across collections, stacking control, or bundles that survive a stock-out.
What is a product bundle on Shopify?
A product bundle is an offer: buy these items together, pay less than you would buy them separately. That sounds obvious, but on Shopify the word "bundle" covers two genuinely different things, and conflating them is the source of most bundle problems merchants run into.
A bundle as an offer is a pricing rule. The customer adds three items to the cart and a discount applies. Inventory is tracked on each individual product, because that is what the customer actually bought. Nothing new exists in your catalogue.
A bundle as a product is a new SKU. "Starter Kit" is its own product with its own price, its own image, and its own inventory count. The customer buys one thing. Behind the scenes you have to decrement three.
The second one is where merchants get hurt. If "Starter Kit" has 40 units in stock and the shampoo inside it has 6, you will oversell the shampoo. Shopify's native bundles feature exists largely to solve exactly this, and any bundle approach you choose has to answer the inventory question before anything else.
Most of the time, when merchants talk about bundling products on Shopify, they mean the first kind — an offer. That is what this guide mostly covers, with the SKU-based approach treated where it genuinely fits.
The five types of Shopify bundle
Fixed bundle
A predefined set: this shampoo, this conditioner, this comb, $45 instead of $58. The customer does not choose. It is the simplest to merchandise, the easiest to photograph, and the easiest to explain on a product page.
Fixed bundles are the right answer when the items genuinely belong together — a razor and its blades, a camera and its case, a starter set. They work badly as a catch-all, because a customer who wants two of the three items is being asked to pay for one they do not want.
Mix and match
The customer picks any three items from a defined group and gets the group price. "Any 3 tees for $60." Apparel is the classic case, and it comes with its own sizing problem worth planning for. This is the format that most reliably lifts units per order, because it removes the objection fixed bundles create: nobody is forced to take something they did not want.
A Shopify mix and match bundle usually needs an app. The native tooling can do a limited version, but "any 3 from this collection, at this price, with the discount applying to the cheapest" is a rule engine, not a product.
Mix-and-match also ages better than a fixed set. A fixed bundle has to be rebuilt every time you change the products inside it; a mix-and-match rule defined over a collection or a product type keeps working as the collection changes underneath it. If you add stock seasonally, this is the format that will not become a maintenance chore.
Volume bundle (quantity breaks)
Buy more of the same thing, pay less per unit. 1 for $20, 3 for $54, 5 for $85. Consumables live here — coffee, supplements, skincare refills, socks. If a customer will predictably rebuy an item, a quantity break pulls that future purchase into today's order.
Quantity breaks are the highest-leverage bundle for most stores and the one merchants under-use, because they feel like a discount rather than a merchandising decision. The right way to read them: you are paying a few points of margin to buy a longer repurchase runway and a bigger cart today.
Build-your-own (BYOB / bundle builder)
The customer assembles a box from a wide selection, usually with a step-by-step flow: choose 6 of these, then 2 of these. A Shopify bundle builder is the tool that renders that flow.
Build-your-own is the most engaging format and the most work. It needs a real UI, it needs to handle items running out mid-selection, and it needs to price correctly when the selection changes. It suits gift boxes, variety packs, coffee subscriptions and anything where choice is part of the product.
Frequently bought together
Recommendations shown on the product page: "customers also bought." Strictly this is a cross-sell rather than a bundle, but it is sold by the same apps and it competes for the same screen space, so it belongs in the comparison.
The distinction that matters: a bundle is an offer you designed, a frequently-bought-together widget is an algorithm's guess. The first is predictable and merchandisable; the second scales without you.
Which of these an offer engine can express
Worth knowing before you shop for tools, because it decides whether you need a bundle app at all. Some of these five are products; the rest are just rules.
Expressible as a rule — no new SKU, no inventory to reconcile:
- Mix and match. "Buy any two from Tees, get a third free" is a buy/get rule matching on product type or tag. Because it matches on an attribute rather than a product list, it keeps working as the collection changes.
- Volume, in its common form. "Buy 2, get 1 free" is a quantity break by another name — a third off at three units, repeating for as long as the cart qualifies.
- Fixed pairing. "Buy the razor, get the blades half price" is a rule with one product on each side.
Needs a real bundle product — a new SKU with its own price and stock:
- A set basket price. "Any 3 for $60" is not a discount on units, it is a price for the basket. Rules cannot express it.
- Per-tier unit pricing. "1 for $20, 3 for $54, 5 for $85" needs a price per tier, not one repeating reward.
- Build-your-own, wherever the box is a thing the customer buys rather than a discount they earn.
If everything you want sits in the first list, you do not need a bundle app — you need an offer engine, and you may already have one.
Why bundles work
Bundles raise average order value by increasing units per order. That is a different lever from raising traffic or raising conversion rate, and usually a cheaper one, because it acts on customers who have already decided to buy.
Work the arithmetic on a store doing 1,000 orders a month at an $80 average order value — $80,000 a month.
- Raise AOV to $90 with bundles at the same traffic and conversion: $90,000.
- Raise traffic 12% to reach the same number: you need 120 more orders, which at a 2% conversion rate means 6,000 more sessions a month.
The second one costs money every month. The first one is a merchandising change that keeps working.
The second reason bundles work is inventory. A bundle is the most reliable way to move a slow item without marking it down publicly. A $28 product that will not sell on its own sells comfortably as part of a $75 set, and your product page never shows a discount that trains customers to wait for one.
There is a real trap here, and it is worth stating before the how-to. A bundle that discounts what would have sold anyway is a pure margin loss. If your best seller goes out the door at 15% off inside a bundle to a customer who was going to buy it at full price, you paid 15% for nothing. Bundle the fast thing with the slow thing; do not discount the fast thing on its own.
How to bundle products on Shopify without an app
This is worth doing properly before you spend anything, because for a meaningful number of stores the free tooling is genuinely enough.
Option 1: the native Shopify Bundles app
Shopify publishes its own free Shopify Bundles app. It creates a bundle as a product — a new SKU — while tracking inventory against the component products, so selling one bundle decrements each component correctly. That single feature is what makes it worth using over a hand-built bundle product.
To set one up:
- Install Shopify Bundles from the App Store.
- In the admin, go to Products → Create bundle.
- Add the component products and set the quantity of each.
- Set the bundle price, or apply a percentage off the combined component price.
- Add images and a description, then publish it like any other product.
It supports fixed bundles and a constrained version of build-your-own, and it works with Shopify's own checkout without extra scripts.
Option 2: an automatic discount
For an offer-style bundle you do not need a new product at all. An automatic product discount does it: Discounts → Create discount → Amount off products, set it to apply automatically when the cart contains the qualifying items. No app, no new SKU, and inventory takes care of itself because the customer is buying the real products.
This is the underrated free option. It handles "buy the shampoo and conditioner, save $10" perfectly well.
Option 3: a manual bundle SKU
Create a product called "Starter Kit", price it, and fulfil it by picking the components. Simple, and fine at low volume.
Do not do this if the components also sell individually, unless you enjoy overselling. Inventory is tracked on the kit, not the parts, so the two counts drift apart immediately.
Where the free options stop
The native tooling runs out at predictable places:
- No volume tiers. "1 for $20, 3 for $54, 5 for $85" is not expressible.
- No spend thresholds. "Spend $75, choose a free gift" triggers on cart value, not cart contents — that is a tiered free gift, a different shape entirely.
- Limited mix-and-match. Choosing any 3 from a 40-product collection, priced as a set, is beyond it.
- No stacking control. You cannot express "this bundle discount may combine with a shipping discount but not with a code."
- No stock-out handling. If a component sells out, the bundle simply breaks.
- Thin analytics. You will struggle to answer whether the bundle actually added revenue or just discounted orders you were getting anyway.
If none of those matter to you, stop here. You have a working bundle and it cost nothing.
How to create a bundle with an app
The general shape is the same across apps, which makes them easier to evaluate than the feature lists suggest:
- Choose the bundle type — fixed, mix-and-match, volume, or build-your-own.
- Define what qualifies. Better apps let you select by product, product type, vendor, tag or collection rather than by listing individual products, which matters enormously when your catalogue changes.
- Set the reward — a percentage, a fixed amount, a set price, or a free item.
- Set the stacking rules — whether this can combine with other automatic discounts, shipping discounts, or customer-entered codes.
- Choose where it appears — product page, cart, cart drawer, or a dedicated landing page.
- Publish and test on the storefront, including at checkout. A discount that shows in the cart and disappears at checkout is the single most common bug in this category, and it is always worth one real test order.
The selector question in step 2 is the one that separates tools that scale from tools that do not. Selecting by product type or tag means a bundle keeps working when you add fifty new SKUs; selecting by individual product means somebody has to remember to update it.
Where to put the bundle
Choosing where a bundle appears changes its performance more than the discount does, and it is the step most merchants skip. There are four placements and they serve different intents.
The product page. The customer is looking at one item and you show them the set it belongs to. This is the highest-intent placement for fixed bundles and frequently-bought-together, because the customer has already shown you what they want. It is the wrong place for a wide mix-and-match, which needs more room than a product page will give it.
The cart or cart drawer. The customer has committed to buying something and is one click from checkout. Volume tiers belong here — "add one more, save 15%" is a question best asked when the customer can see their total. The risk is friction: anything that makes the cart feel like a negotiation costs you conversions, so one clear offer beats three.
A collection or landing page. Build-your-own needs its own page. So does any bundle you intend to run paid traffic to, because a dedicated page lets you control the whole pitch rather than bolting an offer onto a product page.
Post-purchase. After the payment step. This cannot cannibalise the order that just completed, which makes it the safest place to test aggressive pricing — but it is a genuinely different mechanism from a cart bundle, and not every app does it.
A practical rule for your first bundle: start with one placement, measure it for a fortnight, then add a second. Running four at once means you will never know which one worked.
How to tell whether it worked
Bundle reporting flatters itself. Any dashboard will happily show you "bundle revenue" and that number will be large, because it counts every order that contained a bundle — including the ones you would have got anyway.
Three figures actually answer the question, and all three are available in Shopify's own analytics without an app:
- Units per order. The mechanism bundles are supposed to move. If this has not risen, the bundle is not working regardless of what bundle revenue says.
- Average order value. The outcome. Compare the same weekday range before and after, not month-to-date against last month.
- Contribution per order. AOV minus cost of goods. This is the one that can move the wrong way while the other two look fine, and it is the one that determines whether the bundle made you money.
Give it at least two weeks and compare like periods. Ecommerce weeks are not interchangeable — a bundle launched the week of a payday or a holiday will look better than it is.
If you want to be rigorous, hold one collection back as a control and run the bundle on a comparable one. It is not a perfect experiment, but it is far better than a before-and-after that quietly includes a seasonal upswing.
How to choose a bundle app
Ignore the feature grids for a moment and answer three questions. They decide the tool faster than any comparison of checkboxes will.
- Do you need a new SKU, or a rule? If your bundle must exist as a product with its own page and inventory count, you want an inventory-first tool. If it is an offer applied at the cart, you want a rule engine. This is the fork everything else hangs off.
- Will your catalogue change? If yes, you need selectors by product type, tag or collection. Tools that only accept a list of products turn into a maintenance job the first time you add a season's stock.
- What happens when something sells out? Most tools have no answer, and the offer either vanishes or fails at checkout. If your bundles are seasonal or your stock is tight, this is the question that will cost you money.
Shopify's own free Bundles app answers the first question well and the other two not at all, which is a perfectly reasonable trade at zero cost.
For our part: AOVtools expresses bundles as rules rather than products — buy X get Y matching on product type, vendor or tag covers mix-and-match and buy-2-get-1, and tiered thresholds or a single gift cover spend-based rewards, both with ranked backup products when stock runs out. It does not create bundle SKUs, so a set basket price or per-tier unit pricing is a job for an inventory-first tool instead.
Pricing a bundle without losing margin
The discount you can afford is set by your margin, not by what looks appealing. Start from the contribution, not the sticker.
Take three products at $20 retail, each costing you $8. Sold separately: $60 revenue, $24 cost, $36 contribution.
| Bundle price | Discount | Revenue | Cost | Contribution | vs separate |
|---|---|---|---|---|---|
| $60 | 0% | $60 | $24 | $36 | — |
| $54 | 10% | $54 | $24 | $30 | −$6 |
| $48 | 20% | $48 | $24 | $24 | −$12 |
| $45 | 25% | $45 | $24 | $21 | −$15 |
At 25% off you have given away 42% of your contribution. That is fine only if the bundle created the sale — if the customer would have bought one item and now buys three, you went from $12 contribution to $21 and you are well ahead.
So the real test is not the discount percentage. It is:
Would this customer have bought this much anyway?
Which gives three practical rules:
- Discount the slow item, not the fast one. Put the margin sacrifice where it buys you something.
- Tie the discount to incremental units. Volume tiers do this naturally: the discount only exists if the customer takes more.
- Set a floor. Decide the minimum contribution per order you will accept and price backwards from it. Do not start from a round-number discount.
Measure it by comparing units per order and contribution per order before and after — not bundle revenue, which will always look good because it counts sales you already had.
If you would rather talk it through against your own margins, book a walkthrough.
Common mistakes
Overselling through inventory desync. The single most expensive bundle bug. If a bundle is a SKU, its stock count must be derived from its components. If your tool does not do that, you will sell things you do not have.
Discount stacking you did not intend. A bundle discount that combines with a sitewide code produces orders at prices you never approved. Shopify's combination rules are per-discount, so decide deliberately for each bundle whether it may combine with product, order and shipping discounts. An everyday bundle and a Black Friday bundle usually want opposite answers.
Bundling two slow movers. Two things nobody wants do not become one thing somebody wants. A bundle needs an anchor — something the customer already came for.
Breaking on stock-outs. A bundle offer whose component runs out either disappears or, worse, stays visible and fails at checkout. Ranked backup products solve this; nothing else really does.
Not testing at checkout. Cart-level discounts and checkout-level discounts are different mechanisms. Always place one real test order and confirm the discount survives to the payment step.
Measuring bundle revenue instead of incremental revenue. Bundle revenue is always a big number. The only figure that means anything is whether contribution per order went up.
FAQ
Can I bundle products on Shopify without an app? Yes. Shopify's free native Bundles app handles fixed and simple build-your-own bundles with correct component inventory tracking, and an automatic discount handles offer-style bundles with no new SKU at all. You need an app for volume tiers, spend thresholds, wide mix-and-match, stacking control, or stock-out fallbacks.
What is the difference between a bundle and a mix-and-match bundle? A fixed bundle is a set you define — the customer takes it as-is. A Shopify mix and match bundle lets the customer choose their own items from a group you define, at a group price. Mix-and-match generally converts better because nobody is paying for an item they did not want.
Does bundling hurt my margin? Only if the bundle discounts purchases that would have happened anyway. If a bundle raises units per order, contribution per order usually rises even though the discount percentage looks alarming. Compare contribution per order before and after, not the discount rate.
How do bundles affect inventory? It depends on whether your bundle is a product or a rule. If it is a rule applied at the cart, inventory is tracked normally on each item. If it is a new SKU, the tool must decrement the components — otherwise the bundle's stock count and the components' counts drift apart and you oversell.
What is a Shopify bundle builder? The step-by-step interface that lets a customer assemble their own box — pick six of these, then two of these — with the price updating as they choose. It is the front end for build-your-own bundles, and it is the most involved bundle format to run well.
Can bundle discounts combine with discount codes? Yes, if you configure it. Shopify discounts carry explicit combination settings for product, order and shipping discounts. Decide per bundle rather than accepting a default, because a bundle that stacks with a sitewide code can sell at a price you never intended.