Black Friday Profit Playbook: How to Make BFCM Actually Profitable
[IMAGE PLACEHOLDER: Dashboard showing profit vs revenue during BFCM week]
Everyone talks about Black Friday revenue. Your marketing team's probably already texting you about 2024's numbers. But here's what nobody talks about: whether you actually made money.
That's the trap. You run a 30% discount. Ad costs spike from $14 to $35 per click. Returns jump to 25% higher than normal. Fulfillment costs surge. And on November 27th, you're staring at $50K in revenue wondering why your bank account didn't move.
This playbook fixes that. We're going to walk through exactly how to make Black Friday your most profitable week—not just your biggest revenue week.
The BFCM Profit Trap: Why Revenue ≠ Profit
Let's start with a real scenario. A typical e-commerce store runs BFCM like this:

- Normal week: $15K revenue, $12 COGS per unit, $14 CPM on ads, 10% return rate
- BFCM week: $50K revenue, same $12 COGS, but 30% discount applied, $35 CPM on ads, 25% return rate
The revenue jumped 3.3x. Your CEO's happy. Your ads manager's happy. Your profit? It probably didn't.
Here's why:
Discounts shrink margins directly. A 30% discount doesn't just lower your profit by 30%—it can cut it in half depending on your starting margin. If you're typically running 40% gross margin, a 30% discount might drop you to 28%.
Ad costs explode. CPMs don't just inch up during BFCM—they double or triple. Everyone's competing for the same eyeballs. You're not actually getting more efficient customers; you're just paying way more to reach them.
Returns spike. Bargain hunters return at higher rates. Faster shipping also means faster returns. A 10% baseline return rate becomes 25%. That's extra fulfillment, restock, and restocking fees eating straight into margin.
Fulfillment costs surge. Your 3PL charges peak rates during November-December. You're also expediting more shipments to meet BFCM promises. What normally costs $4 per order now costs $6.
The math looks like this:
| Metric | Normal Week | BFCM Week |
|---|---|---|
| Revenue | $15,000 | $50,000 |
| COGS (40% of revenue pre-discount) | $6,000 | $14,000 |
| Gross Profit | $9,000 (60%) | $15,000 (30%) |
| Ad Spend (at higher CPM) | $2,000 | $8,750 |
| Returns & Restocking (5% of COGS) | $300 | $700 |
| Fulfillment (3PL rates) | $1,500 | $3,000 |
| Net Profit | $5,200 | $2,550 |
You doubled revenue. You halved profit.
Step 1: Set a Profit Floor Before Discounting
This is the most important step. Before you plan a single discount, know your minimum acceptable profit per unit.
Your contribution margin is: (Price - COGS - Variable Costs) / Price
For most e-commerce businesses, variable costs include fulfillment, payment processing, and returns/restocking.
Let's say:
- Selling price: $60
- COGS: $18
- Fulfillment: $5
- Payment processing: $2
- Normal return loss: $1.50
Contribution margin = ($60 - $18 - $5 - $2 - $1.50) / $60 = 60%
During BFCM, fulfillment jumps to $6.50 (peak pricing), and return losses jump to $4:
New contribution margin = ($60 - $18 - $6.50 - $2 - $4) / $60 = 48%
Never discount below 48%.
If you offer a 30% discount, your new price is $42. Let's check:
Contribution margin at $42 = ($42 - $18 - $6.50 - $2 - $4) / $42 = 26%
That's below your floor. This product shouldn't be discounted 30%. Maybe it takes 15% instead.
Price at 15% discount: $51. Contribution margin = ($51 - $18 - $6.50 - $2 - $4) / $51 = 41%
That works. You're safe.
Most stores skip this math and just apply blanket 30% discounts across the board. They're essentially discounting their way to lower profit on purpose.
Action: Calculate your contribution margin for each product category right now. Don't guess.
Step 2: Tier Your Discounts by Product Margin
Not every product should get the same discount.
High-margin products can absorb deeper discounts and still hit your profit floor. Low-margin products need lighter discounts or exclusions entirely.
Create three tiers:
Tier 1 (High Margin, 35%+ contribution margin): Deep discounts (25-40% off)
- These drive traffic and AOV
- They're your loss leaders, but they're designed loss leaders
- Examples: private label products, bestsellers with built-in margins
Tier 2 (Medium Margin, 20-35% contribution margin): Moderate discounts (10-20% off)
- These maintain profitability while still feeling competitive
- Most of your catalog lives here
- Customers still feel the value
Tier 3 (Low Margin, <20% contribution margin): Light or no discount (0-10% off)
- Bundle these with Tier 1 products instead of discounting
- Or exclude from BFCM entirely
- Protect your floor at all costs
This creates a strategic discount architecture instead of a blanket discount.
Action: Map your top 50 SKUs to tiers by contribution margin. Decide discount by tier, not SKU.
Track this automatically
Shopimize shows your real profit per order, per product, per channel.
Try Shopimize free →Step 3: Budget Ads with Profit Targets, Not ROAS Targets
Here's where most stores go wrong: they use ROAS (Return on Ad Spend) to measure success.
ROAS only looks at revenue divided by ad spend. It ignores margin completely.
You could have a 2.0x ROAS during BFCM and still lose money. (You spend $8,750 in ads on $50K revenue = 5.75x ROAS, but your profit is $2,550—so you're paying $3.43 for every $1 of profit.)
Instead, use profit ROAS: (Profit / Ad Spend)
In the example above: $2,550 / $8,750 = 0.29x profit ROAS. You're losing $0.71 on every $1 spent on ads.
Set a minimum acceptable profit ROAS before BFCM. For most e-commerce, anything under 0.5x (you need $2+ profit for every $1 spent on ads) should be paused.
Work backward from there:
- Target profit ROAS: 0.5x
- Target daily profit: $1,000
- Required ad budget: $2,000
That's your cap. When your cost per acquisition (CPA) creeps above the point where profit ROAS drops below 0.5x, you pause.
This feels scary because "everyone's else is spending $5K+ on ads." But you're not trying to win BFCM by outspending everyone—you're winning by being profitable while they break even.
Action: Calculate your current profit ROAS outside BFCM. Set a minimum threshold. Build your BFCM ad budget backward from that threshold, not forward from "what can we spend?"
Step 4: Prepare for Returns in Your Forecast
Most stores forecast BFCM returns as a simple percentage bump.
"Returns usually run 10%; BFCM will be 15%."
But return rates don't just increase during BFCM—they increase on top of already-higher volume. And they eat profit in multiple ways.
Explicit losses from returns:
- Restocking/restock fees: 5-15% of COGS
- Shipping paid by you: $5-$15 per return
- Handling labor: $1-$3 per return
Hidden losses:
- Clearance/discount needed to resell: 10-20% markdown
- Liquidation if unsellable: 50%+ loss
- Fraud and abuse during high-volume chaos: 2-3% of sales
Build a returns profit model:
If a $60 product gets returned:
- You pay $8 return shipping
- You pay $5 restock fee
- You discount it 15% to $51 to resell
- You lose: ($60 - $51) = $9 gross loss
- Total loss: ~$22
That's a $22 hit on a single return. If your product normally generates $36 gross profit, you've erased over half the profit from one return.
Action: Model worst-case return scenarios. If returns hit 30% (not uncommon for aggressive discounts), what's your breakeven on that SKU? If it breaks even or goes negative, exclude it from BFCM or offer no discount.
Step 5: Track Profit Daily During BFCM, Not Just Revenue
The week of BFCM is not the time to discover your margins are wrong. You need real-time visibility.

Set up a simple BFCM dashboard:
- Daily Revenue: What it is
- Daily COGS: Actual shipped COGS, not estimated
- Daily Ad Spend: By channel
- Daily Returns: Units returned, and the profit impact
- Running Profit: Revenue - COGS - fulfillment - ad spend - returns loss
- Profit Margin %: Running profit / revenue
- Profit per Order: Total profit / total orders
Check this dashboard at 9 AM every day of BFCM week.
If revenue is $50K but profit margin is dropping below 10%, you need to pause or pause certain campaigns, not double down. Most stores don't realize they've gone negative until reconciliation after the week ends.
If you're using Shopimize (hint), you can see contribution margin on every single order in real time, adjust as needed.
Action: Build a simple Google Sheet or analytics dashboard right now, before BFCM, so you can populate it hourly, not weekly.
Pre-BFCM Profit Checklist
Don't go into BFCM unprepared. Run through this checklist in October:
- [ ] Contribution margin calculated for all SKUs and product categories
- [ ] Discount tiers assigned (Tier 1, 2, 3) to every product
- [ ] Profit floor confirmed with exec team (never discount below it)
- [ ] Ad budget capped based on minimum acceptable profit ROAS (not open-ended)
- [ ] Return rate scenario modeled (what's the worst case? 30%? 35%?)
- [ ] 3PL and fulfillment pricing confirmed for BFCM peak rates
- [ ] Dashboard template created for real-time profit tracking
- [ ] Team trained on profit vs revenue KPIs (marketing, fulfillment, exec)
- [ ] Customer service prepped for high return volume
- [ ] Inventory buffer allocated for returns and restocks
BFCM P&L Comparison: Normal Week vs. BFCM
Here's a realistic side-by-side. Use this to forecast your own:
| P&L Line | Normal Week | BFCM Week | Variance |
|---|---|---|---|
| Revenue | $15,000 | $50,000 | +233% |
| COGS (pre-discount) | ($6,000) | ($14,000) | -233% |
| Discount Impact | — | ($10,500) | ($10,500) |
| Gross Profit | $9,000 | $25,500 | +183% |
| Gross Margin % | 60% | 51% | -9pp |
| Ad Spend | ($2,000) | ($8,750) | -$6,750 |
| Fulfillment | ($1,500) | ($3,000) | -$1,500 |
| Payment Processing | ($450) | ($1,500) | -$1,050 |
| Returns & Restocking | ($450) | ($1,875) | -$1,425 |
| Other OpEx | ($400) | ($400) | — |
| Net Profit | $4,200 | $8,975 | +$4,775 |
| Net Margin % | 28% | 18% | -10pp |
Notice: Revenue is up 233%, but profit margin is down 10 percentage points. That's normal and healthy, if you've planned for it.
The trap is when stores hit similar revenue gains but lower absolute profit, or negative margins. That means the discount tier strategy, ad budget cap, and returns planning failed.
FAQ
Q: Should we exclude low-margin products from BFCM entirely?
A: Sometimes, yes. If a product's contribution margin during BFCM (accounting for peak fulfillment, returns, etc.) is below 15%, consider excluding it from discounts. You can still offer it at full price; you're just not discounting it. Alternatively, bundle it with a high-margin product at a bundle discount instead.
Q: What if our competitors are discounting deeper than our tiers allow?
A: Your competitor's probably not profitable on BFCM either. They're just better at hiding it. Stick to your profit floor. If you lose some revenue because your discount isn't aggressive enough, you've still made more profit. And you'll still be in business in January when they're clawing their way out of negative margin.
Q: How do we explain to the CEO that we're capping ad spend?
A: Show them profit ROAS, not ROAS. Show them that beyond a certain ad spend threshold, every additional dollar goes to Google, not to your bottom line. Then show them the profit forecast with ad spend capped vs. uncapped. The capped version wins.
Q: When should we start planning BFCM margin strategy?
A: October. Not November. You need time to audit SKUs, calculate margins, model returns, and prepare your team. If you're planning in late October, you're behind.
The Bottom Line
Black Friday doesn't have to be your margin killer. Most stores treat BFCM like a volume race—the race to the bottom. The smarter move is to treat it like a profit event.

Set a profit floor. Tier your discounts. Cap your ad spend. Plan your returns. Track daily.
Your revenue will be big. Your profit will be bigger.
Ready to Stop Guessing About BFCM Profit?
Want to track your BFCM profit in real time—not just revenue? Try Shopimize free and see what you're actually making this Black Friday. No credit card. No setup. Just real profit visibility when you need it most.
