Tiered and volume discounts in Shopify: quantity tiers, fixed unit prices, and grouping explained
Updated · SMART Functions Creator (E-TRADE PARTNER)
A volume discount in SMART Functions Creator is a set of quantity tiers on a target: all products, a collection, or specific products or variants. When the cart reaches a tier, the single highest applicable tier applies to every qualifying unit, not only to the units above the threshold. Each tier can be a percentage off, a fixed amount off per unit, or a fixed price per unit. The app is free on live stores and works on every Shopify plan.
5.0 · SMART Functions Creator builds this as a Shopify Function, free on live stores, no code.
Install freeOn this page
Volume pricing is the first thing most merchants rebuild after Shopify Scripts ended, and the first thing wholesale stores set up on any plan. The mechanics are simple, but three details decide whether the checkout does what you expect: how units are counted, what a tier does to units below the threshold, and which discount mode you pick.
How tiers apply
- Tiers are evaluated against the counted quantity, and the single highest tier whose threshold is met applies. Tiers do not stack; a cart at 12 units does not receive the 5-unit discount and the 10-unit discount together.
- Once a tier applies, it applies to every qualifying unit in the group, including the units below the threshold. Buy 5 at 3.90 means all five are 3.90, which is what most price lists intend.
- Tiers do not apply only to complete multiples. Reaching 12 with a tier at 12 discounts all 12; reaching 13 discounts all 13. There is no built-in "discount only whole boxes of 12" allocation; see the limits section.
Three discount modes per tier
| Mode | What it does to each matching unit | Use it for |
|---|---|---|
| Percentage off | Reduces each unit proportionally from its own price | Mixed-price groups, classic 10 / 15 / 20 percent ladders |
| Fixed amount off | Subtracts a fixed amount per unit; the line discount is amount times quantity | "Save 2.00 per unit at 5 or more" |
| Fixed price per unit | Sets each unit to the configured price by discounting the difference from its current price | Wholesale price lists where the tier is a price, not a discount |
Worked example from a merchant request
Product price 4.70 per unit. Tiers: 1 to 4 units at 4.70, 5 to 49 at 3.90, 50 and above at 3.56, and the new price must apply to all units once a tier is reached. Build one Volume discount with two tiers (5 and 50) in fixed price per unit mode. Five units cost 19.50, forty-nine cost 191.10, fifty cost 178.00. No tier is needed for 1 to 4 because the regular price already applies.
Grouping: how units are counted
The Group by setting decides which units are added together to reach a tier. Getting this wrong is the usual reason a tier "does not trigger".
- All products (default): every unit in the target counts toward one total. Two of variant A and three of variant B reach a 5-unit tier together.
- Product: units are totaled per product. Different variants of the same product count together; different products do not.
- Line item (variant): each cart line must reach the tier on its own. Use this for "10% off complete pairs of the same variant" style offers.
The target sets which units are eligible at all: all products, selected Line groups, or everything except selected Line groups. A Line group can be a collection, specific products or variants, a product tag, a vendor, a SKU pattern, a variant name pattern, a metafield value, or a line item property. See Line groups for the full list.
Collection-wide tiers
- Create a Line group for the collection.
- Create a Volume discount and set Apply to to that Line group.
- Choose Group by: All products so any mix of items from the collection counts toward the tier.
- Add tiers. Set the checkout label to something the customer understands, for example "Buy 3 or more, save 15%".
- Activate the rule and test at the checkout, not only in the cart drawer, because the theme decides what the cart displays.
Collections built from variants
If a collection's source is variants rather than products, a Line group that matches by collection may not detect those lines. Select the variants directly in the Line group, or use a variant name pattern, and the tier will count them.
Wholesale and B2B tiers
Add a customer tag condition to restrict a tier ladder to wholesale accounts, or a customer order count or amount spent condition for loyalty ladders. Percentages must be fixed in the rule; a tier cannot read its percentage from a product or variant metafield, so different rates for different variants mean separate rules. Metafields can still be used as matching conditions inside a Line group.
What tiers cannot do
- Discount only complete sets. There is no allocator that discounts floor(quantity / 12) times 12 units and leaves the remainder at full price as the cart changes. A Product discount can discount the first N units of a group (for example the first 12 of 13), but that count is fixed in the rule, so repeating sets need one bounded tier per range.
- Skip early units. "First unit full price, second unit 15% off, third 25%, fourth and beyond 35%" cannot be built as one repeating rule, because there is no control to target an arbitrary ordinal position inside a line's quantity. Product discount can apply to the first N units ordered by cart order, highest price, or lowest price, so bounded versions (up to a known maximum quantity) are possible as separate rules with exclusive quantity conditions.
- Stack tiers. Volume discount uses the single highest tier. If lower-tier benefits must persist, they have to be part of the higher tier's definition.
- Read the discounted subtotal. Conditions see original cart values. See combining discounts.
Build your tier ladder in a few minutes
SMART Functions Creator is free on live stores and rated 5.0 stars across 110+ Shopify App Store reviews.
Install free5.0 stars · 110+ reviews
Testing a tier ladder
- Activate the rule; inactive rules do not run.
- Add exactly the threshold quantity and confirm the tier applies to all units.
- Add one unit above and one below each threshold.
- Mix variants and products to confirm the grouping mode counts the way you expect.
- Check the checkout total, not the cart page. If the amount is right at checkout and wrong in the cart, that is the theme.
- Watch the Data limit meter in the editor. Very long product lists in a Line group can push a rule toward the 10 KB configuration limit; splitting into two rules resets the budget.
Frequently asked questions
›Does a volume tier apply to all units or only the units above the threshold?
To all qualifying units in the group. Reaching a 5-unit tier reprices all five units.
›Can I set a fixed price per unit instead of a percentage?
Yes. The fixed price per unit mode sets each matching unit to the configured price. Fixed amount off subtracts a per-unit amount instead.
›Why does my tier not trigger when I add different variants?
Check the Group by setting. Line item (variant) requires each line to reach the tier alone; All products totals every eligible unit. Also confirm the Line group matches the variants, especially for collections whose source is variants.
›Can tiers be limited to wholesale customers?
Yes. Add a customer tag condition to the rule. Customer order count and amount spent are also available as conditions.
›Can I discount only complete boxes of 12?
Not automatically. Tiers apply to all qualifying units once the threshold is met, and there is no quotient-based allocation. A Product discount can discount the first N units with N fixed in the rule.