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 works on every Shopify plan.
5.0 · SMART Functions Creator builds this as a Shopify Function, no code.
Start free trialOn this page
Volume pricing can replace quantity-pricing Scripts and implement wholesale price ladders. 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. For a fixed price on complete boxes, use the separate Bundle price action.
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. For example, each individual cart line must reach two units before a two-unit tier applies to all units in that line.
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
- Price only complete sets with Volume discount. Use Bundle price instead: set Items per set, Price per set, and Maximum sets per order (0 for unlimited). Complete sets repeat and leftover units stay full price. See complete-set examples.
- 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 quantity tier ladder
SMART Functions Creator is rated 5.0 stars across 110+ Shopify App Store reviews.
Start free trial5.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 Function size in the editor. Prefer tags or collections to long product lists. Rules inside one function share its configuration budget; only separate functions have separate budgets.
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?
Yes, for a fixed box price, use Bundle price with Items per set set to 12. It discounts complete sets and leaves leftovers at full price. Volume discount instead applies its highest eligible tier to all qualifying units.