I’m running into a challenging limitation and hoping someone has found a workaround or solution.
My Setup
I have over 130 products, each with a “Size” variant (S, M, L, XL). I’m using Shopify Markets with multiple catalogs for different regions.
What I’m Trying to Achieve
I want to create tiered discounts based on the quantity of the same size variant added to the cart, regardless of which products they come from. For example:
3 items of size M (any products) = 10% discount
4 items of size M = 15% discount
5 items of size M = 20% discount
The same logic should apply independently to sizes S, L, and XL.
What I’ve Tried
Native Shopify Discounts: The automatic discount feature has a 100-product limit when targeting specific products, which doesn’t cover my entire catalog.
Collections: I can’t create a collection of just “M-sized variants” because Shopify only allows adding entire products to collections, not individual variants.
Discount Apps: Most apps I’ve tested either don’t support variant-level quantity tracking across multiple products or have compatibility issues with Markets and Catalogs.
My Question
Has anyone successfully implemented variant-based tiered discounts that work across 100+ products with Markets enabled? Are there specific apps or custom solutions (Shopify Functions, Scripts, etc.) that can handle this scenario?
I can see how managing variant-based tiered discounts across multiple catalogs can be tricky, especially with Shopify’s limitations on automatic discounts and collections.
A great solution for your scenario could be Discounty.
It allows you to set up tiered quantity-based discounts at the variant level, which means you can apply different discounts based on how many items of a specific size (S, M, L, XL) are added to the cart no matter which products they come from. Here’s how it can work for you:
Create Quantity Discounts by Variant: Set specific tiered discounts for each size (e.g., 10% off for 3 size M variants, 15% for 4, 20% for 5, etc.).
Works Across Products: You don’t need to worry about limiting the discount to specific products, as it will apply to the size variant across your entire catalog.
This app allows you to create promotions for individual variants rather than entire products, solving the issue of Shopify’s limitations with collections. Plus, it’s easy to set up and fully customizable to fit your needs.
Creating tiered discounts based on the quantity of the same size variant across multiple products and Shopify Markets is a challenging scenario due to variant-level tracking and Shopify’s product/collection limitations. Here is guidance based on available information and potential solutions:
Key Challenges
Shopify’s native automatic discounts have a 100-product limit and cannot track variant quantities across products.
Collections cannot target variants directly, only whole products.
Most discount apps either lack variant-level quantity tracking or full Markets/catalogs compatibility.
Shopify Scripts (Shopify Plus) and Shopify Functions offer more flexibility but require developer skills and have some variant ID limitations.
Potential Solutions
Shopify Functions and Scripts (For Shopify Plus or Custom Development)
Shopify Scripts can implement logic that checks variant properties (like size) to apply tiered discounts per variant group.
Shopify Functions (newer, server-side customizable discount logic) might be adapted to count quantities per variant property, though currently they primarily operate on variant IDs.
Custom development is needed to aggregate quantities of variants by “Size” across products in the cart and then apply tiered discounts accordingly.
See examples on Shopify community and developers documentation for tiered discounts by variants.
These apps can sometimes bypass Shopify’s 100-product limit and handle large catalogs.
Check for compatibility with Shopify Markets and your specific catalog setup during trial.
Variant Tagging & Metafields + Discount Apps
Tag variants via metafields or tags with size info.
Use discount apps that support conditional discounts based on variant metafields or tags to simulate size-based discounts.
This approach often requires setting up custom rules and bulk tagging but can work within app capabilities.
Summary
The ideal approach involves using Shopify Plus with Scripts or Functions plus custom variant property logic, if accessible.
For non-Plus or no-code users, advanced discount apps like Hulk Discounts or Bulk Discounts Now are recommended to try for variant-focused tiered discounts.
Confirm app support for Shopify Markets and multiple catalogs before committing.
If desired, I can help identify specific app options or draft Script/Function logic samples tailored to your “Size” variant tiered discount requirement.
In Advanced Settings, select “Same Product Variant” as your condition—this ensures the discount applies when customers add multiple items of the exact same size (e.g., 3 Medium items from any products)
set up tiers (with percentage). You can also use fixed pricing if you prefer (e.g., “5 for $90”), which works great even when original prices vary across products:
Each size variant (S, M, L, XL) will trigger discounts independently. So if someone adds 3 Medium shirts and 2 Large shirts, only the 3 Mediums get the 10% discount.
The easiest solution I’ve found is to create separate product groups for each size, then set up a quantity-based tiered discount for each group. This can help avoid Shopify’s 100-product limit and should also work better with Shopify Markets.
Step 1: Create one collection for each size variant.
E.g: Size S collection = all products that have size S
Size M collection = all products that have size M
I found this tutorial that may help with setting that up:
Step 2: Create separate “Cart discount” offers for each size collection.
Basically, you can use Amount Off Order by Shopify native discount.
However, as it doesn’t support tiered discounts, it’s better to use a third-party app like BOGOS: Free Gift Bundle Upsell.
Here’s how to set up Cart Discount:
Create different Cart Discount offers and apply each offer to one specific collection:
Hi @Pablojox , hope you are doing well. It’s been a while since this post - so I assume you’ve already found a solution to this question.
If you haven’t found a solution yet - you can follow my loom video for a step by step on how to set this up on your store. All of this can be done on a single discount function on the app.
Here’s how it would look like on the cart and how the offer would be setup:
Now, if this is all you actually need - you can set this up for free on our B2B app. If you need more flexibility (or) want to also run other discounts - then our discount app is a better fit.