BOGO Offers on Shopify: Structure, Margin Math, and Testing

A BOGO is a 50% discount wearing a costume. Run the margin math before you launch one.

Bar chart comparing contribution per order for no offer, buy one get one free, and buy two get one free BOGO structures

TL;DR

BOGO means “buy one, get one,” a promotion where purchasing one unit earns a second free or discounted. On Shopify, B1G1 free, B1G1 50% off, and B2G1 are all native “Buy X get Y” discounts. A BOGO is a 50% discount wearing a costume, so run the margin math before launching: B1G1 free needs roughly 2.8x the order volume to match the contribution of a full-price sale, while B2G1 and B1G1 50% off usually clear margin with room to spare.

A BOGO is a 50% discount wearing a costume, and it usually outperforms the plain 50% discount it’s hiding. The costume is the point. “Buy one, get one free” reads as a gift; “50% off two” reads as a markdown. Same math, different psychology.

Most stores pick a BOGO structure by feel and never check whether it clears margin. That’s how a store ends up with a promotion that lifts conversion rate, lifts AOV, and loses money on every order. This guide covers what BOGO means, which structure fits which goal, the margin arithmetic with the work shown, how to set it up on Shopify, how to make the offer visible on the page the ad sends people to, and how to test it against your other offers.

Key Takeaways

  • BOGO is any promotion where buying one unit earns another free or discounted. The five common structures are B1G1 free, B1G1 percent-off, B2G1 free, spend-threshold gift, and mix-and-match.
  • Effective discount rates: B1G1 free is 50%, B1G1 50% off is 25%, B2G1 free is 33%. The structure you pick is a margin decision first and a marketing decision second.
  • On a $40 product with $12 landed cost, B1G1 free cuts contribution per order from $21.80 to $7.80. B2G1 free raises it to $32.60. The break-even math is in the table below.
  • Shopify’s native “Buy X get Y” discount handles all three unit-based structures without an app. Auto-adding the free unit to the cart usually needs one.
  • If the ad says BOGO and the page opens on a generic product listing, you paid for the click twice. The offer has to be visible above the fold.

What BOGO means

BOGO stands for “buy one, get one.” It’s a promotion where purchasing one unit of a product earns the shopper a second unit free or at a discount. “Buy one, get one free” is the original form; the abbreviation now covers any structure where the incentive is an extra unit rather than a percentage off a single one.

The five common BOGO structures

StructureShorthandWhat the shopper getsEffective discount
Buy one, get one freeB1G1 free2 units for the price of 150%
Buy one, get one 50% offB1G1 50%2 units for 1.5x price25%
Buy two, get one freeB2G1 free3 units for the price of 233%
Spend threshold, get a giftSpend $X, get YA free item above a cart valueVaries by gift cost
Mix and matchAny 3, cheapest freeCross-SKU B2G133% on the cheapest

The effective discount column is the number most BOGO guides skip. It’s the percentage you’d have to take off the total to give the shopper the same deal without the costume.

Why perceived value beats an equivalent percentage discount

Two offers, identical economics: “buy one, get one free” and “50% off when you buy two.” The first one usually wins, for three reasons. A free unit is a concrete object; a percentage is an abstraction. “Free” is a stronger word than any number. And the BOGO framing anchors on the full price, so the shopper feels they paid full price and received a gift, rather than paying a reduced price for two.

That’s the upside. The downside is the same anchoring cuts the other way: a shopper trained on BOGO may never pay full price again. More on that below.

Choosing a BOGO structure by goal

The structure follows the goal. Four goals, four different answers.

Clearing inventory

B1G1 free on the SKU you need gone. The 50% effective discount is steep, but if the alternative is a write-off, moving two units per order at a thin margin beats moving zero. Cap it by quantity or date so it doesn’t become the product’s permanent price.

Growing AOV

B2G1 free, almost always. The shopper has to add a third unit to unlock the deal, so the order is three units instead of one or two. The effective discount is 33%, and the contribution from the second paid unit usually covers the cost of the free third one. B1G1 free grows units per order but often cuts AOV, because shoppers who would have bought two at full price now pay for one.

Acquiring first-time buyers on paid traffic

B1G1 50% off or a spend-threshold gift. Both lower the barrier without halving the margin. The second-unit discount gives the ad a hook (“get your second one half off”) and the page a reason to show the two-pack as the default.

Protecting LTV: when a BOGO trains the wrong behavior

For replenishable products (supplements, skincare, coffee), a standing B1G1 free trains customers to wait for the promotion and to stock up when it runs, which flattens repeat purchase. If the goal is a subscription or a steady reorder cadence, a subscribe-and-save discount on a single unit protects LTV better than a two-unit BOGO. For subscription-led brands, BOGO is usually the wrong tool.

The margin math

This section is the part every BOGO guide hand-waves. The arithmetic is simple. Do it before the offer goes live.

The worked example

Assumptions, stated so you can swap in your own:

