Naar de inhoud
DocumentationBundle

Bundle: sell products as a set

Price a group of products together, either a fixed set like "this jacket plus these gloves for $120", or a mix-and-match deal like "any 3 from the collection for $99". It is a product discount priced by Shopify at checkout.

A Bundle rewards buying products together. Instead of discounting a single item, it prices a whole set: the shopper adds the pieces of the bundle and the set gets a special price. It is a product discount, so Shopify applies it at checkout like any other, and the items stay as normal separate lines in the cart, never merged into one mystery line.

Two kinds of bundle

When you create a Bundle campaign, the builder offers two type cards. Pick the one that matches the deal you have in mind.

  • Fixed bundle: a specific set of products bought together, for example "this jacket plus these gloves plus this scarf for $120". You define exactly which products make up the set.
  • Mix and match: "any few from a pool for one price", for example "any 3 tees from the collection for $99". You define a pool, and the shopper picks which ones.

Fixed bundle

A fixed bundle is built from slots. Each slot is one place in the set, and you set how many units it needs and which products can fill it. A slot can list several interchangeable options, so "any one of these three mugs" is a single slot the shopper can satisfy with whichever mug they like. When a slot needs more than one unit, any mix of its options counts: a slot that needs 2 and lists two mugs is filled by two of the first mug, two of the second, or one of each. Across slots the set is strict, every slot must be filled for the bundle to count.

FieldWhat it does
Slots (the set)Between 1 and 20 slots. Each slot lists the product or variant options that can fill it, and how many units of it the set needs.
Reward"Set price for the bundle" (one price for the whole set) or "Percent off the bundle" (a percentage off the set’s items).
RepeatOnce rewards a single complete set. Repeat rewards every complete set in the cart.
What you set on a fixed bundle
Note

The set has to be complete

The bundle discount only applies when every slot in the set is filled. A partial bundle, missing one of its slots, gets no discount, so a shopper is never charged a bundle price for half a bundle. The builder’s live example shows this as you set it up.

Filling a slot from a collection

Instead of picking products one by one, a slot can be filled from a collection: choose "Fill from collection", pick the collection, and every product in it becomes an option for that slot. The slot is labelled with the collection it came from, and the card shows a count of its options rather than listing every one. This is how a cross-collection set like "one item from Skincare, one from Makeup, one from Haircare" is built: one slot per collection.

The slot starts as a snapshot of the collection at the moment you filled it, not a live link. From there, how it tracks the collection is your choice, made per slot with two switches:

SettingProducts added to the collectionProducts removed from the collection
Both switches off (the default)Nothing changes until you press Refresh on the slot, which adds them.Nothing changes, ever. The product stays a valid option until you remove it yourself.
Add new products automaticallyThey join the slot on their own, shortly after the collection changes.Nothing changes. Adding is automatic, removing is still yours.
Remove departing products automaticallyOnly added if the add switch is also on.They leave the slot on their own. The slot mirrors the collection, so this also removes options you hand-picked from outside it.
The three ways a slot can follow its collection
Note

Every automatic change is logged, and none can break the offer

Automatic changes land in the campaign activity log, so you can always see what synced and when. The sync also refuses to hurt a live discount: it never empties a slot (if removing everything would leave nothing, nothing is removed and you are notified), never exceeds the 150-option ceiling, and never pushes the campaign over its size limit. In each of those cases it stops and raises a notice instead.

Note

Seeing and pruning the exact list

The slot card shows how many products and options it holds; that count opens the full list, where each option can be removed individually. One honest wrinkle: with automatic adding on, removing an option whose product is still in the collection only lasts until the next sync. To keep it out, remove it from the collection or turn automatic adding off for that slot.

Note

Very large collections

A slot holds up to 150 variant options. Filling from a collection bigger than that adds the first 150 and tells you the list was cut short. A bundle slot works best scoped to the products that genuinely belong in the set; for "any few from a big pool", the mix-and-match kind targets the collection directly and has no such list.

Note

Same product in two slots

