For buy one, get one free across a collection, where the cheaper of two items is free, use OneCode: Stackable Discounts. You add a 100% Product Discount on the collection with a Quantity Limit of 1 and Cheapest items first, plus the condition Group Quantity at least 2. A customer who buys two pairs of socks at $12 and $15 gets the $12 pair free and pays $15 for the other. A customer who buys one pair pays full price. The customer adds both items to the cart, and OneCode makes one of them free.
Shopify’s own Buy X Get Y discount only discounts the item the customer gets, so free shipping or money off the rest of the cart has to be a separate discount. OneCode puts the BOGO, free shipping, and any other discount on the same code.

Which tool for which BOGO
| The BOGO you mean | What to use |
|---|---|
| The cheaper item free when they buy 2 from a collection | OneCode, set up as above. BOGO with one code |
| Buy 2, get 1 free | OneCode, with Group Quantity at least 3. With three items in the cart, the cheapest is free |
| Buy one, get one 50% off | OneCode, with 50% instead of 100% |
| The more expensive item free | OneCode, with Apply discount to set to Most expensive items first |
| A gift the customer adds, plus free shipping, over $100 | OneCode. The gift’s price counts toward the cart subtotal, so set the gift’s threshold to $100 plus the gift’s price. Free gift with purchase |
| BOGO plus 10% off everything else, on one code | OneCode, with a second Product Discount of 10% on All Products |
When the BOGO and the 10% are on the same code, each item gets whichever product discount saves the most. The free item stays free and the other items get 10% off. If the customer adds a second unit of the free item on the same line, that unit pays full price rather than 10% off.
The quantity limit is per order, and it doesn’t repeat for every pair. With a limit of 1, a customer who buys four items still gets one free, not two.
You can run any of these as a code or as an automatic discount.
OneCode costs $9.90 USD every 30 days after a 7-day free trial, billed by Shopify. You can install it from the Shopify App Store.
