Buy X Get Y is the most flexible promotion Shopify supports: X and Y can be different products, different quantities, and different discount values. That flexibility is also why most stores run the one structure that costs them the most. Here are nine, with what each actually costs.
| # | Structure | What it costs you | Best for |
|---|---|---|---|
| 1 | Buy 1, get a low-cost accessory free | Cost of the accessory | Protecting the hero product's price |
| 2 | Buy 2, get a sample size free | Sample cost | Seeding the next purchase |
| 3 | Buy 3, get 1 free | 25% across four units | Consumables, multipacks |
| 4 | Buy 1, get 1 at 50% off | 25% across two units | The safe default BOGO |
| 5 | Buy 2, get 1 free | 33% across three units | Repeat-use products |
| 6 | Buy 1, get a cheaper variant free | Cost of the cheaper variant | Mixed-price collections |
| 7 | Buy from collection A, get 30% off collection B | 30% on B only | Cross-category expansion |
| 8 | Buy 1, get 1 free (true BOGO) | 50% across two units | High margin or stock clearance |
| 9 | Buy any 2, get the cheaper free | Up to 50%, uncapped by SKU | Single-price collections only |
Structure 9 is where stores get hurt: in a mixed-price collection, shoppers will reliably pair items to maximise the free one. Cap it to a collection with tight price bands, or use structure 6 instead.
Shopify's native Buy X Get Y discount evaluates the cart. It does not build it. If the Y item is missing, nothing happens — no prompt, no hint, no discount. The shopper has to know the offer exists, go find Y, add the right variant, and come back.
Every one of those steps loses people, and the last one loses them angrily: a shopper who adds the wrong variant sees no discount and concludes the promotion is broken. Support tickets follow.
Auto add to cart removes the path entirely. The moment the cart contains X, the offer surfaces with the Y item attached and a single confirm action — "add your free gift" — and the line lands at the right price with the right variant. Same discount rule underneath; the difference is that the shopper does not have to do your job. NUO AI handles the add, keeps the variant correct, and removes the Y line automatically if the cart stops qualifying.
Setup walkthrough: how to do BOGO on Shopify. If the aim is order value rather than unit volume, compare against tiered rewards and gift with purchase, both of which cost less per claimed order.
Buy X Get Y is Shopify's native discount type where buying a defined quantity of one product or collection (X) unlocks a discount or a free unit of another (Y). BOGO, buy 3 get 1 free, and free-gift-with-product offers are all Buy X Get Y rules with different values.
Not natively. The discount applies only when Y is already in the cart, so the shopper has to add it themselves. Auto-adding Y — with the correct variant, and removing it if the cart stops qualifying — requires an app that can modify the cart.
Giving a low-cost accessory or sample as the Y item, because you only give up that item's cost rather than a percentage of your hero product's price. True buy one get one free is the most expensive common structure at an effective 50% across two units.
Yes, and that is usually the better design. Making Y a cheaper complementary product protects the price of X while still giving the shopper a reason to buy, and it is what makes cross-category offers like "buy from A, get 30% off B" possible.
The most common causes are that the Y item is not in the cart, the shopper selected a variant outside the rule's scope, the quantity threshold is not met, or the discount's combination settings conflict with another active discount. Test the rule with the specific variant a shopper would realistically choose.
Yes — a Buy X Get Y discount can be automatic or code-based. Whether it can run alongside another active discount depends on the combination settings you choose when creating it.