I’m trying to create a discount code for a bundle of 3 products. I have a drinkware, hat, and underwear collection. A customer must purchase 1 item each from 3 different collections to receive 20% off. I’ve tried combing 3 BOGO codes it only gave 20% off of 2 items. I tried the “amount off of products” but it allowed a customer to have the ability to purchase 3 products from the same collection. Is there a way to make a discount code for this?
Topic summary
Goal: Offer 20% off when a customer buys exactly 1 item from each of three collections (drinkware, hat, underwear).
What’s been tried/limits:
- Combining three BOGO (buy-one-get-one) codes only discounted 2 items.
- “Amount off products” allowed 3 items from the same collection (doesn’t enforce 1-from-each).
- Shopify discount codes can’t chain multiple collections; a workaround is a single large collection with a minimum of 3 items, but it won’t ensure one from each collection.
Suggested solutions (apps):
- General bundling apps recommended: Bundler – Product Bundles, Bundle Builder, Bold Bundles.
- Bundle Kit: supports fixed bundle pricing, optional sale-price display, inventory sync by variants, and still permits discount codes at checkout.
- BOGOS app (Mix & Match Bundle): can require 1 item from each of the 3 collections and apply a tiered discount (e.g., 20% when all 3 are in cart). Tutorial images were provided.
Context/constraints:
- This is a limited-time Valentine’s promo for in-store and online; merchant wants to avoid pop-ups.
Status: No final decision; guidance points to using a bundling app to meet the 1-from-each requirement.
Hi, @Fishboutiquems . I can definitely look into this with you! I just have a few questions to make sure I give you the best advice for your goals.
- Is this a promotion you’re trying for a limited time, or would you like this bundled pricing to always be available on your store?
- Would this discount be available to everyone, or are you only sharing the discount code with certain customers?
Based on what you described I believe the best option would be to use a product bundling app, since this particular functionality is not currently built in to Shopify discounts. I’ve included a list of popular product bundling apps below. That being said, you can also find similar apps here.
If you’re hoping to do this just using the Shopify admin, I may have some workarounds you can use to achieve something similar. I’d be happy to review more options once I have a bit more information on the discount/bundle.
Please let me know if you have any questions!
This is Jun from Bundle Kit.
Perhaps you could consider using our app. Our app will let you discount the entire order by entering a fixed price. You can read more about it from our article: https://help.bundlekit.io/overriding-bundle-price
You can also choose to display the discounted price as a sale price: https://help.bundlekit.io/displaying-bundle-price-as-a-sale-price
Also, because Bundle Kit bundles are built on top of normal Shopify products, this means your customers can still use discount codes at the end of checkout even though the bundle is already discounted if the steps from our articles are executed.
The bundle inventory is automatically set based on the available inventories of the bundle item(s), including the inventories of the variants. Proper quantity will also be taken out of the inventory of each bundle that is being purchased.
Let us know if you have any questions.
It will be a Valentine special for in-store and online customers. I was wanting to avoid any pop up’s on my website.
No, you can’t create a code by chaining multiple collections. You can only create a large collection including the 3 collection products and set a minimum of 3 products.
Hi,
I suggest using the Mix & Match Bundle feature in the BOGOS App — it’s perfect for this scenario.
With this feature, you can:
-
Require customers to purchase 1 item from each of the 3 different collections
-
Set a tiered discount for the bundle (e.g., 20% off when all 3 items are in the cart)
Here’s a quick tutorial to help you set it up:

