How to Create Mix and Match Bundles on Shopify

Shopify's free bundles app doesn't do mix-and-match. This guide explains what does, what each route means for your store, and how to test a bundle before customers do.

What Shopify can do without an app

Shopify recognises three bundle types: fixed bundles of predetermined products, multipacks of the same product, and mix-and-match bundles that the customer composes.

The free Shopify Bundles app, available on all plans, handles the first two. For the third, Shopify’s documentation is direct: “The Shopify Bundles app doesn’t support mix-and-match bundles.”

Shopify points merchants to two routes for mix-and-match. One is a third-party app from the Shopify App Store. The other, for stores on Shopify Plus, is a custom build using Shopify’s Bundles APIs.

You want Route Plan
Fixed set of products Shopify Bundles app All plans
Several of one product Shopify Bundles app All plans
Customer chooses from a pool Third-party app All plans, subject to the app
Customer chooses, your own code Custom app using Functions Shopify Plus
A saving on any N items, without a builder Native automatic discount All plans

Limits of the Shopify Bundles app

If a fixed bundle would meet your need, the free app is worth trying first. Its documented limits include up to 30 components per fixed bundle, 2,000 units per component, and three options with 100 variants per bundle. When a component’s price changes, the bundle price doesn’t follow, so you have to update it manually.

The discount workaround

You can get part of the way with native discounts. An automatic “amount off products” discount can apply to a collection and require a minimum quantity, so three or more items from that collection earn a saving.

Shopify doesn’t present this as a bundle, and it behaves differently from one:

  • There’s no selection interface. Customers add items one at a time.
  • There’s no parent bundle in the cart or order, so items aren’t connected.
  • The customer can add more than the set quantity, so “exactly three” can’t be enforced.
  • A flat “any three for $54” price is awkward to express this way.

For a small store testing the idea, that can be enough. Stock also remains simple, because each item sells as a normal product. If you need a guided selection or an enforced set, you need one of the other routes.

Store requirements

Shopify lists several conditions for selling bundles:

  • Your store must use the Online Store sales channel or be a custom storefront.
  • You need an upgraded checkout. Stores using checkout.liquid customisations are incompatible.
  • A bundles app must be installed.

Shopify’s bundle features also have some firm restrictions that are worth knowing before you plan an offer:

  • Bundles aren’t compatible with purchase options, including subscriptions, pre-orders and try-before-you-buy.
  • Bundles can’t contain other bundles.
  • Bundles can’t be used in exchanges, even for an identical bundle.
  • Bundles have no shipping profile of their own. Rates come from the individual products.

The subscription limit matters most. Shopify’s Cart Transform API rejects its bundle operations when a selling plan is present. If you want subscription boxes, ask any app vendor exactly how they do it.

When a third-party app is required

You’ll need an app or custom development if any of these apply:

  • Customers should choose their own items from a pool.
  • You need a guided, step-by-step box builder.
  • You want an enforced count, such as exactly six items.
  • You want one bundle price with the customer’s selection shown as a connected group in the cart and order.

Public apps containing Shopify Functions work on any plan, except where a particular API says otherwise. Custom apps containing Functions require Shopify Plus. Shopify’s Cart Transform API also limits one operation, lineUpdate, to Plus and development stores, so an app feature that relies on it may be plan-dependent. Ask the vendor.

How the bundle gets into the cart

Apps take different technical routes, and the route affects your inventory, reports and discounts more than most feature lists suggest.

Customized bundles through Cart Transform. This is the mechanism Shopify’s developer documentation describes for mix-and-match. A function can merge separate cart lines into one bundle line, or expand a parent line into its components. Orders keep the components, grouped under their parent. Customized bundles can have up to 150 components.

Discounts on ordinary line items. The items stay as normal lines and a discount applies when the rule is met. Inventory takes care of itself, but items don’t appear as a connected bundle unless the app adds that presentation.

A standalone bundle product. The bundle is a product in its own right with its own stock. It’s simple to sell, but stock in its components won’t change without extra work.

Shopify notes the storefront consequence of the first route: for customized bundles, the app maintains in-stock status for the parent, while components are checked in cart and checkout. The inventory guide explains what that means in practice.

