How to let customers buy any 6 products for one fixed price on Shopify

"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.

The three things that break

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.

1. The price doesn't survive checkout

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.

2. Discount codes stack — or refuse to

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.

3. An item sells out mid-session

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.


Method 1 — An automatic discount

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.

Method 2 — A fixed bundle product

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.

Method 3 — One product per combination

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.

Method 4 — A bundle app using Cart Transform

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.


What to ask before you pay for anything

  1. Is the box price set server-side? If the answer involves the word "theme," the price can be wrong at checkout.
  2. What happens when a picked item goes out of stock before checkout? Make them describe the actual screen the customer sees.
  3. How does it behave with a discount code? One product discount per line — so which one wins?
  4. Does it survive "Buy it now"? The express button skips the cart, and it's where implementations quietly fail. Test it yourself.
  5. Does component inventory decrement? If not, you're paying monthly for Method 2.
  6. Can a customer take two of the same item? Two of the same flavour is a normal request and a surprising number of apps don't allow it.

Which one you need

Your situationUse
All items the same priceA native automatic discount — free
Made to order, stock isn't the constraintA fixed bundle product + line item properties — free
Same six items every timeShopify's own Bundles app — free
Customer picks, mixed prices, finite stockA 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.

Related: How to let customers choose flavors on Shopify