Skip to content
Quantity Breaks

Per-product counting in Shopify discounts, explained in plain English

Per-product counting is the first question every quantity-based discount has to answer: what counts as "the same product"? Stackable gives you three explicit counting modes, per_variant, per_product, and per_group, so tiers, BOGO, and quantity breaks always count what you actually meant.

The problem

Merchants on the Shopify forums ask...

How do I make a discount count units of the same product, or its variants, without accidentally pooling every unrelated product in a collection into the same total? Shopify support confirms native discounts don't support "count same products only."

Shopify's native discount conditions can scope by collection or product list, but the quantity math behind the scenes counts every eligible line item toward one shared number. There's no built-in switch for "count this product's variants together but not other products," so merchants either get a discount that's too easy to trigger from a huge collection, or build a workaround with a hand-coded price table.

How it works

How Stackable solves it

Screenshot coming soon

Counting selector with per_variant highlighted and its plain-English preview sentence.
01

per_variant: count the exact SKU only

A large tee and a medium tee of the same style count separately toward their own thresholds.

Screenshot coming soon

Counting selector with per_product highlighted and its plain-English preview sentence.
02

per_product: count every variant of one product together

All sizes and colors of one tee style share the same tier.

Screenshot coming soon

Tier table widget showing quantity drawn from 3 grouped products counting toward one tier.
03

per_group: hand-pick a small set of related products

A "starter kit" of 3 different products counts as one group toward a single shared threshold.

Recipes

Use it like this

Scenario

An apparel store wants 4+ of one tee style, any size mix, to hit 15% off, without other tees contributing to the count.

Setup

Counting = per_product. Tier: 4+ = 15%. Scope = single tee product.

Result

2 mediums plus 2 larges of the same tee style hits the tier; 2 of this tee plus 2 of a different tee does not.

Scenario

A print shop sells posters where each size is a genuinely different cost, and tiers must not mix sizes together.

Setup

Counting = per_variant. Tier: 5+ = fixed unit price for that specific size.

Result

5 A3 prints hits the tier; 3 A3 plus 2 A4 prints does not, because sizes are priced and counted independently.

Scenario

A skincare brand wants cleanser, toner, and moisturizer bought together, any combination, 3+ units total across just those three, to unlock a discount without the rest of the catalog counting.

Setup

Counting = per_group, group = those 3 specific products. Tier: 3+ = 12%.

Result

Any 3 units drawn from that trio triggers the discount; the same 3 units plus an unrelated serum still only counts the trio's 3 units toward the tier.

FAQ

Common questions

Which counting mode should I use by default?

per_product, the smart default: every variant of one product page counts toward the same tier, matching how most merchants think about "buy more of this item."

When do I need per_variant instead?

When different variants are effectively different products for pricing purposes, like different print sizes or materials that shouldn't count toward each other's threshold.

What is per_group for?

A small, explicit set of related products, a kit or a handful of items, that should share one threshold without pulling in your entire catalog the way a full collection-scoped discount would.

Does the counting mode affect BOGO and volume tiers the same way?

Yes. Counting mode is a shared setting across every quantity-based offer type: volume tiers, BOGO, and quantity breaks all read from the same per_variant, per_product, or per_group logic.

Install Stackable and start with Quantity Breaks

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.