StructureUnitsRevenueCOGSFulfillmentFeesContributionMargin
Single unit, no offer1$40.00$12.00$5.00$1.20$21.8054.5%
25% off one unit1$30.00$12.00$5.00$0.90$12.1040.3%
B1G1 free2$40.00$24.00$7.00$1.20$7.8019.5%
B1G1 50% off2$60.00$24.00$7.00$1.80$27.2045.3%
B2G1 free3$80.00$36.00$9.00$2.40$32.6040.8%
Spend $75, free gift2 + gift$80.00$29.00$8.00$2.40$40.6050.8%

Three things jump out.

B1G1 free is brutal. Contribution per order drops from $21.80 to $7.80. The offer has to produce 2.8x as many orders from the same traffic just to break even on contribution. Conversion rate almost never nearly triples on a discount alone.

B1G1 50% off and B2G1 free both raise contribution per order. Because the shopper pays for a second (or third) unit above its marginal cost, the order contributes more than a single full-price unit would. That means these structures can lose conversion rate against the no-offer baseline and still come out ahead per visitor.

The threshold gift is the quiet winner. Two full-price units plus a $6 gift costs the store $6 and adds $40 of revenue relative to a single-unit order. The gift is the cheapest incentive on the table.

The effective discount rate of each BOGO type

Restated from the table: B1G1 free is 50%, B2G1 free is 33%, B1G1 50% off is 25%, and the threshold gift’s effective discount is the gift’s cost divided by the order value (here, $6 on $80, or 7.5%). Compare those against the plain percentage discount you’d otherwise run. A “25% off” promotion and a B1G1 50% off promotion give the shopper the same effective discount. The BOGO version moves two units.

Shipping and fulfillment cost of the second unit

Fulfillment per additional unit is small for compact products and large for bulky ones. A second bag of coffee adds a few dollars. A second countertop appliance can add $15 in shipping and packaging. Plug your real per-unit fulfillment cost into the table; for heavy goods, B1G1 free frequently goes negative.

The break-even AOV lift you need

The general formula: the offer breaks even when contribution per visitor stays flat. Contribution per visitor is conversion rate multiplied by contribution per order. If the offer cuts contribution per order from $21.80 to $7.80, conversion rate must rise by a factor of 21.80 / 7.80, or about 2.8x. If the offer raises contribution per order to $32.60, conversion rate can fall to 21.80 / 32.60, or about 67% of baseline, before the offer loses.

One more adjustment: cannibalization. Some shoppers would have bought two or three units at full price without the offer. If a third of your orders were already multi-unit, the BOGO is giving those shoppers a discount they didn’t need. Estimate that share from order history before you launch, and subtract it from the lift.

Setting up a BOGO on Shopify

The mechanics are simpler than most app vendors suggest.

Native Shopify discounts: what they can and can’t do

Shopify’s built-in Buy X get Y discount handles the unit-based structures natively: buy a quantity or a minimum amount of specified products, get a quantity of specified products free or at a percentage off. That covers B1G1 free, B1G1 percent-off, and B2G1 free, and it can apply across a collection for mix-and-match. Discounts can run as automatic discounts or as codes, with limits on how they combine with other discounts. Shopify’s discount documentation lists the current caps on active automatic discounts and combination rules.

What native discounts don’t do well: auto-add the free unit to the cart. In most setups the shopper has to add the second item themselves and the discount applies at checkout. That’s a real conversion leak, because a shopper who reads “buy one, get one free” and sees one unit in the cart at full price assumes the offer isn’t working.

When you need an app

You need an app or a custom cart when you want any of the following: auto-adding the free or gift item, a progress bar toward a threshold, a bundle selector that shows per-unit pricing at each tier, or tiered thresholds beyond what native discount combinations support. If you’re running paid traffic to a dedicated landing page, the better answer is usually a page whose buy box handles all of that, wired to the live Shopify product, so the offer is built into the page rather than bolted onto the theme.

Automatic discounts vs discount codes on paid traffic

Automatic. Always, for paid traffic. A code adds a step, and the shopper who forgets it or mistypes it either abandons or emails support. Automatic discounts apply the moment the qualifying items are in the cart. Reserve codes for email, influencer attribution, and anything where the code itself is the tracking mechanism.

Cart and checkout display

Check that the discount line appears in the cart drawer, not just at checkout. A shopper who sees two units at full price in the cart, with the discount only applied on the checkout page, will often leave before reaching it. The cart has to show the deal.

Making the offer visible on the page

The ad said BOGO. The page has to open on BOGO. If the ad promises “buy one, get one free” and the click lands on a standard product page with a single unit at $40, the shopper has to hunt for the offer, and most won’t. You paid for the click, and then you paid again in the lost conversion.

Buy box design for multi-unit offers

