Checkout-safe AOV systems for Shopify — free store audit available →
Get free audit
Guide

How to set up BOGO on Shopify (buy one get one)

July 4, 2026

BOGO on Shopify — set up buy-one-get-one and Buy-X-Get-Y with native automatic discounts vs an enforced offer app, plus checkout-safe pricing that can't be gamed.

BOGO — buy one, get one — is one of the highest-converting promotions in retail because the value is instant and obvious. This guide shows how to set up BOGO on Shopify two ways: with the native Buy-X-Get-Y automatic discount, and with an offer app that merchandises and enforces the deal. We’ll also cover why checkout-safe enforcement stops shoppers gaming the reward.

Option 1: native Buy-X-Get-Y automatic discount

Shopify’s built-in Buy X get Y discount covers BOGO and all its cousins. Use it when you want a straightforward rule and don’t need extra on-page messaging.

  1. In your admin, go to Discounts → Create discount → Buy X get Y.
  2. Under Customer buys, set the qualifying quantity and the products or collections — for classic BOGO, quantity 1.
  3. Under Customer gets, set the reward quantity (1) and the products it applies to. For buy-one-get-one-free, set the value to Free (100% off); for buy-one-get-one-half-price, set 50% off.
  4. Choose Automatic discount so it applies without a code, and set maximum uses per order so it can’t stack unexpectedly.
  5. Set dates and Save.

Where it stops: the native discount applies the reward, but it won’t show a “add one more, get the second free” prompt on the product page, and its enforcement of complex rules can be blunt. For merchandising and tighter control you’ll want an app.

Option 2: an enforced BOGO offer app

An offer app puts the BOGO deal on the product page where the shopper decides, auto-adds the free/discounted item, and — critically — enforces the rule at checkout. Our free Profit Flow AOV Bundle does this with no feature caps.

  1. Install the app and create a Buy-X-Get-Y / BOGO offer.
  2. Define the qualifying items (buy X) and the reward items (get Y).
  3. Set the reward — free, or a percentage off.
  4. Add product-page messaging so shoppers see the deal at the moment of intent.
  5. Publish, then test the full path: add the qualifying item, confirm the reward, edit the cart, and verify the charge at checkout.

BOGO variations worth testing

Why checkout-safe enforcement matters for BOGO

BOGO is especially easy to game if the offer lives in storefront JavaScript. The reward looks right in the cart — but the cart is a separate, dynamic object. If a shopper removes the qualifying item after the free item was added, a JS-only app can leave the free product in the cart at zero cost. The shopper checks out having bought nothing at full price. At any real volume that’s a serious margin leak.

The reliable fix is to enforce BOGO with a Shopify Function at checkout. The Function re-validates the cart server-side, granting the reward only when the qualifying items are actually present. What the shopper sees is exactly what they’re charged, however they edit the cart. That’s why Profit Flow AOV Bundle runs BOGO through a Function — the offer is checkout-safe by design.

Checkout-safe vs JavaScript-only discounts on Shopify A JavaScript-only discount looks right on the product page but drops at checkout; a Shopify Function enforces the same price all the way through. What the shopper sees → what checkout charges PROFIT FLOW · SHOPIFY FUNCTION Product page Buy 2 · $86.40 Cart Checkout $86.40 JS-ONLY APP · STOREFRONT JAVASCRIPT Product page Buy 2 · $86.40 Cart edited (re-check fails) Checkout $96.00 Same offer, same shopper — only the enforcement differs. JS-only leaks margin or surprise-charges the buyer.
Checkout-safe: the discount and free gift are enforced by a Shopify Function, so what the shopper sees is exactly what they’re charged.

Get the most from BOGO

Want a BOGO offer shoppers can’t game? Install the free Profit Flow AOV Bundle — BOGO, quantity breaks, bundles and a checkout-safe free gift, all enforced by a Shopify Function. Want help modelling the margin first? Grab a free profit audit.

Share:

FAQ

Can Shopify do BOGO without an app?
Yes. Shopify's Buy-X-Get-Y automatic discount handles buy-one-get-one and its variants — buy 2 get 1, buy X get Y at a percentage off. It works well for simple rules; apps add product-page merchandising and stronger enforcement.
What is the difference between BOGO and Buy-X-Get-Y?
BOGO (buy one get one) is the classic case: buy one, get a second free or discounted. Buy-X-Get-Y is the general form — buy any quantity X of one set and get quantity Y of another set at a discount. BOGO is just Buy-1-Get-1.
How do I stop shoppers gaming a BOGO offer?
Enforce it at checkout with a Shopify Function. The Function re-validates the cart server-side, so the free or discounted item is only granted when the qualifying items are actually present — unlike JavaScript-only offers that can leave the reward applied after the cart is edited.

Start making more on every order

Launch a checkout-safe offer yourself, or have our team set it up and dial in your store.

Lifts average order value · No checkout edits · Works on any theme

Related reading