Mix & Match Bundles
Let customers build their own bundles from a selection of products
Last updated: 2025-01-16
Mix & Match Bundles give customers the freedom to choose their own products from a curated selection. You define the rules (e.g., "Pick any 3 items") and the discount, while customers personalize their bundle.
Customer Favorite
Mix & Match bundles have the highest customer satisfaction scores because they combine the value of bundling with the personalization customers want.
How It Works
- You define the pool — Select which products are eligible
- You set the rules — How many items, minimum quantities, etc.
- You set the discount — Percentage off, fixed price, or tiered
- Customer builds their bundle — Selects products that fit the rules
- Discount applies automatically — At checkout or in cart
Common Use Cases
Mix & Match Examples
- "Pick any 3 for $25" — Fixed price for a set quantity
- "Buy 2, get 20% off" — Percentage discount at quantity threshold
- "Mix & Match 6-pack" — Beverage or food variety packs
- "Build your routine" — Skincare/beauty customization
- "Wardrobe builder" — Fashion mix and match
- Sample bundles — Try different flavors/scents
Creating a Mix & Match Bundle
1
Start Bundle Creation
Go to CheckoutOS → Dynamic Bundles → Create Bundle → Mix & Match.
2
Define Product Pool
Add products by individual selection, collection, or tag.
3
Set Quantity Rules
Define minimum/maximum items and any per-product limits.
4
Configure Pricing
Set discount type: fixed price, percentage, or tiered.
5
Design the Selector
Choose layout and customize the bundle builder UI.
6
Publish
Test the bundle builder, then publish.
Defining the Product Pool
Specify which products are eligible for the bundle:
Product Pool Configuration
{
"product_pool": {
"type": "mixed",
"sources": [
{
"type": "collection",
"collection_id": "protein-bars"
},
{
"type": "tag",
"tag": "bundle-eligible"
},
{
"type": "products",
"product_ids": ["special-item-001", "limited-edition-002"]
}
],
"exclusions": {
"product_ids": ["discontinued-item"],
"tags": ["no-bundle"]
}
}
}Quantity Rules
Control how many items customers can select:
Quantity Rules
{
"rules": {
"total_items": {
"minimum": 3,
"maximum": 6,
"exact": null
},
"per_product": {
"minimum": 0,
"maximum": 3
},
"required_products": [],
"category_limits": {
"premium": { "max": 2 },
"standard": { "max": 6 }
}
}
}Pricing Options
Fixed Price for Bundle
Pick Any 3 for $25
{
"pricing": {
"type": "fixed_price",
"conditions": [
{
"quantity": 3,
"price": 25.00
}
],
"show_per_item_price": true
}
}Percentage Discount
Buy 3, Get 15% Off
{
"pricing": {
"type": "percentage",
"conditions": [
{
"quantity_min": 3,
"discount_percent": 15
}
],
"apply_to": "all_items"
}
}Tiered Pricing
Tiered Discount Structure
{
"pricing": {
"type": "tiered",
"tiers": [
{ "quantity": 2, "discount_percent": 10, "label": "Buy 2, save 10%" },
{ "quantity": 3, "discount_percent": 15, "label": "Buy 3, save 15%" },
{ "quantity": 4, "discount_percent": 20, "label": "Buy 4, save 20%" }
],
"show_next_tier": true
}
}Bundle Builder UI
Customize how the mix & match selector appears:
UI Options
- Grid layout — Products displayed in a grid
- List layout — Products in a scrollable list
- Category tabs — Organize products by category
- Search and filter — Help customers find products
- Running total — Show bundle price as they select
- Progress indicator — "3 of 6 selected"
UI Configuration
{
"ui": {
"layout": "grid",
"columns": 3,
"show_categories": true,
"enable_search": true,
"show_running_total": true,
"progress_style": "bar",
"add_button_text": "Add to Bundle",
"complete_button_text": "Add Bundle to Cart"
}
}Best Practices
Optimization Tips
- Keep the pool focused — Too many options cause decision fatigue
- Use clear pricing — "Pick 3 for $25" is clearer than complex tiers
- Show progress — Help customers know how many more to add
- Highlight savings — Show "You're saving $X" as they build
- Mobile-first design — Test the builder on mobile devices
- Suggest combinations — Show popular bundles others have built
Related Topics
Was this page helpful?
Need more help? Contact support