You have tried your best to share all the inputs but have you seen any example of this anywhere just to get a visual understanding of all this?
This is definitely a bit complicated because this has a mix of every kind of bundle and then people adding multiple bundles and then the pricing logic.
Most bundle apps support a discount for the items within the bundle, but not based on the number of bundles.
Also, cheapest gets the highest discount requires a custom discount function. Shopify default should be offers the most discount if I don’t remember it wrong.
For your case, it would be better to work on your custom discount function that can read the bundles on the cart/checkout.
This is a really smart way to encourage larger orders, but I’ll be honest, it’s quite a complex request for most standard apps. The biggest challenge is the “sorting” logic where the discount always automatically finds the cheapest bundle to apply the highest percentage. Most basic apps only do flat discounts or simple “Buy X Get Y” rules.
For the premium bundle-building experience (the UI part), you should check out BundleBuilder or Bundlo . They are great at handling the “Mix & Match” aspect and making the process look clean for the customer. However, they might still struggle with your specific 0/10/20% sorted pricing logic out of the box.
To get that exact discounting math, your best bet is likely Shopify Functions . It’s a newer Shopify feature that allows a developer to write custom discount rules directly into the checkout logic. It’s much more stable than trying to “hack” multiple apps together. If you aren’t comfortable with code, I’d suggest reaching out to a Shopify Partner to build a small custom Function for you, it’s the only way to guarantee the “cheapest gets highest discount” rule works perfectly every single time!
Go to BOGOS > Create Bundle > Classic Bundle > Select bundle item level as “Product level” > Select products to create the bundle > Set bundle discount = 0%
Note: If you have 3 bundles, create 3 classic bundles
We tried to set up this exact tiered logic for a mix-and-match promo and it’s a complete nightmare in the cart. Standard apps just look at items in isolation, so when a customer adds a second, cheaper bundle, the discount ranks based on the order they were added to the cart, not the actual price ranking. Customers notice the math is wrong immediately before checking out, and we had to turn the promo off because our support inbox was getting flooded with people asking why their discount decreased. It feels like Shopify completely overlooks cross-bundle cart sorting unless you pay a dev to build a custom Shopify Function.
Hey @GRODT , you could check out Sternify. It is a great bundle app that has the functionality that you are looking plus they have more functionality like a upsells, product set bundles, quantity set bundles, sections, cart drawers etc. It also has the option of doing the buy X get Y free within their bundles and a lot more.
I recommend it to all my clients. Plus their product team ships features quickly and they have a discord channel to connect with other users who are also using Sternify
The “cheapest item gets the highest discount” logic is actually a pretty standard tiered discount setup, it just needs an app that lets you define discount rules by item price rank within the bundle.
Shopify’s native Buy X Get Y only lets you discount the Y item at a flat rate, so it can’t dynamically assign the biggest discount to the cheapest item across a mixed bundle. You need an app for this.
BOGOS handles this through their volume discount and bundle features. You can set up tiered rules where the discount scales based on quantity, and it applies to the cheapest qualifying item automatically. So if someone adds 3 items at $50, $30, and $20, the $20 item gets the largest percentage off. You can also combine this with their mix-and-match bundle if you want customers to build their own bundle from a collection rather than having pre-set combinations.
Another option is Discount Ninja if you want more granular control over the discount math, but for most “cheapest gets highest discount” setups BOGOS or Kite will handle it without needing custom code.
One thing: test the checkout flow thoroughly. Some apps apply the discount visually in the cart but calculate it differently at checkout. Run a few test orders with different product combinations before going live.
The builder half is easy with an off-the-shelf app, but your “cheapest bundle gets the highest discount, ranked by price across the cart” rule is the part no standard bundle app does to my knowledge. That’s custom Shopify Function territory, since it has to re-sort the cart by price at checkout and apply a different % per tier.
For the builder, a few worth comparing: NeatBundles (disclosure: I’m the founder), Kitenzo ‑ Bundle Builder, and Easy Bundle Builder. NeatBundles is mix-and-match — one builder with steps (type → size → color) and min/max rules instead of pre-building every combo, and customers can buy multiple bundles per cart. It does have bulk discounts, but to be straight: those reward buying multiple units of the same configuration, not buying two completely different bundles — and neither that nor any bundle app I know of does your price-ranked logic natively.
So the realistic setup is a bundle app for the configurator + UI, plus a custom Shopify discount Function for the ranked tiering. That Function is the one piece I’d budget custom dev for.