For discount and pricing setups — tiered pricing, free gifts, fixed totals — see "Recipes: setting up bundle discounts and pricing."
Let a customer buy the same product in several sizes at once
Possible.
Set Structure to Product bundle → Separate products. (Product groups works identically and additionally lets each copy be a different product.)
Add the product once.
Set its Item quantity ("Qty") to 3.
In Product settings, Uncombined quantity now appears — tick it.
The single row becomes three rows. Optionally pin a Default variant on each so the widget opens on Small / Medium / Large.
Result: three rows, three independent variant selectors, three cart lines. With "Pre-select the first available product variant in the widget" left on, the three rows even open on three different available variants by themselves.
Watch-outs: the Uncombined quantity checkbox only appears once the quantity is above 1. If this bundle is set up as a Shopify bundle, this choice multiplies combinations — a product with V variants at quantity N produces up to V to the power of N against the 2,048-combination cap.
Let a customer pick any number of products from your whole catalogue
Not possible as stated. Apply to → All store only exists on Volume discount and legacy BOGO bundles — that option isn't offered anywhere else in the editor — and it's a quantity-tier widget shown on every product page, not a free-choice builder; its own on-screen note reads "Please note, the discount applies only when a customer adds the same product to the cart."
Separate products and Product groups have no all-store option at all. Each group is filled either with named products or with one collection.
The closest working configuration:
Create a Shopify collection containing your whole catalogue.
Set Structure to Product groups; set Bundle type to Widget-only.
Create N groups, each holding that collection.
Tick Uncombined quantity — without it, the N groups merge into one group with an Item quantity of N.
Leave Product swap on in each group so the shopper chooses within the collection.
For a fixed total price on top of this, see "Bundle a fixed set of products for one flat total price" in the discount and pricing recipes — fixed-price types are available because the item count is fixed.
Give a discount once a customer adds enough units (open quantity threshold)
Possible. For example: 5 or more units = 10% off, with no preset tiers — the customer can add any quantity at or above the threshold.
Set Structure to Product bundle → Separate products; add the one product.
Leave Bundle type "Create a product" off (widget-only) — the Quantity selector is only offered on widget-only bundles.
In Product settings, turn the Quantity selector on, leave Optional products off, set Minimum items required to 5, and leave Maximum items allowed at No limit.
Under Discount, choose Standard discount → Applies to Bundle subtotal amount → Type Percentage → Value 10.
Percentage is the only discount type available here, because the number of items a customer can add is unbounded — you can't set a fixed sale price against an open-ended quantity. If you want a fixed total instead, set Maximum items allowed to Limited, which makes Sale price and Amount off available too.
For named preset quantity tiers instead of free-entry quantity (for example, "buy 2 / buy 3 / buy 4" as distinct options), use the Volume discount structure described in "Give tiered discounts like 2 for $15, 3 for $22, 4 for $28" in the discount and pricing recipes — that's exactly the difference between the two approaches.
Bundle two fixed items with a few products the customer picks from a collection
Possible. For example: two specific items are always included, plus three more items the customer chooses from a collection.
Set Structure to Product bundle → Product groups.
Set Bundle type to Widget-only (required for the "Add collections" button).
In groups 1 and 2, add one product each — Product swap isn't offered on a single-product group, so they stay fixed.
In group 3, use Add collections to add the collection, then leave Product swap on so the shopper chooses within it.
Set group 3's Item quantity to 3, then tick Uncombined quantity — without it, all three copies would end up as the same product.
Save.
All five items arrive as separate cart lines on a widget-only bundle. Because Optional products and the Quantity selector are both off in this setup, Sale price and Amount off are available if you want a fixed total instead — see "Bundle a fixed set of products for one flat total price" in the discount and pricing recipes.
If you need a bundle that shows as a single product in the cart, that's what a Shopify bundle is for: it shows the bundle as one line item in the cart, but splits it into its separate components at checkout and on the order. We haven't independently verified the fulfilment behaviour beyond that — if you rely on this, it's worth confirming the checkout and fulfilment flow works the way you expect for your setup.
Offer the same collection in more than one slot of a bundle
Possible, with one setting you must not skip.
Set Structure to Product groups; set Bundle type to Widget-only.
Create three groups and add the same collection to each.
They immediately merge into one group showing an Item quantity of 3 — the editor doesn't flag or warn about this at the moment it happens.
Tick Uncombined quantity in Product settings — the merged group splits back into three independent slots.
Keep Product swap on in each slot so the shopper chooses within the collection.
The shortcut that gets you to the same place: add the collection once, set Item quantity to 3, and tick Uncombined quantity. Step 3's silent merge is the single most common source of "it deleted my group" reports — if you add the same product or collection to a second slot and it seems to vanish, this is almost always why: two slots holding the same product or collection merge automatically into one slot at that quantity unless Uncombined quantity is ticked.
One thing we're still tracking down: a shopper has reported seeing an error message during this exact merge action, with a screenshot, although no error is currently expected to appear for it. If you see an error on this specific action, please note its exact wording and send it to support — this is a case we want to capture properly.
Test a bundle on a draft theme without exposing it to customers
Possible, and it's the supported way to preview a bundle.
Duplicate your theme, or use an existing draft theme.
In the draft theme's editor, enable the "MBC Bundles App" app embed and place any app blocks you want to test.
Open the draft theme's Preview from Online Store → Themes — the preview bar is what puts the app into preview mode.
Draft, Scheduled, and Expired bundles all render in that preview; on your live theme they stay invisible as expected.
Two things to know before you rely on this:
The discount does not apply in preview. Automatic-discount data is only built from published, in-period bundles, so you won't see the discount amount reflected while previewing a Draft or Scheduled bundle.
A Physical or Shopify bundle's own product page is not theme-scoped, so a Draft bundle's own product page will 404 in the draft preview too, even though the widget itself previews fine.
The preview covers the widget on ordinary product pages, hand-placed widgets, and Featured bundle blocks. We're not certain whether the preview bar is injected the same way on a password-protected storefront or through a shared preview link — if you test one of those setups and see something unexpected, let support know exactly what you saw.
Why is my bundle still charging an old price after I changed a product's price?
This is expected behaviour on a Physical bundle, and it's fixable. The fix depends on which of the three bundle types you're using — they behave quite differently here.
Widget-only bundles hold no price snapshot. The discount is computed against the live cart price at checkout, so a component price change takes effect immediately — there's nothing to update.
Shopify bundles hold a price snapshot, stored in their own Shopify product, and it updates itself automatically. A price change on a component automatically recomputes the bundle's combinations and pushes new prices.
Physical bundles also hold a price snapshot, stored in their own Shopify product, but it does not update itself. Automatic price recomputation doesn't cover Physical bundles — which is why they're the ones that go stale.
Why a Physical bundle goes stale specifically: it's only rebuilt from a product change when that product's variant data changes in a way that alters its length — adding, removing, or renaming a variant triggers a rebuild, but editing a price to a value of the same length (for example 19.99 → 24.99) does not.
To fix it: open the bundle in the app and save it again. Saving re-reads the current component prices and republishes the product. There's currently no separate "sync" button for this — the setting to sync collections only refreshes collection data, not component prices.
If this is affecting many bundles at once, don't work through them one by one — contact support, since a shop-wide resync of every published Physical bundle can be run for you instead.
