Bundles raise average order value reliably. That is the easy part, and it is also why AOV is a dangerous number to optimise on its own: every bundle raises it by construction, including the ones losing you money. The useful question is not whether bundles move AOV but whether they move margin per order, and those two figures come apart more often than they move together.
The arithmetic, done properly
Take a £20 product at 50% margin — £10 of gross profit per unit.
- One unit: £20 revenue, £10 margin.
- Three units at 15% off: £51 revenue, £21 margin. AOV up 155%, margin up 110%. Good.
- Buy two get one free: £40 revenue, £10 margin. AOV up 100%, margin flat. You moved three units for the profit of one.
- Three units at 35% off: £39 revenue, £9 margin. AOV up 95%, margin down. This is the bundle that looks like a success in every dashboard you own.
The third and fourth lines are the ones to watch. A discount deep enough to be compelling on a thin-margin product can consume more than the extra units bring in, and nothing in Shopify's reporting will tell you, because revenue and AOV both went up.
The break-even is straightforward: on a product with margin m as a fraction of price, a discount of d on n units keeps you ahead of a single full-price sale only while n × (m − d) > m. At 50% margin and a 15% discount, two units already clear it. At 25% margin, the same 15% discount needs two and a half units to break even, which means a two-unit tier is a loss.
The cannibalisation nobody subtracts
The second thing that separates a real AOV gain from an apparent one is what the customer would have done anyway.
If someone was going to buy two units at full price and now buys three at 15% off, you gained one unit and gave away a discount on the two you already had. If they were going to buy one, the same bundle is straightforwardly good. Your reporting cannot distinguish these, because both appear as a three-unit discounted order.
Which is why the first bundle you run should not run everywhere. Put it on one collection, leave a comparable collection alone, and compare margin per order between them for a fortnight. That comparison contains the cannibalisation; a before-and-after on the whole store does not.
Which bundle type moves which number
Quantity breaks
The most reliable AOV lever and the safest on margin, because the customer is buying more of something they already decided on and the discount scales with the order. Best on consumables and anything with a predictable reorder cycle. The tier structure does most of the work — three tiers, the first at the quantity people already buy.
Mix-and-match
"Any 3 from this collection" raises AOV about as much as a fixed bundle and converts better, because the customer assembles a selection that suits them rather than accepting your guess. Watch the pricing model: a flat bundle price across a wide price range means shoppers will find the most expensive combination, and they are right to.
Curated bundles
A fixed set at a set price. Highest margin control, lowest hit rate — you are betting on a combination, and for most customers the combination is wrong. Works when the products genuinely belong together and the bundle solves a whole need rather than three separate ones.
BOGO
The biggest AOV swing and the most expensive per unit of margin, as the arithmetic above shows. It earns its place where a discount cannot go — clearing a line, introducing a product, or where supplier terms forbid discounting the price but not giving a unit away.
Sizing the discount
The common advice — 10–15% for premium, 15–25% for most, 25%+ for clearance — is a reasonable starting point and a poor stopping point, because it is expressed in percentages of price and your constraint is margin.
Work from the margin instead. A 15% discount on a 50%-margin product gives away 30% of your profit on those units. The same 15% on a 25%-margin product gives away 60%. The first is a promotion; the second is close to selling at cost, and neither is visible in a percentage-off figure.
The practical rule: never let the discount exceed a third of the gross margin on a tier that customers commonly reach. Deeper discounts belong on tiers that are genuinely aspirational, where the volume justifies them.
Make it visible where the decision happens
An offer the customer discovers in the cart has already lost. The quantity decision is made on the product page, beside the quantity selector, which is where the tier table or bundle prompt belongs — above the Add to Cart button, not below it.
Show the per-unit price, since "£7.20 each" is what makes a tier feel like a deal while "£21.60" is just a larger number. And show progress where a threshold is close: "add 1 more to save 20%" does more work than any copy above the widget, because it arrives at the moment of decision with a specific instruction.
Keep it automatic rather than code-based. Shopify allows one discount code per order, so a code-based bundle blocks the customer's own code at checkout and forces them to choose between your offer and theirs.
Three failure modes that show up as an AOV win
The offer that rewards your best customers for nothing. If a large share of orders already reached three units before you introduced a three-unit tier, the tier is a rebate on behaviour you already had. It will show a strong AOV figure because those orders are large, and the margin line will quietly fall. Check the existing distribution of units per order before setting the first tier.
Stacking you did not plan. A volume discount, a site-wide sale and a customer's welcome code can all land on the same order. Each was signed off separately at a defensible depth; together they are a price you would never have set. Model the worst legitimate combination before a promotion rather than finding it in the numbers afterwards.
Returns on discounted bundles. A partial return on a three-for-two order raises a question nobody decided in advance: does the customer keep the discount on the two they kept? Whichever answer you choose, it needs to be the same every time, and line-item discounts make it far easier to answer than cart-level ones, because the price actually paid is recorded against each unit.
What to measure
- Margin per order, not AOV and not revenue. Both of those rise under a bundle that is losing you money.
- Units per order, to see whether the bundle changed behaviour or just repriced it.
- Share of orders containing the offer. Low take-up with high AOV usually means you are discounting people who were buying in volume anyway.
- A held-back comparison group, so cannibalisation is inside the number rather than outside it.
Run one offer at a time, on one collection, for two weeks, and not during a sale — when everything moves, nothing is measurable.
Where to go next
Bundle applies volume, mix-and-match and BOGO offers automatically, so no code is needed and the customer's own code still works. For the tier structure, see quantity break tables; for the BOGO decision, BOGO or volume discounts.