How to Create Bundle Discounts
Bundles are a common type of discount, mainly used to incentivize large orders. You can use Regios Automatic Discounts to create bundle offers; however, our app does not currently have a way to display bundle offers on product pages.
Buy 1 camera and 1 lens, get 20% off both the camera and the lens
Buy 1 table and 4 chairs, get 10% off the table and chairs
To create bundles in our app, you need to understand the logic. Typically, a bundle is like a discount that says, "if, and only if, all of these products are in the cart, offer a discount on them all."
Sometimes, a bundle requires a specific quantity of items. For example, "Buy 1 table and 4 chairs, get 10% off the table and chairs." That's like saying, "if product A is in the cart, and the count of product B in the cart is 4, apply a discount to products A and B."
![Screenshot of a "Check if specific products are in the cart" condition](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_zbvgti.png)
The best way to do this in our app is by combining 1 or more "Check if specific products are in the cart" condition, with an "Include/exclude products" condition.
The "Check if specific products are in the cart" condition determines whether the cart is eligible for the discount.
The "Include/exclude products" condition determines which line items actually receive a discount.
The "Check if specific products are in the cart" condition also has an optional advanced setting, called "Variable," where you can store the number of cart lines that meet its criteria for later use. We'll discuss this technique in the "Bundle with quantity" section.
![A screenshot of a discount setup for a bundle discount WITHOUT a required quantity of items](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_ot3nlj.png)
Example: "If you buy both Product A and Product B, get X% off both"
If your bundle doesn't require a specific quantity, then create a chain of the following logic steps:
A "Check if" step, containing 1 or more "Check if specific products are in the cart" conditions, one for each product in the bundle.
Another "Check if" step, containing just 1 "Include/exclude products" condition, that contains all the products in the bundle.
An "Apply discount" step, with the desired discount you want to apply to each line item.
![A screenshot of a discount setup for a bundle discount WITH a required quantity of items](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_1el9pjq.png)
Example: "If you buy at least 1 of Product A and exactly 2 of Product B, get X% off both"
If your bundle requires a specific quantity of a product, then create a chain of the following logic steps:
A "Check if" step, containing 1 or more "Check if specific products are in the cart" conditions, one for each product in the bundle, followed by a number of "Compare this number" steps, 1 for each product that requires a specific quantity.
![Screenshot of the "Variable to assign" advanced setting](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_c2wp63.png)
If a product requires a specific quantity, then set the "Variable to assign" advanced setting. We recommend naming it to "[product name]Count," so that it's easy to keep track of. Examples, shoeCount, redTableCount.
![Screenshot of the "Compare a variable" criteria option](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_1sc1jx.png)
Then, click "Add criteria." You will see a new "Compare a variable" option. Click it.
![Screenshot of a "Compare this number" condition using the product2Count variable](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_rcor5u.png)
You will then be able to select which variable to compare to a specific known number. For a bundle, use these settings:
Compare this number: Total quantity (from cart line variable)
To this number: The required quantity of the product
Compare by: "Equals" by default, but you can change it to other mathematical operations, like "Greater than or equal to," "Less than," etc.
Variable name: The name of the variable you defined in the "Variable to assign" setting earlier.
For example, you can tell our app, "Check if shoeCount equals 2." Or, you can say, "Check if chairCount is greater than or equal to 4."
By using these conditions, you can check whether the customer has a certain number of a product in the cart.
These steps are the same as for "Bundle without quantity."
Another "Check if" step, containing just 1 "Include/exclude products" condition, that contains all the products in the bundle.
An "Apply discount" step, with the desired discount you want to apply to each line item.
![A screenshot of a discount setup for a bundle discount where different products get different discounts](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_gudwyz.png)
Example: "If you buy both Product A and Product B, get X% off Product A, and Y% off Product B"
If each product in your bundle should receive a different discount, then create a chain that starts with:
A "Check if" step, containing 1 or more "Check if specific products are in the cart" conditions, one for each product in the bundle.
Then, you need to create a chain of "Check if" steps, one for each product, that will be responsible for applying the right discount to the right product in the bundle.
Each "Check if" step in the chain should have:
An "Include/exclude products" condition that checks for "Specific products," including that product
A "Then" that is an "Apply discount" step,
And an "Otherwise" that is the next "Check if" step.
For example, if you wanted to apply 10% off Product A, and 20% off Product B:
"Check if," "Include/exclude products" (Product A)
Then, "Apply discount," 10%
Otherwise, "Check if," "Include/exclude products" (Product B), "Then," "Apply discount," 20%
As a solo founder, your experience is crucial to me. Could you spare a moment to share your thoughts? Please leave a review on the Shopify App Store. Thank you for helping me improve!
Examples
Buy 1 camera and 1 lens, get 20% off both the camera and the lens
Buy 1 table and 4 chairs, get 10% off the table and chairs
General Approach
To create bundles in our app, you need to understand the logic. Typically, a bundle is like a discount that says, "if, and only if, all of these products are in the cart, offer a discount on them all."
Sometimes, a bundle requires a specific quantity of items. For example, "Buy 1 table and 4 chairs, get 10% off the table and chairs." That's like saying, "if product A is in the cart, and the count of product B in the cart is 4, apply a discount to products A and B."
![Screenshot of a "Check if specific products are in the cart" condition](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_zbvgti.png)
The best way to do this in our app is by combining 1 or more "Check if specific products are in the cart" condition, with an "Include/exclude products" condition.
The "Check if specific products are in the cart" condition determines whether the cart is eligible for the discount.
The "Include/exclude products" condition determines which line items actually receive a discount.
The "Check if specific products are in the cart" condition also has an optional advanced setting, called "Variable," where you can store the number of cart lines that meet its criteria for later use. We'll discuss this technique in the "Bundle with quantity" section.
Bundle without quantity
![A screenshot of a discount setup for a bundle discount WITHOUT a required quantity of items](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_ot3nlj.png)
Example: "If you buy both Product A and Product B, get X% off both"
If your bundle doesn't require a specific quantity, then create a chain of the following logic steps:
A "Check if" step, containing 1 or more "Check if specific products are in the cart" conditions, one for each product in the bundle.
Another "Check if" step, containing just 1 "Include/exclude products" condition, that contains all the products in the bundle.
An "Apply discount" step, with the desired discount you want to apply to each line item.
Bundle with quantity
![A screenshot of a discount setup for a bundle discount WITH a required quantity of items](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_1el9pjq.png)
Example: "If you buy at least 1 of Product A and exactly 2 of Product B, get X% off both"
If your bundle requires a specific quantity of a product, then create a chain of the following logic steps:
First Step
A "Check if" step, containing 1 or more "Check if specific products are in the cart" conditions, one for each product in the bundle, followed by a number of "Compare this number" steps, 1 for each product that requires a specific quantity.
![Screenshot of the "Variable to assign" advanced setting](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_c2wp63.png)
If a product requires a specific quantity, then set the "Variable to assign" advanced setting. We recommend naming it to "[product name]Count," so that it's easy to keep track of. Examples, shoeCount, redTableCount.
![Screenshot of the "Compare a variable" criteria option](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_1sc1jx.png)
Then, click "Add criteria." You will see a new "Compare a variable" option. Click it.
![Screenshot of a "Compare this number" condition using the product2Count variable](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_rcor5u.png)
You will then be able to select which variable to compare to a specific known number. For a bundle, use these settings:
Compare this number: Total quantity (from cart line variable)
To this number: The required quantity of the product
Compare by: "Equals" by default, but you can change it to other mathematical operations, like "Greater than or equal to," "Less than," etc.
Variable name: The name of the variable you defined in the "Variable to assign" setting earlier.
For example, you can tell our app, "Check if shoeCount equals 2." Or, you can say, "Check if chairCount is greater than or equal to 4."
By using these conditions, you can check whether the customer has a certain number of a product in the cart.
2nd and 3rd Steps
These steps are the same as for "Bundle without quantity."
Another "Check if" step, containing just 1 "Include/exclude products" condition, that contains all the products in the bundle.
An "Apply discount" step, with the desired discount you want to apply to each line item.
Bundle where each product gets a different discount
![A screenshot of a discount setup for a bundle discount where different products get different discounts](https://storage.crisp.chat/users/helpdesk/website/d13e90de659a8800/image_gudwyz.png)
Example: "If you buy both Product A and Product B, get X% off Product A, and Y% off Product B"
If each product in your bundle should receive a different discount, then create a chain that starts with:
A "Check if" step, containing 1 or more "Check if specific products are in the cart" conditions, one for each product in the bundle.
Then, you need to create a chain of "Check if" steps, one for each product, that will be responsible for applying the right discount to the right product in the bundle.
Each "Check if" step in the chain should have:
An "Include/exclude products" condition that checks for "Specific products," including that product
A "Then" that is an "Apply discount" step,
And an "Otherwise" that is the next "Check if" step.
For example, if you wanted to apply 10% off Product A, and 20% off Product B:
"Check if," "Include/exclude products" (Product A)
Then, "Apply discount," 10%
Otherwise, "Check if," "Include/exclude products" (Product B), "Then," "Apply discount," 20%
Your Feedback Matters
As a solo founder, your experience is crucial to me. Could you spare a moment to share your thoughts? Please leave a review on the Shopify App Store. Thank you for helping me improve!
Updated on: 09/07/2024
Thank you!