A volume discount on Shopify lowers the unit price as quantity rises — buy 3 save 10%, buy 5 save 15% — and the cleanest way to run one is as an automatic discount that applies at checkout without a code. Quantity breaks, mix-and-match bundles and BOGO offers are variations on the same mechanism. This guide covers which offer shape suits which catalogue, why codes cost you more than they look like they do, and how to build a tier table shoppers actually read.
The four offer shapes, and when each one fits
Almost every bundle offer is one of four things. Picking the wrong one is the most common reason a promotion underperforms.
- Quantity breaks (tiered pricing). The same product, cheaper per unit as quantity rises. Right for consumables, replenishables and anything where a customer plausibly wants several — socks, coffee, supplements, filters.
- Fixed bundles. Specific products sold together at a set price. Right when the products genuinely belong together and you know the combination — a starter kit, a razor and blades.
- Mix-and-match. Any 3 from a collection, at a discount. Right for catalogues with variety where you do not know which three a given customer wants. Higher engagement than a fixed bundle because the customer is choosing, not accepting.
- BOGO and free gift. Buy X get Y, free or discounted. Right for clearing a specific item, introducing a product, or raising units per order when margin allows giving one away.
The diagnostic: if you know exactly what the customer should buy together, use a fixed bundle. If you know roughly, use mix-and-match. If they want more of one thing, use quantity breaks. If you have something specific to move, use BOGO.
Why the discount should not need a code
Discount codes feel free. They are not.
- They leak. A code created for a newsletter ends up on coupon sites within days, and is then used by people who would have paid full price.
- They get forgotten. A shopper who knows a discount exists but cannot find the code either hunts for it in another tab — where they may not come back — or abandons.
- They block stacking. Shopify allows one discount code per order. If your volume discount is a code, a customer with a welcome code has to choose. That choice is a bad moment in a checkout.
- The empty field is a prompt. A visible "discount code" box tells every shopper a better price exists somewhere. Some of them leave to find it.
An automatic discount avoids all four. The price changes in the cart because the condition is met, the code field stays free for the customer's own code, and nobody has to remember anything. For a volume offer — where the condition is simply "you added three" — there is no reason to involve a code at all.
Designing the tiers
A tier table has three decisions in it, and most stores get the second one wrong.
How many tiers? Three. Two does not feel like a ladder and four is a reading task. Three gives a shopper a low commitment, an obvious middle and an aspirational top, which is the shape that moves people up one step.
Where does the first tier sit? At the quantity people already buy, not above it. If most orders are one unit, the first break belongs at 2. Setting the first break at 5 because that is where the margin gets interesting means the offer is invisible to almost everyone — a ladder whose first rung is above head height.
How big are the steps? Large enough to notice, and increasing. 5% / 10% / 15% reads as a reason to move up. 10% / 12% / 13% reads as diminishing returns, which is exactly what you do not want a shopper thinking about.
One more thing: show the saving in the same unit the shopper is thinking in. For a £9 product, "save £3" beats "save 10%". For a £400 product the percentage is easier to grasp. Test it rather than assuming.
Where the table goes on the page
Below the Add to Cart button is the wrong place, and it is the default in most themes.
The tier table has to be visible while the shopper is deciding quantity, which means above or immediately beside the quantity selector. A shopper who has already clicked Add to Cart has made the decision the table was supposed to influence.
Three details that consistently help:
- Pre-select nothing, but highlight one. Marking the middle tier "Most popular" moves a measurable share of shoppers up a rung. Pre-selecting it for them feels like a trick and gets undone.
- Show the per-unit price, not only the total. "£7.20 each" is the number that makes a tier feel like a deal; "£21.60" is just a bigger number.
- Show what they are leaving on the table. "Add 1 more to save 15%" placed near the cart converts better than any static table, because it arrives at the moment of decision with a specific instruction.
Where the discount is applied, and why it matters
Shopify can express a discount in two places, and they behave differently in ways customers notice.
Line-item discounts reduce the price of the products themselves. The cart shows £7.20 each instead of £9, the order records the discounted price, and the maths is obvious to everyone including your accountant.
Cart-level discounts leave the line prices alone and subtract an amount at the bottom. The cart shows three items at £9 and then "Volume discount -£5.40".
Line-item is usually the better choice for volume offers. The shopper sees the lower unit price at the moment they are comparing tiers, which is the whole point of the offer. A total at the bottom of the cart arrives after the decision.
Cart-level comes into its own for order-wide offers — spend £50 get 10% — where there is no single product the discount belongs to.
One practical consequence: refunds. A line-item discount refunds cleanly, because each item has a real price. A cart-level discount on a partial return needs somebody to decide how much of the discount that one item was responsible for, and Shopify will not decide it for you.
Mix-and-match, and why shoppers like it more
A fixed bundle asks the customer to accept your combination. A mix-and-match offer asks them to build one. The second converts better in most catalogues for a reason that has nothing to do with the discount: choosing produces commitment.
It also solves a merchandising problem. With a fixed bundle you are guessing which three products go together, and you will guess wrong for most customers. Any-3-from-this-collection is right for everyone by construction.
What to watch:
- Keep the pool coherent. "Any 3 from Skincare" works. "Any 3 from All Products" is a puzzle, not an offer.
- Handle price variation. If the collection spans £5 to £50, decide whether the discount applies to the cheapest item or proportionally — and check what happens when someone picks three of the most expensive.
- Show progress. "2 of 3 selected — add 1 more to save 20%" does most of the work.
BOGO and free gifts: the details that break
Buy-one-get-one is the offer with the most edge cases, and they all show up at checkout.
- Stock for the gift. If the free item runs out, the offer either silently stops or produces an order you cannot fulfil. Decide which, before it happens.
- Returns. A customer returning the paid item keeps a free one they no longer qualify for. Your returns policy should say what happens; most do not.
- Does the gift count toward free shipping? A £0 line item can push an order over a threshold it did not really reach.
- Stacking with other offers. BOGO plus a volume discount plus a customer's own code can produce a combination you never modelled. Test the worst case deliberately.
The free gift should also be worth having. A gift nobody wants does not raise average order value; it raises your cost per order and teaches customers that your promotions are padding.
Bundles and inventory
A bundle is a promise about several products at once, which makes it more fragile than a single-product offer.
The question to settle first: does your bundle draw down the inventory of its components, or does it have stock of its own? Component-level is right for almost every store — three items sold as a bundle should decrement three items — and it means the bundle is only available while all of its components are.
That creates the situation worth planning for. In a fixed bundle of three products, one going out of stock takes the whole offer down. On a mix-and-match offer the pool simply shrinks, which is one more reason mix-and-match is easier to operate.
Two things to decide before a promotion rather than during one:
- What happens when a component runs out? Hide the offer, or show it with the missing item unavailable? Hiding is cleaner; showing keeps the page's ranking and lets a shopper pick something else.
- Do bundles get their own reorder logic? A quantity break that works will pull inventory down three times faster than your forecast assumed. Stores run out of their best seller a fortnight into a successful volume promotion surprisingly often.
It is also worth knowing what your fulfilment sees. A bundle that arrives as three normal line items picks and packs like any other order. One that arrives as a single custom line item may not, depending on your warehouse.
Working out whether the discount pays
The arithmetic is simple and frequently skipped.
A quantity break trades margin per unit for units per order. It pays when the extra units are genuinely extra — someone who would have bought one buys three. It costs you when the customer would have bought three anyway, and you have just given them 15% off for doing what they were going to do.
So the number to watch is not revenue and not average order value. It is margin per order, compared against a period without the offer. Average order value always rises when you add a volume discount; that tells you nothing about whether it worked.
Two things worth checking before you launch:
- Your current quantity distribution. If 80% of orders are already 3+ units, a discount at 3 is a straight margin giveaway.
- Repeat purchase interval. Selling someone six months of a consumable at a discount today can be worse than selling them one month at full price six times, depending on your churn.
Multi-currency and multi-language
Bundle widgets are a common place for international stores to break, because the offer is rendered in the theme rather than by Shopify's own pricing.
Check three things:
- Does the tier table show the customer's currency, converted and rounded the way the rest of the store does?
- Is the widget's own copy translated — "Save", "Most popular", "Add 1 more" — or only your product content?
- Does the discount actually apply in every market, or only the primary one? Test a market you do not sell much in; that is where this fails quietly.
Which products should carry an offer
Putting a volume discount on the whole catalogue is the quickest way to give away margin for nothing. Offers work by contrast, and a store where everything is discounted has simply lowered its prices.
The candidates that usually pay:
- Consumables with a known replenishment cycle. Someone buying three months instead of one is a genuine gain, provided the interval is short enough that you are not just pulling forward a year of sales.
- Products with high shipping cost relative to value. Three units in one box beats three boxes for both of you, and the saving funds the discount.
- Slow-moving stock with acceptable margin. A volume offer clears it faster than a straight markdown and protects the reference price.
- Products that are obviously "more than one" purchases. Socks, candles, anything gifted in multiples.
The ones that rarely pay: your single best seller at full price with no shipping problem, anything where one is genuinely enough, and high-consideration items where the barrier is the decision rather than the price.
Setting it up
With Bundle the sequence is:
- Pick the offer shape using the diagnostic above — quantity break, fixed bundle, mix-and-match or BOGO.
- Set the first tier at the quantity people already buy. Check your order data, not your intuition.
- Three tiers, increasing steps. Mark the middle one.
- Place the widget above the quantity selector, not below Add to Cart.
- Test the stacking case — your offer plus a customer's own code — and the out-of-stock case for any free gift.
- Compare margin per order against the fortnight before launch.
The free plan covers every bundle type and unlimited offers up to $500 of bundle revenue, which is enough to find out whether the offer works before it costs anything. The $9.99 plan raises that to $2,500 and the $19.99 plan removes the cap.
Mistakes worth avoiding
- Using a discount code for a volume offer. It leaks, it gets forgotten, and it blocks the customer's own code.
- First tier above the normal order size. The offer is invisible to the people it was for.
- Four or five tiers. A decision becomes a spreadsheet.
- Table below the fold. The decision has already been made.
- Judging it on average order value. AOV always rises. Margin per order is the number.
- A free gift nobody wants. Cost per order up, conversion flat.
Where to go next
Start with one offer on one collection, measured against the fortnight before it launched, on margin rather than revenue. A volume discount that works is worth extending; one that does not is worth removing quickly, before customers learn to wait for it.
You can see how Bundle handles quantity breaks, mix-and-match and BOGO — all bundle types are on the free plan.