Checkout-safe AOV systems for Shopify — free store audit available →
Get free audit
Guide

How to let customers mix variants in a bundle on Shopify (buy 3, pick a size each)

July 6, 2026

How to let shoppers pick a different variant for each unit in a quantity bundle on Shopify — buy 3, choose a size or colour each — with the discount enforced at checkout.

A “buy 3 & save” offer works great for a serum. It falls flat for a t-shirt — nobody wants three of the same size. To make multi-buy work for apparel and footwear you need a per-unit variant selector: the shopper buys the pack, then picks a size or colour for each unit. This guide shows how to let customers mix variants in a bundle on Shopify and keep the discount checkout-safe.

Why the native quantity discount isn’t enough

Shopify’s automatic discounts and most quantity-break widgets add N of one variant to the cart. For a sized product that means the shopper has to add each size manually and hope the discount still triggers — friction that kills the offer. What you actually want is one offer that:

  1. Advertises the tier (“Buy 3, save 15%”) on the product page.
  2. Renders one variant dropdown per unit when a multi-unit tier is selected.
  3. Adds each chosen variant as its own line, yet still unlocks the tier discount.

How to set it up

  1. Install a product-page offer app that supports per-unit variants — our free Profit Flow AOV Bundle does this at no cost.
  2. Create a quantity (volume) offer on the product and set your tiers, e.g. Buy 2 save 10%, Buy 3 save 15%.
  3. Turn on per-unit variant selection. Now, when a shopper picks the “Buy 3” tier, the widget shows three dropdowns — one for each unit — listing the product’s sizes or colours.
  4. Publish and add three different sizes to the cart, then go all the way to checkout and confirm the discounted price holds.

That last step matters more than it looks.

Keep it checkout-safe

The risk with any variant bundle is that the discount is faked in storefront JavaScript — it looks right in the cart, then quietly disappears at checkout (or worse, a shopper games it). The fix is to enforce the offer with a Shopify Function: it re-reads the cart server-side, sums the product’s quantity across every variant line, and applies the tier discount only when the cart still qualifies.

Checkout-safe vs JavaScript-only discounts on Shopify A JavaScript-only discount looks right on the product page but drops at checkout; a Shopify Function enforces the same price all the way through. What the shopper sees → what checkout charges PROFIT FLOW · SHOPIFY FUNCTION Product page Buy 2 · $86.40 Cart Checkout $86.40 JS-ONLY APP · STOREFRONT JAVASCRIPT Product page Buy 2 · $86.40 Cart edited (re-check fails) Checkout $96.00 Same offer, same shopper — only the enforcement differs. JS-only leaks margin or surprise-charges the buyer.
Checkout-safe: the discount and free gift are enforced by a Shopify Function, so what the shopper sees is exactly what they’re charged.

Because the Function counts total quantity — not “3 of the same variant” — buying a Small, a Medium and a Large still counts as three units and unlocks the “Buy 3” price. And because it runs at checkout, the price the shopper saw is exactly what they pay.

When to use per-unit variants

Pair it with a free gift with purchase or a mix & match build-a-box for a complete product-page offer — all enforced at checkout.

Profit Flow AOV Bundle runs per-unit variant offers (and quantity breaks, BOGO, bundles and gifts) on any Online Store 2.0 theme, free. See it on your store →

Share:

FAQ

Can shoppers pick a different size for each item in a Shopify bundle?
Yes. With a per-unit variant selector, a 'buy 3' offer shows three dropdowns so the shopper chooses a size (or colour) for each unit. Each choice is added as its own cart line, and a Shopify Function counts the product's total quantity so the bundle discount still applies across the mixed variants.
Does mixing variants break the bundle discount?
It doesn't, as long as the discount is enforced by a Shopify Function at checkout rather than in storefront JavaScript. The Function sums the quantity of the product across all the variant lines, so buying three different sizes still unlocks the 'buy 3' tier and the price holds at checkout.
Which stores need per-unit variant selection?
Apparel, footwear and anything sold in sizes or colours. A shopper rarely wants three of the exact same size — letting them pick a size per unit is what makes a multi-buy offer actually convert for these catalogs.

Start making more on every order

Launch a checkout-safe offer yourself, or have our team set it up and dial in your store.

Lifts average order value · No checkout edits · Works on any theme

Related reading