Building offers

Quantity breaks and Buy X, get Y

How quantity break and Buy X, get Y bars are priced, how the shopper can fill a bar with other products, and how the cart decides which bar applies.

Applies to: TreStack Bundles, every plan
Updated: 11 October 2026

At a glance
  • 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

Quantity
Items of the page's product the bar stands for. A new bar starts one above the largest quantity in the deal.
Price
Full price, Percentage off, Amount off or Fixed price. The get side of Buy X, get Y has no Full price.
Discount per item
A percentage (0.01 to 100) or an amount, taken off every item.
Total price
The price of the bar's whole quantity. More items in the cart raise it in proportion.
Buy and Get
The paid and the free or discounted items of one set. The cheapest items in the cart are the discounted ones.
Let customers choose different variants for each item
In Settings, Variants. Each item of a bar gets its own variant choice. On in the templates except the BXGY and Subscription ones.
Require variant selection
The shopper must pick a variant before adding to cart.
Selected by default
One bar per deal, selected when the page opens.
Eligible for bundling
Which products Volume discount with other products offers: the deal's products, all but some, chosen collections, or chosen products.

If this does not work

The failures most likely on this procedure, with the check that resolves each one.

Copyright © 2026