How to Add a Product Bundle Builder to Shopify Without an App
Why Skip the Bundle App (and What You Give Up)
Every bundle app on the Shopify App Store solves the same three problems: it lets customers pick products, it calculates a discount, and it stores the result as an order. You can solve all three with native Shopify features and a bit of Liquid, and skip the monthly fee entirely. For a store doing 50–500 orders a month, that fee is often $20–$50 that could go into ads instead.
What you give up by going app-free:
- Drag-and-drop admin UI — you'll edit Liquid or create products manually instead of clicking through a builder.
- Analytics dashboards — most apps show bundle attach rates out of the box; you'll need to read this from order data.
- Automatic inventory syncing across bundle components — native Shopify can't decrement component stock when a bundle sells unless you build it.
- Support — when something breaks, it's your code.
If those trade-offs sound acceptable, keep reading. If you sell hundreds of SKUs and need customers to mix-and-match freely, jump to the last section.
Method 1: Fixed Bundles as a Single Product with Variants
This is the fastest path and works for any "buy these three things together" offer. You create one new product that represents the bundle, and variants represent the combinations.
Steps:
- In Shopify admin, go to Products → Add product.
- Name it something like "Starter Skincare Set."
- Under Variants, add options. For a fixed 3-item bundle, you might use one option called "Size" with values "Travel", "Full Size", "Full Size + Refill."
- Set the price of each variant to the bundle price — not the sum of parts. If the three items total $60 and you want 20% off, price the variant at $48.
- Upload a lifestyle photo showing all items together, plus individual shots in the gallery.
- In the description, list exactly what's included. Customers need to know what they're buying.
The catch: Shopify treats this as one SKU. If you sell a bundle, Shopify decrements the bundle product's inventory, not the inventory of the three components. You'll need to manually adjust component stock, or use a fulfillment workflow (see the inventory section below).
When to use this: Fixed bundles where you control the combination. Gift sets, starter kits, "complete the look" offers. It takes 15 minutes and requires zero code.
Method 2: Automatic Bundle Discounts with Shopify Discounts
Shopify's native Automatic discounts can apply a percentage or fixed amount off when a customer adds specific products to cart. This is the closest thing to a true "bundle builder" without code, because the customer picks products themselves.
Steps:
- Go to Discounts → Create discount → Amount off order (or Buy X get Y).
- Under Applies to, choose Specific products and select the products eligible for the bundle.
- Set Minimum quantity of items — for example, "3" if the bundle is any 3 eligible products.
- Set the discount, e.g. 15% off.
- Under Combinations, decide whether this stacks with other discounts. Usually you want it to not combine, to protect margin.
- Save and enable.
Now create a collection called "Build Your Bundle" containing the eligible products, and link to it from your navigation. Add a banner on the collection page: "Add any 3 items to your cart and save 15% automatically."
Limitations:
- The discount applies to the whole cart if the customer adds a fourth eligible item — you can't cap it at 3 without a script or app.
- No visual "builder" interface; customers add items like normal shopping.
- You can't show a live savings counter without theme edits.
When to use this: Mixed-product bundles where customers choose. Works well for candle shops, tea retailers, and supplement stores.
| Method | Setup time | Code required | Handles inventory correctly | Best for |
|---|---|---|---|---|
| Fixed bundle product | 15–30 min | No | No (manual) | Gift sets, kits |
| Automatic discount | 10 min | No | Yes | Mix-and-match collections |
| Custom theme builder | 4–10 hours | Yes (Liquid/JS) | Depends on build | High-volume, branded UX |
Method 3: Build a Custom Bundle Builder with Theme Code
This gives you a real builder UI — checkboxes, quantity selectors, a live price total — running on your own theme. You'll work in your theme's code editor (Online Store → Themes → Edit code).
The approach:
- Create a new section file called
bundle-builder.liquid. - Define a product list in the section schema, or pull from a collection using
collections['bundle-items'].products. - Render each product with a checkbox and a quantity input:
{% for product in collections['bundle-items'].products %}
<label>
<input type="checkbox" class="bundle-item" data-variant-id="{{ product.selected_or_first_available_variant.id }}" data-price="{{ product.price }}">
{{ product.title }} — {{ product.price | money }}
</label>
{% endfor %}
- Add JavaScript that sums selected prices and displays a running total. Apply your bundle discount in the display, not at checkout — the discount itself should come from an automatic discount (Method 2) so Shopify calculates it correctly.
- On submit, add all selected variants to the cart using the
/cart/add.jsendpoint with a single fetch call containing anitemsarray.
Key detail: Do the discount math at checkout, not in the cart. If you show "$48" in your builder but the cart shows "$60," customers will abandon. Use the automatic discount from Method 2 and make sure the bundle products are in the eligible list.
When to use this: You want a branded, on-page experience and you're comfortable editing Liquid. Budget half a day for the first version.
Setting Up Inventory, Pricing, and Fulfillment for Bundles
Inventory. Shopify decrements inventory at the variant level. For a fixed bundle product, the bundle variant has its own stock count. Two options:
- Track bundle stock separately and manually restock components when you restock the bundle.
- Use a fulfillment app or Shopify Flow to decrement component inventory when a bundle order is placed. Flow is free on most plans; check current plan requirements.
Pricing. Set bundle prices so the discount is obvious but your margin survives. A common range is 10–20% off the sum of parts. Below 10%, customers won't notice. Above 25%, check your COGS before committing.
Fulfillment. In your packing slip or order confirmation, list the bundle components so your warehouse picks the right items. If you use a 3PL, send them the component SKUs, not the bundle SKU.
Testing Your Bundle Builder Before You Launch
Run through this list before you announce anything:
- Add the bundle on desktop and mobile. Check the cart total matches what the builder showed.
- Test with a discount code active to confirm the automatic bundle discount doesn't double-stack unintentionally.
- Place a test order and check the confirmation email lists the right items.
- Verify inventory decrements correctly on both the bundle and components.
- Check the bundle appears correctly in Shopify's Analytics → Reports → Sales by product.
- Test the out-of-stock path: what happens if one component sells out mid-session?
When a Paid App Is Actually Worth It
Skip the DIY route and pay for an app when:
- You need customers to build bundles from 50+ products with search and filtering.
- You sell on multiple channels and need bundle inventory to sync across Shopify, Amazon, and wholesale.
- You want built-in A/B testing on bundle offers.
- You don't have anyone who can maintain Liquid code when your theme updates.
Popular options include Bold Bundles, Fast Bundle, and Simple Bundles. Check current pricing and Shopify plan compatibility on each app's listing before you commit — pricing changes and some apps require Shopify Plus for certain features.
Conclusion
You can launch a working bundle offer on Shopify today using a fixed bundle product or an automatic discount — no app, no monthly fee. A custom theme builder takes more effort but gives you full control over the customer experience. Only reach for a paid app when your catalog or channel complexity genuinely outgrows what native Shopify handles.
FAQ
Can I offer bundle discounts without an app on Shopify? Yes. Use Discounts → Create discount → Amount off order with specific products and a minimum quantity. It applies automatically at checkout.
Does Shopify track inventory for bundle components? Not natively. Shopify tracks the bundle SKU's inventory, not the individual components. You'll need Shopify Flow, a fulfillment app, or manual adjustments to keep component stock accurate.
Will a custom bundle builder slow down my theme? Only if you load large product lists or heavy JavaScript. Keep the bundle section limited to a curated collection (under 30 products) and lazy-load images to stay fast.