Create a native bundle
By the end you'll have a bundle product customers add to the cart in one click, made of real products you picked, priced how you want, with Shopify tracking each component's inventory for you. Think "Starter Kit", "Coffee and Mug", "The Weekend Box".
The difference from an option set is who decides what's inside. With an option set the customer configures the product, choice by choice. With a native bundle you decide the contents up front and the customer just buys it. If you want them picking their own items from a pool, that's Build-a-Box.
Build the bundle
- Open Optionfier from your Shopify admin and click New bundle. There's no product to pick first: Optionfier creates the Shopify product for you out of what you fill in here.
- Fill in Title. Unlike an option set's name, this one is customer-facing, so call it what you'd sell it as. Status sits right next to it; come back to it at the end.
- In the Components card, click Add products and pick everything that goes in the bundle. The picker selects variants, not just products, so pick the exact one you mean. Each component lands on its own row with its thumbnail, its name, its unit price, and a Qty per bundle field. Set that field when a bundle needs more than one of something: two mugs, six cans, four coasters. The trash icon on the row removes a component you added by mistake. A bundle with no components won't save, so this card is the one that has to be filled in. Below 10 components, drag the rows to set the order the recipe uses. Past 10, the list switches to a search box and pages instead, and the order can no longer be dragged.

- Check the Pricing card. Price fills itself in from the components and the helper text under it says so: "Sum of components". Enter a lower number to actually make it a bundle deal, and the helper changes to "Custom price · sum of components is $48.00" with a Use sum of components button to put the sum back. Compare-at price works differently from what you'd guess: it stays empty until your price sits below the sum. The moment it does, it auto-fills with the sum, wears an "auto" tag and reads "Auto: sum of components (price is below it)". That's the "was this, now that" comparison, for free. Type your own compare-at and the link breaks; it gets its own Reset to auto.

- Optional: Variant options. Skip this card entirely if your bundle sells as one thing. Add a variant option when customers should choose between versions of the bundle, like a pack size or a color. Add variant option stays disabled until you've added components, with a note next to it telling you so, because variants build on the base recipe. Once it's live, type the Option name, then add values one at a time in Option values, pressing Add after each. Add another option gives you a second dimension, Remove option takes one away. Drag an option's row to change which one customers see first, and drag values within an option the same way.
- Adding a variant option rearranges the page, so don't go looking for the Pricing card afterwards. It's gone, replaced by a Variants table with one row per combination and four columns: Variant, Contents, Price, Compare-at. Price and compare-at behave exactly as they did in step 4, just per row. Contents opens a panel with a quantity field for every component, which is the real point of variants here: a "6 pack" row and a "12 pack" row hold different amounts of the same recipe. The component rows lose their Qty per bundle steppers at the same time, since the quantities now live per variant. Optionfier warns you as you approach 2,048 variants (Shopify's own per-product ceiling), and won't sync a bundle past it.
- Optional: Buy more, save more. Check Reward bigger orders with a discount to reward shoppers who buy several, either across the whole bundle or scoped to specific variants.
- Set Status to Published and save. Draft keeps it hidden while you work. Unlisted publishes it but keeps it out of search and your collections, so it's only reachable by direct link, which is handy when you're selling it from a campaign. If a warning banner sits at the top saying "Bundles needs one more permission", hit Grant permission before you save: without it Optionfier can't make the bundle's product visible in your store. Saving may show a brief "Syncing to Shopify" banner while the product is created or updated. That's normal and usually clears in a few seconds.
The red Delete button at the top right removes the bundle. It shows up once the bundle exists, not while you're building the first version, and it's permanent, so treat it accordingly.
A note on pricing
The price field is the one that surprises people, so it's worth being explicit: it's the sum of your components' prices and keeps up when one changes, until the moment you enter your own number. The helper text always tells you which one you have, and Use sum of components is the way back. A sum-of-components price also sets the bundle's price in your Shopify catalogs; see Pricing for how. If you're building a bundle to sell at a discount, that override is where the discount lives, so check the price again after you've finished editing components. And once you've added variant options, there's no single price any more, every row in the Variants table carries its own.
What the customer sees
One product on your storefront with one add-to-cart button (or a variant picker, if you added variant options). Nothing to configure item by item.
In the cart it behaves as a native Shopify bundle: the bundle groups its component lines, and Shopify decrements each component's own inventory when the order goes through. Sell three Starter Kits and the mug stock, the coffee stock and the tote stock all drop by three. Refunds and restocks work the standard Shopify way, because every component is a real line item on the order.

The same theme caveat from bundle mode applies here: the indented sub-item display depends on your theme supporting Shopify's bundle format. If it doesn't, the bundle still adds to the cart and the pricing is still correct, it just renders as a flat line.