Buy 2 get 1 free or 33% off? How to price a BOGO deal on Shopify without losing margin
BOGO · pricing

Buy 2 get 1 free or 33% off? How to price a BOGO deal on Shopify without losing margin

Buy 2 get 1 free and 33% off sound like the same deal. For your margin they are not. Here is how to work out what a BOGO offer really gives away, which tiers are safe, and how to set it up on Shopify.

All guides · Updated 2026-10-25

Why the BOGO price needs a calculation

A Buy X Get Y deal is easy to launch and easy to get wrong. The shopper sees "free", you see units leaving the warehouse. Before you choose "buy 2 get 1" or "buy 3 get 2", answer three questions:

  • What discount does the deal really give, as a percentage?
  • How much profit is left on a full deal order?
  • Would a plain percentage off have done the same job for less?

The one formula you need

When a shopper buys X items and gets Y free, they pay for X and take X + Y. The real discount is:

Real discount = Y ÷ (X + Y)

  • Buy 1 get 1 free: 1 ÷ 2 = 50% off
  • Buy 2 get 1 free: 1 ÷ 3 = 33.3% off
  • Buy 3 get 1 free: 1 ÷ 4 = 25% off
  • Buy 3 get 2 free: 2 ÷ 5 = 40% off

"Buy one get one" is the most generous deal on the list. That is why most stores that run BOGO all year use buy 2 get 1 or buy 3 get 1 instead.

A worked example

The numbers below are an example, not data from a real store. Say a bag of coffee sells for $18 and costs you $8 to buy, pack and ship.

  • One bag at full price: $18 in, $8 out, $10 profit.
  • One bag at 33% off: $12 in, $8 out, $4 profit.
  • Buy 2 get 1 free (three bags): $36 in, $24 out, $12 profit.
  • Buy 1 get 1 free (two bags): $18 in, $16 out, $2 profit.

The same "33%" leaves $4 when it is a price cut on one bag and $12 when it is buy 2 get 1, because the shopper pays for two full-price bags first. A percentage off gives the saving away on every single order. A BOGO deal only gives it to shoppers who buy more.

The check that matters: price × X must be more than cost × (X + Y). In the example, 2 × $18 = $36 is more than 3 × $8 = $24, so buy 2 get 1 makes money. Buy 1 get 1 only just does: 1 × $18 = $18 against 2 × $8 = $16. Run your own numbers in the bundle discount calculator.

Which tiers to offer

Showing two or three tiers side by side works better than one, because shoppers compare them. A layout that is easy to read:

  • 1 item, standard price, so the saving is visible next to it.
  • Buy 2, get 1 free, marked "Most popular".
  • Buy 3, get 2 free, for the shopper who stocks up. Check the formula first: at 40% off it only suits products with a healthy margin.

Products that suit BOGO are ones people use up and buy again: coffee, tea, supplements, socks, candles, pet food, skincare. A product people buy once, like a sofa, does not.

Set it up in ZS Bundles

  1. Install ZS Bundles, press Turn on in theme on the app's home page, then Save in the theme editor.
  2. Click Create bundle deal and choose Buy X, get Y free. The deal starts with the product you previewed.
  3. Each row is one tier. Set Buy and Get free on each row, for example 2 and 1, then 3 and 2. The app works out the price of the row for you.
  4. Give each row a Title and Subtitle a shopper understands ("Buy 2, get 1 free", "3 bags, pay for 2"), and set Badge text such as "Most popular" on the tier you want to stand out. Tick Selected by default on that row.
  5. Set the Discount name (shown in cart/checkout), for example "Buy 2 get 1 free". Shoppers see it in the cart, so it should match the offer on the page.
  6. Publish. The tiers appear above Add to cart, and Shopify applies the price at its own checkout. There is no discount code to type and nothing to forget.

Try buy 2 get 1 on the demo store Install ZS Bundles free

BOGO mistakes to avoid

  • Running buy 1 get 1 by default. It is 50% off. Use it for a short clearance, not as an everyday offer.
  • Forgetting shipping. A free item still weighs something. If you offer free shipping too, add that cost to the check above.
  • A fake deadline. A countdown to a deadline that resets every day teaches shoppers to ignore it. If you add the Countdown timer, set it to the real end of the offer.
  • Hiding the per-item price. Show what one item costs inside the deal ("$12 a bag"). It is the number shoppers compare.

BOGO or quantity breaks?

Both reward buying more. BOGO speaks in free items ("get 1 free"), which is easy to understand on low-priced products. Quantity breaks speak in a lower price per item ("save 10% on 2, 20% on 3"), which reads better on higher-priced products where "free" sounds too good to be true. You can test both: see quantity breaks on Shopify and the BOGO setup guide.

What it costs

Buy X, get Y free is on the Free plan, with one bundle live at a time and up to 20 bundle orders a month. The Countdown timer needs the Starter plan ($12.99 a month, 500 bundle orders, unlimited live bundles), with a 14-day free trial. We set up your first two bundles for free.