The buy box for a BOGO shows the quantity options as a choice, with the offer pre-selected. Three tiles: “1 unit, $40,” “2 units, $40 (buy one, get one free),” “3 units, $60.” Per-unit price under each. Savings in dollars, not percentages. The guarantee and shipping terms directly below. The shopper should see the entire deal without a click.

Progress bars and threshold nudges

For threshold structures, a progress bar in the cart (“Add $15 more for your free gift”) lifts the share of orders that clear the threshold. The nudge only works if the shopper is close; showing “add $60 more” to a $15 cart does nothing except remind them the gift isn’t for them.

The most common leak: offer visible only at checkout

Walk through the funnel as a shopper: ad, landing page, add to cart, cart drawer, checkout. The offer has to be visible at every step. The most frequent failure is a page that mentions the BOGO in a banner, a buy box that shows one unit, and a discount that appears for the first time on the checkout page. By then, many of the shoppers who came for the offer have concluded it doesn’t exist.

This is the argument for a dedicated page over a product page for paid traffic, laid out in landing page vs product page for paid ads. A product page serves everyone. A landing page can open on the offer the ad made.

A hypothetical: a Shopify operator, call her Renata, sells a $48 body wash. Her Meta ad promised B1G1 free. Traffic went to the product page, which showed one unit at $48 with a small “BOGO applied at checkout” banner. Cost per purchase: $39.

She built a dedicated page that opened on a two-unit buy box, “2 for $48,” with the free unit already in the cart. Cost per purchase dropped to $26 with the same ads. The offer hadn’t changed. Its visibility had.

Ready to build a page that opens on the offer the ad made? Pagedeck builds tiered discounts, subscriptions, gift with purchase, bundles, and BOGOs into the page natively, wired to live Shopify products. No extra app to bolt on.

Testing BOGO against your other offers

Offer structure is the highest-impact variable on a DTC page, and it goes untested because most stacks make it painful to change. Fix the stack, then test.

What to test: structure, threshold, framing

Three variables, tested one at a time:

Server-side testing so the offer doesn’t flicker

An offer test that flickers is worse than no test. If the buy box loads showing one price and then swaps to another as the client-side testing script runs, the shopper has just watched the price change and now distrusts both. Run offer tests server-side so each visitor sees one complete version from the first paint. Every Pagedeck page ships with server-side A/B testing built in, unmetered by traffic, and Shopify purchase attribution ties each order back to the exact page and variant.

Reading the result on AOV and contribution margin, not conversion rate alone

A BOGO test that “wins” on conversion rate can lose on contribution. Read three numbers together: conversion rate, AOV, and contribution per order after COGS, fulfillment, and fees. The winning variant is the one with the highest contribution per visitor, which is conversion rate multiplied by contribution per order. On the worked example above, B1G1 free needs conversion rate to rise about 180% (2.8x) just to match the no-offer baseline. B2G1 free wins if it merely holds conversion rate flat.

Fulton is a useful reference for what testing volume does, even though its result isn’t offer-specific. The brand ran all of its paid traffic to dedicated pages and iterated more than 50 times, and paid conversion rate rose 110%. Read how Fulton increased paid conversion rate by 110%. The result is Fulton’s; the lesson is that the brands that find the winning offer are the ones that test enough of them.

Frequently asked questions

What does buy one get one free mean? It’s a promotion where purchasing one unit of a product earns a second unit at no charge. The effective discount is 50% across the two units. It’s the original form of BOGO; the abbreviation now covers percent-off and multi-unit variants too.

How do I set up a BOGO on Shopify? Use the native “Buy X get Y” discount type. Set the qualifying products and quantity, set the reward products and the discount (100% off for free, or a percentage), and choose automatic or code. For paid traffic, run it as an automatic discount and make sure the cart drawer shows the discount line.

Is BOGO better than a percentage discount? Usually, at the same effective discount, because “free” reads as a gift and the offer moves more units. But B1G1 free is a 50% discount, and few products carry the margin for it. B1G1 50% off (a 25% effective discount) or B2G1 free (33%) are the structures that typically clear margin.

What are some BOGO offer ideas beyond buy one get one free? Buy two, get one free for AOV; buy one, get one 50% off for acquisition; spend a threshold and get a free gift for margin protection; mix-and-match “any three, cheapest free” for catalogs with many SKUs; and a limited-quantity B1G1 free for clearing a specific SKU.

Conclusion

BOGO is a discount with better packaging, and the packaging works. But the structure is a margin decision before it’s a marketing one. Run the table with your own cost basis: B1G1 free needs conversion rate to nearly triple, B1G1 50% off and B2G1 free usually clear with room to spare, and a threshold gift is often the cheapest incentive you have. Set it up as an automatic Shopify discount, make sure the cart shows the deal, and build the page the ad sends people to so it opens on the offer.

Then test it. Structure, threshold, framing, one at a time, server-side, and read the result on contribution per visitor rather than conversion rate alone.

Build your first page free, no credit card needed. Describe the offer, sync the product, and Pagedeck builds the BOGO buy box into the page.