Quantity breaks and Buy X, get Y
Applies to: TreStack Bundles, every plan
Updated: 11 October 2026
- Price types: Full price, Percentage off, Amount off, Fixed price
- Counted on: The quantity in the cart
- Other products: Volume discount with other products
Quantity breaks
A quantity break bar sells a quantity of the product on the page at a price, as in "Buy 2, save 15%". The template Quantity breaks for the same product starts you with two bars: Single at full price, and Duo, 2 items at 15% off, with a Most popular badge and selected by default. To add one more, open Deal bars and choose Add bar, then Quantity break. A new bar starts at full price, one item above the largest quantity in the deal.
Each quantity break bar has these fields:
- Quantity: how many items of the page's product the bar stands for.
- Price: Full price, Percentage off, Amount off or Fixed price.
- Discount per item: shown for Percentage off (0.01 to 100%) and Amount off. A percentage is taken off each item, and each discounted item price is rounded up to the cent. An amount is taken off every item, so 2 items with 3.00 off cost 6.00 less in all.
- Total price: shown for Fixed price. It is the price of the bar's whole quantity, not of one item. When the cart holds more items than the bar's quantity, the total grows in proportion: 3 for 50.00 becomes 66.67 for 4 items.
- Title, Subtitle and Label: the bar's texts. They take variables such as
{{saved_percentage}},{{saved_total}},{{quantity}}and{{variant_title}}, filled in with the shopper's prices. - Require variant selection: the variant dropdowns show a placeholder instead of a preselected variant, and the shopper must pick one before adding to cart.
- Selected by default: the bar that is selected when the page opens. One bar per deal can have it.
Let customers choose different variants for each item, in Settings, Variants, gives each item of a bar its own variant choice. It is on in deals made from the templates, except Buy X, get Y (BXGY) deal and Subscription, where every item of a bar is the same variant until you turn it on. Variants, swatches and images covers that and the other variant options.
The bar header has Move up, Move down, Duplicate and Delete. The order of the bars is the order shoppers see, and progressive gifts unlock by bar position, so check them after you reorder.
Buy X, get Y
A Buy X, get Y bar sells a set of the same product in which some items are free or discounted, as in "Buy 2, get 1 free". Add one with Add bar, then Buy X, get Y. A new bar is titled "Buy N, get 1 free!", where N is one above the largest quantity in the deal, with the bought items at full price and the extra item free.
- Buy: how many items the shopper pays for, and their Price: Full price, Percentage off, Amount off or Fixed price.
- Get: how many items come free or discounted, and their Price: Percentage off, Amount off or Fixed price. There is no Full price here, and 100% Percentage off makes them free.
- Title, Subtitle and Label: as for a quantity break, plus the variables
{{buy_quantity}}and{{get_quantity}}.
At checkout the cart is counted in whole sets of buy plus get items. In each complete set, the get items are the cheapest items of that product in the cart, and every other item is priced at the buy price. With Buy 2, get 1 free and 7 items in the cart, that is 2 whole sets, so the 2 cheapest items are free and the other 5 are at the buy price. A Fixed price on either side is the price of that side of one set.
The template Buy X, get Y (BXGY) deal starts with three bars: Buy 1 get 1, Buy 2 get 3, and Buy 3 get 6 with a text gift.
Across different products
Volume discount with other products lets the shopper fill a quantity break or Buy X, get Y bar with other products, as in "any 3, save 15%". Turn it on in its own section of the editor. Every bar of 2 items or more then shows the page's product as its first item and a Choose button for each item after it, and each Choose opens a pop-up where the shopper picks a product and its variant. The template Quantity breaks for different products starts with this on: 1 pack and 2 pack, the second at 15% off.
Eligible for bundling decides which products the pop-up offers:
- Same products as deal visibility: the products the deal shows on.
- All products except selected: every product, minus the ones you pick.
- Products in selected collections: the products of the collections you pick.
- Selected products: only the products you pick.
The pop-up lists up to the first 1,000 products of the store. The section also sets the button's text (Choose by default) and color, the image size, and these options:
- Show product name: the chosen product's name under its image.
- Show price of chosen products only: an item the shopper did not choose is left out of the bar's price and of the cart. Off, such an item is added as one more of the page's product.
- Auto-fill not chosen items: empty slots show the page product, with its selection, and are added as such.
- Require item selection to complete bundle purchase: the shopper must choose every item first. An error, with its Alert text and colors, shows only if they try to add an incomplete set.
- Customize "Choose product" modal: the pop-up's heading, subtitle, button text, sizes, colors, Default sort (Relevance, Newest first, or by price) and Show search field.
At checkout only items added through the Choose pop-up count across products, and the page's product must stay in the cart. The same products added from their own pages, or with the theme's Add to cart, are counted on their own and do not join the set.
How the cart decides
The discount follows the cart, not the bar the shopper clicked. Shopify counts the items of the product in the cart, variants added together, and applies the bar with the largest quantity that the cart reaches. For Buy X, get Y that quantity is buy plus get. Above the biggest bar, the biggest bar's price applies to every item. Below the smallest bar with a discount, there is none. A shopper who picks the 3-item bar and then changes the cart to 2 items gets the 2-item price.
Items of the product count even when they were added with the theme's own Add to cart, from a collection page or by another app. To discount only items added through the widget, turn on Apply discount only via bundle widget in Settings, Visibility. Products, dates and visibility explains what that setting leaves out.
Gifts, upsells and personalisation fees never count towards a bar's quantity. Different products do not add up either, unless they were chosen through Volume discount with other products.
At checkout the deal is one Shopify automatic discount, labelled with the deal's Discount name or, without one, the bar's title. Choosing different variants for each item hides the theme's Buy it now button, and so does a bar of several units when the theme's product form has no quantity box, so those offers go through the cart. How the discount is applied at checkout covers labels and checkout routes.
Setting up a quantity break, in four steps.
Start from a template
Choose Quantity breaks for the same product, or open an existing deal and choose Add bar, then Quantity break.
Set the quantity and the price
Enter the Quantity, pick the Price type and fill in the discount or the total.
Write the texts
Title, Subtitle and Label, with variables such as {{saved_percentage}} so the preview shows the real saving.
Choose the default bar and publish
Tick Selected by default on the bar shoppers should see selected, then Publish. Add the product to a cart and change the quantity to check each bar's price.
Settings reference
If this does not work
The failures most likely on this procedure, with the check that resolves each one.
Development stores and testing safely
Development stores use TreStack Bundles free. How to try a deal on a live store without shoppers seeing or getting it, how test orders and analytics behave, and what happens when a development store goes live.
Bundles and mix and match
Product bundle bars, where each product has its own discount; Mix & Match bars, with one price for a set the shopper can change; Alternative product bars; and what checkout needs to discount a set.