You can set up buy one get one free on Shopify in two ways. A native Buy X get Y discount works in the cart and at checkout, but shoppers must add the free item themselves. A BOGO app shows the deal on the product page and adds both items in one click.
This guide covers the margin check, both setups, and the tests to run before you announce the sale. For how BOGO fits next to quantity breaks and fixed bundles, see our product bundles guide.
What does buy one get one free cost you?
Buy one get one free (BOGO) is 50% off the pair. That sounds simple, but it hits profit harder than most merchants expect. A customer who would have bought one item now gets two for the same price, and you pay for both.
Here is an example with made-up numbers. Say a mug sells for $24 and costs you $9, before shipping and fees:
| Offer | Customer pays | Items | Your cost | Profit per order |
|---|---|---|---|---|
| Single mug | $24 | 1 | $9 | $15 |
| Buy 1 get 1 free | $24 | 2 | $18 | $6 |
| Buy 1 get 1 at 50% off | $36 | 2 | $18 | $18 |
| Buy 2 get 1 free | $48 | 3 | $27 | $21 |
In this example, BOGO free earns less per order than a single sale. It only pays off if it brings in orders you would not get otherwise, or clears stock you would discount anyway. “Buy 1 get 1 at 50% off” and “buy 2 get 1 free” keep more of the margin. Run the same table with your real costs, including packaging and fulfillment.
BOGO free tends to suit:
- Clearance: end-of-season stock you want gone.
- Low-cost, high-margin items: where the second unit costs you little.
- Short sale events: a weekend or a holiday, not an always-on offer.
How do you do buy one get one free on Shopify without an app?
Use a native Buy X get Y discount. Here are the steps from Shopify’s help center:
- In your Shopify admin, go to Discounts and click Create discount.
- Choose Buy X get Y.
- Under Method, pick Discount code (and enter a code) or Automatic discount (and enter a title).
- Under Customer buys, choose Minimum quantity of items, enter 1, and pick the products or collections that qualify.
- Under Customer gets, enter 1, pick the products or collections, and choose Free under At a discounted value.
- Optional: tick Set the maximum number of uses per order if one cart should only get one free item.
- Set Eligibility, Maximum discount uses, Combinations and Active dates, then click Save.
The buy and get sides are set separately. So you can give more of the same product, or a different one, such as a free hat with a T-shirt. Shopify notes that when both sides use the same product or collection, the lower-priced qualifying item is the one discounted.
What are the limits of a native BOGO discount?
Shopify lists a few you should plan for:
- The free item is not added for the shopper. Shopify says “the free or discounted ‘get’ item is never automatically added to the cart”. If the customer adds one item, they pay for one and get nothing free.
- Nothing shows on the product page. You have to explain the deal in a banner, the description or an email.
- Sold-out get items block the deal. If the free item’s inventory reaches zero, customers can’t use the discount.
- Not on the post-purchase page. Buy X get Y discounts made in the admin don’t apply there.
For a short sale with a clear banner, that can be enough. Our post on how to create bundles on Shopify shows the native route next to Shopify Bundles and bundle apps.
Why use a BOGO app instead?
The main reason is the “my free item didn’t apply” problem. With a native discount, shoppers who don’t read the banner add one item and check out. Then they email you, or they never come back.
A BOGO app puts the offer next to the add to cart button and adds the paid and free items together. We compare the trade-offs in more detail in Shopify bundles app vs native bundles.
How do you set up BOGO with Sam Bundles?
Here is the setup with Sam Bundles, our bundle app. It is free on the Shopify App Store. Other BOGO apps follow similar steps, so you can use this as a checklist.
Step 1: Turn on the app embed
Install Sam Bundles and open it. In the Setup guide, open Enable app embed and click Active app embed. In the theme editor, switch on Sam Bundles under App embeds and click Save. Back in the app, App status should show Active. The install guide shows each screen.
Step 2: Start from the Buy X, get Y template
On the app home, scroll to Offers and click Create new offer. Pick a Brand color, then click Choose on Buy X, get Y (BXGY) deal.
The template comes with three bars: buy 1 get 1 free, buy 2 get 3 free and buy 3 get 6 free. Those last two give away more than half. Change or delete them before you save, unless you really mean to run them.
Step 3: Choose the products
Under Products, apply the offer to all products, selected products or selected collections. Use Select exceptions to leave items out, such as gift cards or items already on sale.
In Sam Bundles, a buy X get Y offer gives more of the product the shopper is viewing. If you want a different product as the free item, use the Quantity breaks with a free gift template instead.
Step 4: Name the offer
In Settings, set the Name (only you see it), the Block title shown above the bars, and the Discount name shown in the cart and at checkout. A clear discount name, such as “BOGO mugs”, helps when customers compare the cart with your banner.
Step 5: Set up the bars
Each bar is one deal. Open a bar and set:
- Buy: how many items the customer pays for, and their Price: Full price, Percentage off, Amount off or Fixed price. For classic BOGO, use 1 at full price.
- Get: how many items they receive, the price type (Percentage off, Amount off or Fixed price) and the Discount per item. 100% off makes them free. 50% off gives you “buy 1 get 1 half off”.
- Title and Label badge: the default title uses variables such as
{{product_buy}}, and the badge can showSAVE {{saved_percentage}}, so the text stays right if you change the numbers. - Selected by default: the bar that is ticked when the page loads.
The Preview shows the price the customer pays and what they save. Check it against your margin table before you go on.
Step 6: Set the schedule, combinations and eligibility
Switch on Schedule to set a start date and, with Set end date, an end date. For a weekend BOGO, set both, so the deal stops on time.
Then open Advanced. Under Discount combinations, tick whether the offer can stack with Product discounts, Order discounts and Shipping discounts. Under Customer eligibility, pick all customers, logged-in customers, non logged-in customers or customers with specific Customer tags. The offer settings guide covers both cards.
Step 7: Save and check the storefront
Click Save to publish. On the product page, shoppers see the bars and pick the variant of every item, paid and free. So “one blue, one green” works without a support ticket. One click adds both items to the cart.
Customers don’t enter a code. Sam Bundles runs BOGO as an automatic Shopify discount, and the free items get the price you set in the cart and at checkout. The full field reference is in set up a buy X, get Y offer.
How does BOGO stack with other discounts?
Only as far as you allow it. Shopify applies discounts together only when each one allows the combination. If they can’t combine, Shopify says “the best discount for the customer’s cart is always applied” (discount combinations).
That matters for BOGO, because it is already a deep discount. A sitewide 20% code on top of buy one get one free can push the order below cost. Decide it on purpose for each offer, native or app.
What should you test before you launch?
Place a test order before you promote the deal:
- Add the deal from the product page on a phone. Confirm both items land in the cart with the right prices.
- Pick two different variants. Check that the free one is discounted, whichever variant it is.
- Remove the paid item. Check what the cart does with the free one, so you know what a shopper could do.
- Try a discount code on top. It should stack, or not, as you set it.
- Check sold-out variants. Make sure shoppers can’t pick a free item you can’t ship.
- Check the order in your admin. Your team should see every item to pick and pack.
- Check other languages. If your store sells in several, translate the widget text. See translations.
How do you keep a “free” offer honest?
Shoppers trust “free” only when it is clear and real. In the US, the FTC’s guide on the word “free” sets out a few rules worth knowing. This is general information, not legal advice:
- Charge your regular price for the item they buy. The guide says the shopper should pay “no more than the regular price” for the paid item. Don’t raise the price during the sale.
- Show the conditions up front. Terms should be “set forth clearly and conspicuously at the outset of the offer”. A footnote with an asterisk isn’t enough.
- Don’t run it all the time. The guide says a product should not be advertised with a “free” offer “for more than 6 months in any 12-month period” in the same trade area (16 CFR 251.1).
The same goes for urgency. If you add a countdown, tie it to a real end date. Our countdown timer guide explains how to keep it honest.
How do you know your BOGO deal worked?
Compare the sale period with a normal one of the same length. Look at orders, units per order, average order value and, most of all, profit per order with your own costs. A BOGO can lift revenue and still lose money.
In Sam Bundles, the app home shows additional revenue, orders, AOV increase, visitors, add-to-cart rate and conversion rate, with a results row for each offer. If most shoppers pick the BOGO bar but profit per order drops, try “get 1 at 50% off” next time. For a steady offer on products people restock, quantity breaks usually cost less than BOGO.
Frequently asked questions
Can you do buy one get one free on Shopify without an app?
Yes. Create a Buy X get Y discount under Discounts, as a code or an automatic discount. Set Customer buys to a minimum of 1 item, Customer gets to 1 item, and choose Free under At a discounted value. The catch is that Shopify never adds the free item to the cart, so shoppers must add it themselves.
Why is my Shopify BOGO discount not applying?
Usually because the free item is not in the cart. Shopify does not add the get item automatically. Also check that both items are in the products or collections you chose, the discount is active for today, the customer is eligible, and no other discount is set to win instead.
Can the free item be a different product?
With a native Buy X get Y discount, yes. Customer buys and Customer gets are set separately, so you can give a free hat with a T-shirt. In Sam Bundles, a buy X get Y offer gives more of the same product. For a different free product, use the quantity breaks with a free gift template.
Can customers pick a different size or color for the free item?
In Sam Bundles, yes. The widget shows a variant picker for every item in the deal, paid and free. With a native discount, the shopper adds each item to the cart separately, so they can pick any variant that is in the discount.
Is BOGO free the same as 50% off?
For the pair, yes. Buy one get one free on a $24 item means the customer pays $24 for two, which is 50% off. The difference is that the customer must take two items, so you sell more units at the same effective discount.
Sources
Part of our guide: Product bundles →