Each slot claims its own units from the cart, so one cart line never fills two slots. If the same product or variant is an option in two slots, the shopper needs a unit for each: "same mug in slot 1 and slot 2" means they must buy two of that mug. To require two units of one product, the clearer setup is a single slot with its quantity set to 2. The builder shows a warning whenever a product appears in more than one slot, so you can spot this before publishing.

With a set price, the saving is the difference between the items’ normal total and your set price, and it is spread across the bundled lines so each shows its share of the discount. As with every discount in Stackable, no line ever drops below free. With a percent off, each bundled item simply gets that percentage off its own price.

Mix and match

A mix-and-match bundle is "any N for one price". You target a pool of products (a collection or a tag works well here), set how many of them make a set, and set the price for that set. The shopper chooses which items from the pool to include, and any qualifying combination of that many items gets the set price. Turn on repeat to reward every complete set, so "any 3 for $99" gives two sets of three at $99 each when the shopper buys six.

On the storefront

A fixed bundle can show a bundle builder block on the product page. It lists every piece of the set as its own row, with the product image, name, and quantity, and each name links to that product page so a shopper can open it. When a slot accepts more than one variant, the row notes that other options are available. A slot filled from a collection is titled by the collection instead, for example "Any Skincare item", and that row does not link anywhere, since it stands for the whole collection rather than one product. The items go into the cart as separate lines and Shopify prices the set at checkout.

The block is cart-aware. Before anything is in the cart it offers to add the whole set. Once some of the pieces are already in the cart it marks those rows as in your cart and nudges the shopper to finish the set. For a set price it leads with the top-up cost: when only one piece is missing it names it, for example "Add the Aviator for just $12 more", and when more than one is missing it says "Complete your set for just $12 more". A smaller line underneath shows the full saving versus buying separately, so the shopper sees exactly how little it takes to complete the set; when an exact amount cannot be shown it falls back to a general message. The button reads "Complete the set" and adds only the missing units, never duplicates. When the set is complete it says so and stops prompting, unless the bundle reward repeats for every set, in which case it offers to add another set.

The block is display-only and honest about currency: if the shopper is paying in a currency other than your store currency, it hides exact amounts and shows a general savings message instead of a set price that would not match checkout, and adding to the cart still works.

A worked example

A fixed bundle of three slots, A at $30.00, B at $20.00 and C at $10.00, with a set price of $50.00. The set normally costs $60.00, so the saving is $10.00, and that saving is spread across the three lines in proportion to what each contributes.

LineNormal priceIts share of the $10.00 savingIt shows as
A$30.00$5.00$25.00
B$20.00$3.33$16.67
C$10.00$1.67$8.33
Set total$60.00$10.00$50.00
Fixed bundle: A + B + C for $50.00 instead of $60.00
Note

The shares are rounded so they add up to exactly $10.00, never a cent more or less, and no line is ever pushed below free. Spreading the saving is what lets Shopify show a discount on each line rather than one lump sum against a single item.

The same bundle in three other carts

A and B only, C missing
The set is incomplete, so no discount at all. Both items stay at full price.
Two of each, repeat off
One set is priced, saving $10.00. The second set stays at full price.
Two of each, repeat on
Both complete sets are priced, saving $20.00.

Mix and match works the same way. "Any 3 for $99.00" over three $40.00 items normally costs $120.00, so the $21.00 saving splits evenly at $7.00 per line, and each shows as $33.00.

How it combines

A Bundle is a product discount, so it lives in the product lane and combines with order and shipping campaigns only when the relevant "Combines with" switches are on for both campaigns. See Stacking and combinations for the both-sides rule.

Common setups

Starter kit for $120

Kind
Fixed bundle
Slots
Jacket, gloves, scarf
Reward
Set price 120.00

Any 3 tees for $99

Kind
Mix and match
Pool
The tees collection
Set
Any 3, set price 99.00, repeat on

We gebruiken essentiële cookies om deze site te laten werken en, alleen met uw toestemming, analytische cookies om verkeer te begrijpen. Lees ons Cookiebeleid.