"Any 6 for £30" is easy to advertise and awkward to build. Here's what actually survives checkout.
The offer is simple to say out loud. Pick any six, pay one price. Customers understand it instantly, it lifts average order value, and it moves slow stock alongside fast stock.
Building it in Shopify is where it gets strange — because Shopify has no concept of "a price that replaces whatever these items normally cost." Every line in a cart carries its own price, and the total is the sum. Any fixed-price offer has to work around that, and the four common approaches work around it in very different ways.
The question that decides which one you need isn't "how do I show the price." It's what happens between the product page and the thank-you page — because that's where fixed-price setups quietly fall apart.
Before the methods, know what you're testing for. Almost every fixed-price implementation fails on at least one of these, and you won't notice until a customer hits it.
Plenty of setups display £30 beautifully on the product page and then hand £42 to the checkout, because the cart recalculated from line prices. Anything that fakes the price with JavaScript on the front end will do this. Checkout is server-side and it does not care what your product page said.
If your fixed price is implemented as a discount, then a customer with a 10% welcome code is asking Shopify to apply two discounts to the same line. Shopify applies one product discount per line item. So either your box discount wins and the customer's code silently does nothing, or the code wins and your box price breaks.
Neither is a bug exactly, but both produce support emails. Decide deliberately which one you want, and say so on the page.
The shopper picks six, goes to make coffee, comes back and checks out. In between, item three sold out. What happens?
This is the failure the forum threads never answer, and it's the one that costs you money. Depending on the implementation the customer gets a checkout error they can't diagnose, or the item silently drops and they're charged the full box price for five things. Ask any app you're evaluating this exact question.
Shopify's native discounts can do "buy X, get Y" and quantity breaks. For a genuine "any 6 for £30" you need the discount to compute the difference between the cart total and your target price, which native discounts can't express directly.
Where it works: when all six items cost the same. If every item is £7, "any 6 for £30" is just a fixed-amount or percentage discount at quantity 6, and you can build it natively with no app at all.
Where it breaks: mixed price points. If your range runs £4 to £11, a percentage discount gives a different final price depending on what the customer picked — which is not the offer you advertised.
Use it if your items are all one price. That's a real and common case, and it's free.
Create "Build Your Own 6-Box" as a product priced at £30, then let the customer tell you what goes in it via line item properties — six dropdowns on the product page.
The price is real, because it's a real product with a real price. Nothing can recalculate it. That's the strength.
The weakness is that the six choices are text, not stock. Shopify decrements one unit of "Build Your Own 6-Box" — a product you probably didn't stock-count in the first place — and knows nothing about the six items inside. Sell out of one flavour and the store will keep taking orders for it all week.
For made-to-order businesses that's perfectly fine. For anyone shipping from a finite shelf, you've moved the problem to a spreadsheet.
Free, price is bulletproof, inventory is on you.
Technically correct and practically impossible past a handful of options. Six picks from twelve items, allowing repeats, is 12,376 combinations. You are not building those.
Worth stating only so you can rule it out quickly — it's the approach people reach for first and abandon by lunchtime.
Only viable for a small set of pre-made boxes, at which point you don't need "any 6" at all.
Shopify's supported mechanism for this is the Cart Transform Function, the API behind what Shopify's own documentation calls customized bundles. One line in the cart expands into its real components at checkout, which is what lets a single box price coexist with real per-item stock.
That's the combination the first three methods can't reach: a fixed price and honest inventory at the same time.
Worth knowing that Shopify's own free Bundles app doesn't do this part — it handles fixed bundles and multipacks where you choose the contents, and it does decrement each component's inventory. If your six items are always the same six, install it and stop reading. It's free and it's from Shopify.
Customer choice is where you need a third-party app, and where the questions in the next section start to matter.
Fixed price plus real stock — the only method that gives you both.
| Your situation | Use |
|---|---|
| All items the same price | A native automatic discount — free |
| Made to order, stock isn't the constraint | A fixed bundle product + line item properties — free |
| Same six items every time | Shopify's own Bundles app — free |
| Customer picks, mixed prices, finite stock | A bundle app built on Cart Transform |
Three of those four cost nothing. Only the last one needs a paid app, and only because it's solving two problems at once.
We build Choosebox for that last row — customers pick their own items within a minimum and maximum you set, multiples of one item allowed, and components stay real products so inventory doesn't oversell. If one of the free rows fits you, use it.