Skip to content
Volume Discounts

Shopify quantity breaks that price by the exact product, not the whole collection

Shopify quantity breaks, natively, pool every product in a collection toward one shared threshold. Stackable's tiers count the exact product, and only the variants you choose, so a chair buyer doesn't get a discount by adding three unrelated items to the cart.

The problem

Merchants on the Shopify forums ask...

I want tiers per individual product: buy 3-5 of one dining chair for 15% off, 6-9 for 18%, 10+ for 20%, counted per specific chair with no pooling across every chair in the collection.

Shopify's native discount builder can scope a percentage to a collection, but it counts total units across every product inside that collection toward the same threshold. A merchant selling five chair styles can't make "buy 3 of this exact chair" the trigger without every other chair in the collection contributing to the count too.

How it works

How Stackable solves it

Screenshot coming soon

Campaign editor: the Counting step with per_variant / per_product / per_group options.
01

Choose what counts as "the same product"

per_product counts every variant of one product page together. per_variant separates by exact SKU. per_group lets you hand-pick a small set of related products to share one threshold.

Screenshot coming soon

Campaign editor: the Tiers step with a 3-row breakpoint table (3-5 / 6-9 / 10+).
02

Set your tier breakpoints

Add as many quantity/discount pairs as the offer needs: 3-5, 6-9, 10+, each with its own percentage or fixed amount.

Screenshot coming soon

Product page tier table widget with the middle tier highlighted as active.
03

Customers see the table update live

The storefront tier table highlights the active tier as cart quantity changes, with no page reload.

Recipes

Use it like this

Scenario

A furniture store wants 3-5 / 6-9 / 10+ tiers on one dining chair, with a strict MOQ of 3, and no pooling with the other chair styles in the collection.

Setup

Counting = per_product. Tiers: 3-5 = 15%, 6-9 = 18%, 10+ = 20%. Scope = that one chair product (all finishes counted together).

Result

Buying 4 of the chair in any finish hits the 15% tier; buying 4 chairs plus 2 different side tables hits nothing on either product, exactly as intended.

Scenario

A swimwear brand wants a storewide sale: any 6+ items from a 40-product collection get 10% off, quantities allowed to mix across products.

Setup

Counting = per_group, with the whole collection set as the group. Single tier: 6+ = 10%.

Result

A cart with 6 different swimsuits qualifies as one combined stack, matching a normal storewide promotion.

Scenario

A stationery brand wants no discount below 12 units of the same notebook, then a flat wholesale rate per unit above it.

Setup

Counting = per_variant. Single tier: 12+ = fixed unit price override.

Result

Retail buyers pay full price under 12 units; bulk buyers automatically get the wholesale unit price with no separate price list to maintain.

FAQ

Common questions

What's the difference between per-product and per-variant counting?

per_product counts every variant of one product page together (all sizes and colors count toward the same tier). per_variant only counts the exact SKU being bought. Use per_variant when variants should not count toward each other.

Can tiers apply across an entire collection?

Yes, using per_group counting scoped to a collection. That's the setting closest to Shopify's native collection discounts; use per_product or per_variant instead when the discount should reward buying more of one specific item.

Do the tiers update instantly as customers change quantity?

Yes. The storefront tier table recalculates on every quantity change with no page reload, and the price shown always matches what checkout charges.

Is there a limit to how many tiers I can add?

No hard limit. Most merchants use 3 to 5 tiers; add as many quantity breakpoints as the pricing strategy needs.

Install Stackable and start with Volume Discounts

Every offer type runs on the same server-side engine, so whatever you combine, the checkout math holds.

Free plan available. No card required.

We use essential cookies to run this site, and, only with your permission, analytics cookies to understand traffic. Read our Cookie Policy.