A self-contained Shopify section that lets customers build a product bundle from a curated list, preview their selection with tiered discounts, and add the entire bundle to the cart in one click.
Video walkthrough: Watch on Loom
Live store: endrit-flower-shop.myshopify.com — Password: endrit
| File | Location | Purpose |
|---|---|---|
custom-bundle-set-creator.liquid |
sections/ |
Bundle builder section |
cart-drawer.liquid |
snippets/ |
Cart drawer with bundle grouping |
main-cart-items.liquid |
sections/ |
Cart page with bundle grouping |
header.liquid |
sections/ |
Bundle-aware cart count |
cart-icon-bubble.liquid |
sections/ |
Bundle-aware cart icon bubble |
In Shopify Admin, create a product:
- Title:
Custom Bundle - Price:
€0.00 - Track inventory: Unchecked
- Status: Active on the Online Store channel
- Copy
custom-bundle-set-creator.liquid→sections/ - Replace
snippets/cart-drawer.liquid - Replace
sections/main-cart-items.liquid - Replace
sections/header.liquid - Replace
sections/cart-icon-bubble.liquid
- Add the "Bundle set creator" section to your page
- Assign your products (up to 6)
- Assign the Custom Bundle placeholder product
- Optionally enable category filtering and mobile auto-open
In Shopify Admin → Discounts, create two automatic discounts:
- 10% OFF — Amount off products, 10%, minimum quantity of 3
- 15% OFF — Amount off products, 15%, minimum quantity of 5
These apply automatically at checkout — no coupon code needed.
Discounts are tiered based on bundle item count:
| Items | Discount |
|---|---|
| 1 | Cannot add to cart (minimum 2) |
| 2 | No discount |
| 3–4 | 10% off |
| 5+ | 15% off |
Configured in the DISCOUNT_TIERS array in the section's JavaScript:
const DISCOUNT_TIERS = [
{ qty: 3, percent: 10 },
{ qty: 5, percent: 15 }
];Bundle items are linked via _bundle_id, _bundle_parent/_bundle_child, and _bundle_discount line item properties. The cart drawer and cart page group items server-side using Liquid — no client-side DOM manipulation needed for the grouping.
- Discounts require matching Shopify automatic discounts — the bundle UI shows a preview; the actual reduction is applied by Shopify at checkout
- Items are separate line items at checkout — bundle grouping is a presentation layer in the cart only
- Built for Dawn theme — other themes may need CSS/markup adjustments
- Placeholder product must stay on Online Store channel — removing it causes a JS error