A 20% sitewide discount on a product with a 40% contribution margin needs twice as many orders just to earn the same profit it made at full price. The same discount raises your break-even ROAS from 2.5x to 4.0x, or 4.4x if your Google Ads conversion values include GST. Work out both numbers for your own margin before you set a Black Friday budget. Most stores that “had a great BFCM” on revenue find out in December that they lost money.
How many extra sales does a discount need?
Extra sales needed = discount ÷ (contribution margin − discount).
Contribution margin here means the share of the full price you keep after product cost, shipping, packaging and payment fees, and before advertising. Use your ex-GST price and costs.
Example: at a 40% contribution margin, a 20% discount leaves 20% per order. 0.20 ÷ (0.40 − 0.20) = 1.0, so you need 100% more orders to make the same profit.
| Contribution margin at full price | 10% off | 15% off | 20% off | 25% off | 30% off |
|---|---|---|---|---|---|
| 30% | +50% | +100% | +200% | +500% | No profit at any volume |
| 40% | +33% | +60% | +100% | +167% | +300% |
| 50% | +25% | +43% | +67% | +100% | +150% |
| 60% | +20% | +33% | +50% | +71% | +100% |
Two things stand out:
- The lower your margin, the faster discounts get expensive. A 30% margin store running 25% off needs six times its normal orders to stand still.
- “Sell more to make up for it” has a ceiling. Most stores do not double their orders on BFCM without spending a lot more on ads, which pushes the real break-even higher still.
What a discount does to your break-even ROAS
Break-even ROAS at full price = 1 ÷ contribution margin. Break-even ROAS during a sale = (1 − discount) ÷ (contribution margin − discount).
Revenue per order drops by the discount, but your product and shipping costs do not. So each ad dollar has to bring in more revenue just to cover itself.
| Contribution margin at full price | Full price | 10% off | 15% off | 20% off | 25% off | 30% off |
|---|---|---|---|---|---|---|
| 30% | 3.33x | 4.50x | 5.67x | 8.00x | 15.00x | Not possible |
| 40% | 2.50x | 3.00x | 3.40x | 4.00x | 5.00x | 7.00x |
| 50% | 2.00x | 2.25x | 2.43x | 2.67x | 3.00x | 3.50x |
| 60% | 1.67x | 1.80x | 1.89x | 2.00x | 2.14x | 2.33x |
These are ex-GST figures. If your target ROAS was set for full-price margin and you leave it unchanged through a 20% sale, Google is bidding toward a number that now loses money on every order.
The GST correction Australian stores miss
Australian prices include 10% GST, but the GST is not yours to keep. Your margin maths should run on ex-GST revenue.
Google Ads reports whatever conversion value your tracking sends. Many Australian stores send the GST-inclusive order total. If yours does, the break-even ROAS you see in Google Ads is 1.1 times the ex-GST number:
| Contribution margin | Ex-GST break-even, 20% off | Break-even shown in a GST-inclusive Google Ads account |
|---|---|---|
| 40% | 4.00x | 4.40x |
| 50% | 2.67x | 2.93x |
How to check: compare one order’s value in Google Ads with the same order in Shopify. If Google shows $110 for a $100 + GST order, your conversion values include GST.
Worked example (illustrative numbers)
A product sells for $110 including GST.
| Full price | 20% off | |
|---|---|---|
| Price incl. GST | $110 | $88 |
| Price ex GST | $100 | $80 |
| Product cost | $45 | $45 |
| Shipping, packaging, payment fees | $15 | $15 |
| Contribution before ads | $40 (40%) | $20 (25% of the sale price) |
| Orders needed for the same profit | 100 | 200 |
| Break-even ROAS (ex GST) | 2.50x | 4.00x |
| Break-even ROAS (GST-inclusive values) | 2.75x | 4.40x |
The discount halves profit per order. Unless the sale at least doubles orders, it loses money compared with simply not running it.
When a discount still makes sense
A sale that loses money on the first order can still be the right call:
- New customers who come back. If BFCM buyers repeat at a decent rate, the first order can run at break-even or a small loss. Only count this if your data shows these customers do come back. BFCM buyers often repeat less than full-price buyers.
- Clearing stock. Selling slow stock at a thin margin can beat holding it into next year.
- Bundles instead of straight discounts. A bundle ships as one parcel, so the shipping cost stays roughly flat while the order value rises. That protects contribution better than a percentage off everything.
- Discounting selected products only. Keep high-margin bestsellers at full price, and put the discount on lines that can carry it.
And the costs that don’t show up in the maths above:
- Pulled-forward demand. Some BFCM buyers would have bought in December at full price.
- Training customers to wait. Run sitewide sales too often and full-price weeks get weaker.
- Higher returns. Impulse sale orders often come back at a higher rate. Include them in your contribution figure.
What to change in Google Ads before and during BFCM
- Recalculate your target ROAS at the sale margin. Use the break-even table above. Set the target at or above the sale break-even, not the full-price one.
- Put sale prices in the feed with an end date. Use the
sale_priceandsale_price_effective_dateattributes in Merchant Center, so Shopping ads show the sale price and switch back on time. (Google: sale price effective date) - Use a seasonality adjustment only for a short spike. Google says these are “ideal for short events of 1 to 7 days” and may not work well beyond 14 days. They apply to Target ROAS and Target CPA on Search, Shopping, Demand Gen and Display, and to all bid strategies in Performance Max. Smart Bidding already expects regular seasonal events, so use one only when you expect a big conversion rate jump. (Google: about seasonality adjustments)
- Raise budgets before the peak, not on the day. Budget limits on Black Friday itself cost the most sales.
- Don’t switch bid strategies or restructure campaigns in November. A new strategy needs a learning period you don’t have during a one-week event.
- Watch brand vs non-brand separately. Sale traffic inflates brand search. Blended ROAS will look better than your new-customer ads actually performed. See brand vs non-brand ROAS.
Setting sale targets from margin, not from last month’s ROAS, is part of ecommerce Google Ads management at Adgenix. If you want these numbers checked against your own account before BFCM, the free Revenue Leak Report is the quickest way to start.
Frequently asked questions
Is a 20% discount worth it for an ecommerce store? Only if it lifts orders by more than discount ÷ (margin − discount). At a 50% contribution margin that is 67% more orders. At 40% it is 100% more.
How do I calculate break-even ROAS for a sale? (1 − discount) ÷ (contribution margin − discount), using ex-GST figures. A 40% margin product at 20% off breaks even at 4.0x.
Should I lower my target ROAS for Black Friday to get more volume? Not below the sale break-even. A sale already raises the break-even, so the same target now leaves less profit, not more.
Do I calculate margin with or without GST? Without. GST is collected for the ATO. If your Google Ads conversion values include GST, multiply your ex-GST break-even by 1.1 to compare it with what Google reports.
What is contribution margin? Revenue minus product cost, shipping, packaging and payment fees, before advertising. It is the money each order leaves to pay for ads and overheads.
Sources
- The DTC Playbook: Finance & Unit Economics. The break-even ROAS formula (1 ÷ contribution margin) and the “20% off a 50% margin product needs 67% more units” example.
- The DTC Playbook: Peak Season & Promotions. The “20% discount on a 40% margin product takes break-even from 2.5x to 4.0x” example and the bundle reasoning.
- Google Ads Help: About seasonality adjustments
- Google Merchant Center Help: Sale price effective date