BOGO And Gift-With-Purchase: Why Unit Margin Collapses Even When Revenue Holds

Metricuno
July 11, 2026
7 min read
BOGO And Gift-With-Purchase: Why Unit Margin Collapses Even When Revenue Holds — See why BOGO and gift-with-purchase promos hold net revenue steady while unit margin halves — and how to model the COGS correctly in your promo math.
Quick answer

BOGO and GWP promos often keep net revenue looking healthy while quietly halving unit margin. Here's the mechanism, the vertical-specific traps, and how to enter these offers into your promo calculator without lying to yourself.

Quick answer

BOGO and GWP promos hold net revenue steady because the paid unit is still sold at full price — but you're now shipping two units of COGS against one unit of revenue, so gross margin per order can drop 40-55%. Enter the free unit's full COGS (not zero, not a discount line) into your promo math, or you'll under-count the true margin hit.

Definition
Promotions & unit economics

BOGO and GWP unit margin collapse

The gap between stable net revenue and halved gross margin per order that appears when a free-unit promo is booked with correct COGS.

In a buy-one-get-one (BOGO) or gift-with-purchase (GWP) offer, the customer pays full price for one unit and receives a second unit at no charge. Shopify, WooCommerce, and Magento typically record the free unit at €0 revenue with the discount applied as a line-item adjustment, so net revenue per order looks close to normal. The problem sits one layer down: cost of goods sold now covers two units instead of one, and if the free item ships in the same box, fulfilment cost is unchanged. Unit gross margin — revenue minus COGS minus fulfilment — collapses even when the top line holds.

The reason this scenario is so common is that most Shopify dashboards show revenue-side metrics prominently and cost-side metrics deep in a separate report. A promo can post a strong week on the store overview while the actual margin story sits in a spreadsheet nobody opens until month-end.

You see it most clearly in beauty, supplements, and apparel — three verticals where BOGO and GWP are default acquisition levers and where the per-unit COGS is high enough that doubling it materially changes the P&L.

Why net revenue looks stable while margin halves

Take a beauty store selling a €40 serum at 70% gross margin. A single-unit order posts €40 revenue and €12 COGS, so gross profit is €28. That's the baseline every finance model assumes.

Now run a GWP where every order over €40 gets a free travel-size serum with a €6 COGS. Net revenue on the order is still €40 — Shopify records the gift at €0. But COGS is now €18, fulfilment is unchanged at roughly €4, and gross profit drops to €18. Same revenue, 36% less margin per order. The scenario in why beauty GWP promos halve unit margin while order count rises breaks this out with real SKU-level numbers.

The reporting trap

Shopify's default promo report shows discount value applied — but a GWP has no discount line on the paid unit. The report says 'discount: €0' while your warehouse ships €6 of free product. If you rely on the promo report alone, you'll conclude the campaign was 'free' when it just moved the cost off the revenue line.

Three vertical patterns where the collapse bites hardest

Beauty stores lean on GWP because the gift is usually a sampling vehicle — a travel-size or a new-launch SKU. Redemption is near-universal (customers rarely refuse a free item), so you should model 95-100% attach, not the 30-40% you'd see on a coupon.

Supplements run buy-2-get-1-free to hit the psychological month-supply threshold. But the third unit's COGS lands on an order the customer would often have placed anyway at two units, which erodes the LTV math. The full mechanic is in buy-2-get-1-free on supplements: why the third unit's COGS eats the subscription payback.

Apparel is the most dangerous case. A BOGO 50% offer on tops looks margin-neutral on paper — you're giving 25% off a two-unit basket. But apparel return rates run 20-40%, and returns on BOGO baskets skew toward keeping the discounted item and returning the full-price one. See apparel BOGO 50%: why returns turn a margin-neutral promo into a loss for the return-adjusted math.

What the numbers actually look like

Benchmark

Unit margin impact of common BOGO/GWP structures across verticals (illustrative)

Vertical & promoAOV (net)COGS per orderFulfilmentGross margin %Vs baseline
Beauty — no promo (baseline)€45€13€462%
Beauty — GWP travel size€45€19€449%-13 pts
Supplements — no promo (baseline)€60€21€557%
Supplements — buy 2 get 1 free€60€31€540%-17 pts
Apparel — no promo (baseline)€75€26€756%
Apparel — BOGO 50% (pre-returns)€110€52€746%-10 pts
Apparel — BOGO 50% (post-returns, 25%)€82€52€1027%-29 pts

