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

Buy 2 Get 1 Free on Shopify Isn't Always a 33% Discount: The Margin Math

July 10, 2026

Buy 2 get 1 free feels like a 33% discount, but the real margin impact depends on COGS, fulfillment and incrementality. How to actually calculate whether a BOGO promotion makes money.

The real margin math behind buy 2 get 1 free on Shopify

Buy 2 get 1 free looks like a clean 33% discount, and on revenue it is — a shopper pays for three units but only gets charged for two, so you collect two-thirds of the retail total. But that headline number is not what the offer costs your business. The free unit does not cost you its retail price; it costs you its COGS and fulfillment. So the real hit to your margin depends entirely on how profitable each unit is, and whether the third unit is a sale you would have lost anyway. Get that wrong and a “33% off” promotion can quietly sell at a loss.

The headline vs the real cost

Two different numbers get confused constantly:

Those two numbers are only similar on a low-margin product. On a high-margin product they are worlds apart. That gap is the entire reason two stores can run the identical offer and one prints profit while the other bleeds.

Why it matters: same offer, opposite outcomes

Margin percentage decides whether the same headline discount is a growth lever or a leak. Consider two products, both selling at $30 retail (illustrative example numbers, not our data):

The free unit in a buy-2-get-1 offer costs Product A $11 (8 + 3) and Product B $21. On Product B, the cost of giving one away ($21) is more than the contribution you earn on a normal single sale ($9). That is the difference between an offer that can compound and one that structurally cannot.

The margin math: contribution with vs without

The only honest way to judge a promotion is to compare total contribution — revenue minus variable cost — with and without the offer, not the headline discount. Here is the full comparison using the illustrative numbers above.

ScenarioUnits shippedRevenueCOGS + fulfillmentContribution
A (high margin), no offer — buys 22$60$22$38
A (high margin), B2G1 — pays 2, gets 33$60$33$27
B (low margin), no offer — buys 22$60$42$18
B (low margin), B2G1 — pays 2, gets 33$60$63−$3

Read the table carefully. If the shopper would have bought 2 anyway, the offer simply hands them a third unit. Product A still clears $27 — a lower per-order margin, but real profit. Product B goes negative: the free unit costs more than the two paid units earn. Same “33% off” headline, opposite economics, driven only by margin %.

That is the trap. The discount percentage is identical; the contribution outcome is not. This is exactly the failure mode behind a Shopify bundle that isn’t increasing AOV — the offer moves units without moving profit.

The incrementality question

The table above assumed the worst case: the shopper would have bought two regardless, so the third unit is pure give-away. Reality is usually somewhere in between, and the single variable that decides everything is incrementality:

Most real promotions are a blend: some buyers trade up (incremental, profitable), some would have bought two anyway (cannibalized, costly). Your blended result is the weighted average. The headline discount tells you nothing about where on that spectrum you land — only the unit economics and your actual buyer mix do.

How to model it before launching

You can estimate the outcome before spending a cent. Model, don’t guess:

  1. Get your true per-unit contribution. Retail − COGS − fulfillment (and payment fees if you want to be precise). Not gross margin off a spreadsheet guess — the real landed cost.
  2. Estimate the incrementality rate. What share of B2G1 orders are shoppers trading up from fewer units vs shoppers who’d have bought two anyway? Use past order data on how often people already buy multiples.
  3. Compute blended contribution. (incremental orders × incremental contribution) + (cannibalized orders × the loss on the free unit). If the sum beats what those same shoppers contributed before the offer, it works.
  4. Set a breakeven incrementality threshold. Solve for the incremental share at which contribution matches the no-offer baseline. If you can’t realistically hit it, don’t run it. Broader AOV modeling lives in how to increase average order value on Shopify.

How to protect margin

If the math is close, structure protects you:

Common mistakes

How to test

Model first, then validate with real orders. Launch the offer on a defined product set for a fixed window, and compare total contribution (not units, not revenue) against the same period without it — ideally against a control set of similar products that don’t run the promo. Watch units-per-order to confirm shoppers are actually trading up rather than just collecting a freebie they’d have earned anyway. If contribution rises, the incrementality is real; if units rise but contribution flattens or falls, you’re funding gifts. For hands-on help wiring the analysis and the offer, see our CRO & AOV services.

Want to run a BOGO that actually makes money? Model the margin first, then launch it checkout-safe with Profit Flow AOV Bundle so the offer shoppers see is exactly what they’re charged. Not sure your promos are profitable? Get a free profit audit.

Share:

FAQ

Is buy 2 get 1 free a 33% discount?
On the price, giving one free of three is a 33.3% discount on revenue. But the margin impact isn't 33% — the free unit costs you its COGS and fulfillment, not its retail price, so the real cost depends on your margin. A high-margin product loses far less contribution than a low-margin one on the same offer.
How do I calculate the margin on a buy 2 get 1 free offer?
Compare contribution with and without the offer. Without: units sold times per-unit margin. With: the same revenue for three units but three units of COGS and fulfillment. If the offer makes shoppers buy more units than they otherwise would (incrementality), it can raise total contribution even though per-order margin drops.
Does buy 2 get 1 free actually make money?
It depends on margin and incrementality. If the third unit is truly incremental — a purchase that wouldn't have happened — the offer can grow total contribution. If shoppers who'd have bought two anyway now get a third free, it just gives away margin. The math, not the headline discount, tells you which.

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