Setting up a bundle

Menus differ between apps, but the work follows the same order. Most of it happens before you open the software.

  1. Write the offer in a sentence. “Any three full-size candles for $54” is clear. If it takes a paragraph, simplify it.
  2. Build the pool. Group products with similar prices and costs. Remove anything that would break the margin or ship badly.
  3. Price the worst realistic selection. Use the profit calculator to check your costliest combination.
  4. Set the rules. Decide the count, category limits, whether items can repeat, and how variants are chosen.
  5. Decide where the bundle lives. A dedicated page gives you more room. A block on a product page puts it in front of existing traffic.
  6. Decide on sold-out behaviour. Hide items, show them as unavailable, or suggest a substitute.
  7. Set discount rules. Choose which codes and automatic discounts can combine with the bundle.
  8. Write the fulfilment instructions. Make sure the warehouse can tell which items belong together.

Discount structures

Shopify calculates automatic discounts after an app has changed cart line prices, so they’re based on the changed price and not the original one. A discount on top of a bundle price can therefore be applied to an already reduced amount.

Other documented rules to check against your plan:

  • Product and order discounts can only combine if each allows it, and your store must not use checkout.liquid customisations.
  • Combining several product discounts on the same line item requires Shopify Plus.
  • You can have up to 25 active automatic discounts, and that count includes app-based discounts.
  • For product or collection discounts to apply to a bundle, Shopify says to include the parent bundle product.

Bundle discounts are calculated on the parent and allocated across the components. That’s why a single item in a bundle can show an unusual price on an order or a return. See pricing strategies to choose a structure.

Inventory considerations

Three things are worth knowing from Shopify’s documentation:

  • Fixed bundle availability is the lowest result of each component’s stock divided by the quantity required.
  • Components that aren’t tracked, or are set to continue selling when out of stock, are ignored in that calculation.
  • Bundles track overall stock rather than stock by location.

Testing a completed bundle

Test on a development store or with a hidden bundle first, and place real test orders. Work through these:

Test What should happen
Choose too few items The add-to-cart is blocked, with a clear reason
Choose too many items The selection is stopped or swapped
Choose your most expensive combination The price matches your plan, and so does the margin
Sell out a component after selection The customer is told at cart or checkout
Change the quantity in the cart The bundle stays intact, or the app handles it clearly
Remove one item in the cart The bundle price doesn’t survive on the remaining items
Apply a discount code It combines only as you intended
Check on a phone Selection, tray and add-to-cart are all usable
Use only a keyboard Every option can be reached and selected
Place an order Each component is visible to whoever picks it
Return one component The refund amount is what you expect

Refunds and returns operate at component level, and split fulfilments show items as individual line items. Run through at least one return before launch.

Choosing an app

Start with the behaviour you need, then find the app that fits it. Useful questions for any vendor:

  • How is the bundle applied: through Cart Transform, a discount, a separate product or something else?
  • What exactly appears on an order, and can a third-party warehouse read it?
  • How do discount codes interact with the bundle?
  • What happens if a customer selects an item that then sells out?
  • Is it compatible with subscriptions, and how, given Shopify’s restriction?
  • Does it work with my theme, including my cart drawer?
  • Does it work on Shopify POS, if I need that?

Our comparison of Shopify bundle apps includes Kitenzo, an app made by the team that publishes this site, alongside its competitors. The bundle builder guide sets out what a good customer experience looks like.

If you need customer-chosen bundles on Shopify, Kitenzo is one option. Explore Kitenzo for Shopify. This site is published by the team behind Kitenzo, so weigh that accordingly.

Sources

  1. Eligibility and considerations for product bundles, Shopify Help Center
  2. Shopify Bundles, Shopify Help Center
  3. Start building bundles, Shopify Developer Documentation
  4. Add a customized bundle function, Shopify Developer Documentation
  5. Cart Transform Function API, Shopify Developer Documentation
  6. Shopify Functions, Shopify Developer Documentation
  7. Discount combinations, Shopify Help Center
  8. Automatic discounts, Shopify Help Center

Keep reading