The apparel row is the one to sit with. Once returns are booked correctly — including the return shipping and the restocking labour — a BOGO 50% offer that looked flat on the modelling deck lands 29 margin points below baseline.

How to enter these promos into your margin math

The fix is mechanical. Treat every free unit as if it had been sold at €0 with full COGS attributed to the order. Do not net the free unit out of inventory as 'marketing expense' — that hides the impact in a bucket nobody reviews weekly. The Shopify-specific workflow is in how to enter a free GWP unit's COGS in Shopify reports without double-counting.

For blended-promo weeks, run two numbers side by side: net revenue per order (which will look fine) and gross margin per order (which will tell you the truth). The gross-vs-net framing sits inside the broader discounts and promo codes: gross vs net revenue in margin math methodology.

How to protect margin without killing the promo

Two levers matter more than the rest. First, gate the GWP to a minimum-margin AOV threshold, not a revenue threshold — a €60 basket of high-margin skincare earns the gift, a €60 basket of low-margin cleansing balm doesn't. The tactic is in gating GWP to a minimum-margin AOV threshold instead of a revenue threshold.

Second, forecast redemption before you commit inventory. GWP redemption approaches 100% when the gift is visible in the cart; it drops to 50-70% when it's a post-purchase surprise. The inventory implications are covered in forecasting GWP redemption rate before you commit the inventory.

Frequently asked

Frequently asked questions

Because Shopify's discount engine records the free unit's line item at €0 revenue rather than applying a discount to a paid line. The customer paid full price for what they paid for; the free item just wasn't charged. Your discount report will look clean while your COGS report shows the actual cost — you have to reconcile the two manually or push both into a single margin dashboard.

Book it as COGS on the specific order it shipped with. Reclassifying it to marketing hides the per-order margin impact in an aggregate bucket, and it makes cohort profitability analysis unreliable. Marketing expense is what you spent to acquire the click; COGS is what you spent to fulfil the order — the free unit is unambiguously the latter.

Sometimes for BOGO 50% (which requires a two-unit basket), rarely for buy-one-get-one-free. The bigger question is whether the incremental orders would have happened anyway at full price — see BOGO cannibalization: modeling the full-price sales you would have made anyway. If cannibalization is above 40%, most BOGO structures lose money.

A percentage discount reduces net revenue but not COGS; a GWP holds net revenue but doubles COGS on the gifted SKU. At equivalent first-order margin they can look similar, but they behave differently on returns, on subscription conversion, and on customer LTV. The comparison is in BOGO vs percentage discount at equal first-order margin.

No — repurchase rate on BOGO-acquired cohorts typically runs 20-35% below discount-acquired cohorts at 90 days. The mechanism seems to be that BOGO signals abundance rather than value, so the customer feels less urgency to return. See why BOGO-acquired customers repurchase worse than discount-acquired ones for the cohort data.

Add 5-10 percentage points to your baseline apparel return rate. Customers over-order on BOGO because the marginal cost of the extra item is zero, and they use the return as a free try-on. If your baseline is 25%, model 32-35% on BOGO baskets and check post-promo whether reality matched.

Only if the free unit is a sample of a different SKU, not a duplicate of the subscribed product. Doubling the subscribed SKU extends the customer's next-order gap by a full cycle, which pushes subscription payback out and often past the churn cliff. Supplements are the canonical case.

In most EU jurisdictions the cost of the gifted unit is deductible, but it's still COGS for accounting purposes — the tax treatment doesn't change how you should record it in your margin dashboard. Check with your accountant; this isn't tax advice.

Compare gross margin per order (not revenue per order) between the promo window and a matched non-promo baseline week, then subtract the cannibalized full-price orders. If the delta is positive after subtracting cannibalization, the promo worked. If you only look at top-line revenue, you'll conclude every BOGO is a success.

No. The threshold should be based on paid net revenue only, otherwise customers can chain GWPs indefinitely and you end up shipping gift-only orders. Configure the threshold on the paid subtotal in your Shopify promo rule, not on the order total.

Test ideas before you ship them

Run unlimited A/B tests, attach hypotheses to outcomes, and build a searchable archive of what works — and what doesn't.