· 4 min read
How to Create Buy X Get Y Discounts in Shopify (Multi-Tier + Sale-Item Rules)
Create Buy X Get Y discounts in Shopify with multiple reward tiers and sale-item rules on both the Buy X and Get Y sides — no hand-maintained collections.

“Buy 2, get 1 free” fits on a poster.
Running it across a real catalog is another story. Which items count as the 2? Can the freebie be something that’s already marked down? And what if you want bigger baskets to earn bigger rewards?
In this guide I’ll build a Buy X Get Y discount in Shopify that answers all three — multiple reward tiers, with sale-item rules on both sides of the deal.
- Where native Buy X Get Y runs out of road
- Building the offer in Discount Bot
- Sale-item rules on both sides
- Get the offer claimed, not just configured
- Plays well with everything else
Where native Buy X Get Y runs out of road
Shopify’s built-in Buy X Get Y — available as a discount code or an automatic discount — covers the poster version of the deal: one buy condition, one reward.
You hit two walls quickly:
- One rule per discount. A native BXGY holds exactly one Buy→Get pair. There’s no laddering — “buy 2 → 50% off a gift, buy 4 → gift free” means running separate discounts that compete over the same cart.
- No sale-item awareness. Both sides of the deal are defined by product and collection lists, full stop. If marked-down items shouldn’t count toward the “buy 2” — or shouldn’t be handed out as the freebie — your only native move is curating a “not on sale” collection by hand and keeping it current forever.
That second one is the quiet killer. Every markdown, every price restore, every new product means revisiting your discount setup.
Building the offer in Discount Bot
Discount Bot’s Buy X Get Y type keeps the same mental model — a buy side and a get side — and removes both walls. Here’s the whole build, in three steps.
Step 1: The Buy X side
Start with what qualifies the shopper:
- The threshold — a minimum quantity of items, or a minimum spend
- Which items count — the whole store, specific collections or products, or tag rules
- Whether sale items count — decide if marked-down products contribute toward the threshold
Step 2: The Get Y side
Now the reward. Pick the gift product, how many the shopper gets, and the discount on it — Percentage off at 100 makes it a true free gift.
Each Get Y tier carries its own Sale items eligibility setting, so you control whether an already-discounted product can be given away:

Step 3: Add tiers
This is where the ladder comes in. Click Add tier and stack rewards:
- Tier 1 — buy 2 qualifying items → gift at 50% off
- Tier 2 — buy 4 qualifying items → gift free
The shopper always receives the best tier they qualify for — one discount, one code, no competing promotions.
Sale-item rules on both sides
Worth spelling out, because it’s the part native Shopify simply doesn’t have:
- Buy X side: choose whether sale items count toward qualifying. A shopper stacking clearance items to hit “buy 2” either works for you or it doesn’t — you decide.
- Get Y side: choose, per tier, whether the gift can be a marked-down item — full-price only, sale only, or both.
Both checks run against the product’s compare-at price at the moment the cart is evaluated. Put items on sale, take them off — the discount follows, and you never touch its configuration. (This is the same real-time engine behind our sale-item exclusions.)
Get the offer claimed, not just configured
A tiered offer nobody notices is a spreadsheet, not a promotion.
If your Buy X Get Y runs as a discount code, the Discount Bot cart widget can display it right in the cart — including what it takes to unlock each reward — and let shoppers claim the gift in one click. That’s a whole topic of its own: How to offer a free gift with a discount code in Shopify.
Plays well with everything else
Three things you don’t have to worry about:
- The discount logic runs on Shopify Functions — it’s evaluated inside checkout, not bolted on top
- Native discounts keep working next to it, and combinable codes stack the way Shopify defines
- No cloned products or hidden $0 variants anywhere in the mechanism
Conclusion
The distance between “we should run a gift promo” and a live, tiered, sale-aware Buy X Get Y is a few minutes of clicking — and none of it needs revisiting when your prices move.
Install Discount Bot from the app store to build yours — there’s a 7 day trial.


