96 hours worth a quarter
Over Black Friday Cyber Monday 2025, Shopify processed more than $4.1 billion in sales in a single weekend. For a mid-market French e-commerce site, BFCM often represents 15 to 25% of annual revenue, squeezed into 96 hours.
Revenue per minute during the peak is 5 to 10 times higher than on a normal day. So every technical anomaly (dead pixel, slow page, undetected stockout) costs 5 to 10 times more than usual.
And yet 97% of retailers pay for clicks on out-of-stock products during BFCM (source: Feedonomics). Technical preparation is Black Friday's neglected step.
What Shopify does that you don't
Shopify invests weeks in chaos engineering before every BFCM: load simulations, failure tests, degradation scenarios. They deliberately break their own infrastructure to make sure it holds.
You don't have Shopify's resources. But you can apply the same logic to your measurement and performance layer: check ahead of time that everything that needs to work does, and set up alerts to detect within minutes whatever breaks during the peak.
The mobile factor
81% of BFCM traffic is mobile (source: Salesforce Commerce Cloud). On mobile, degraded performance hits conversion rate directly:
- LCP > 2.5 s on mobile → -7% conversions per extra second
- A checkout that loads in 5 s instead of 2 s → +35% abandonment
- A product page that shows the "Add to cart" button after 3 s → the visitor has already scrolled past
During BFCM, your servers are under load. CDNs saturate. Third-party scripts (CMP, chat, pixels) slow down. Performance degrades exactly when it matters most.
The week-by-week checklist
Here is the technical preparation over 8 weeks. Each line can prevent thousands of euros in losses on the big day.
| Week | Category | Action | Risk if ignored |
|---|---|---|---|
| W-8 | Tracking | Audit every pixel (Meta, GA4, TikTok): check that they fire on all key pages | Dead pixel during the peak = paid budget wasted |
| W-8 | Tracking | Validate the amounts sent by the purchase event (no zeros, no missing currency) | Smart Bidding optimizes on noise during BFCM |
| W-7 | GTM | Audit the GTM container: remove obsolete tags, check triggers | Conflicting tags = corrupted data under load |
| W-6 | Performance | Measure mobile LCP on your 10 most visited product pages | Slow page = -7% conversions per second |
| W-6 | Performance | Load-test the checkout at 3x normal traffic | Slow checkout = mass abandonment |
| W-5 | Feeds | Check how often Merchant Center / Meta Catalog feeds update | Out-of-stock products shown in ads |
| W-5 | Feeds | Set up rules to automatically exclude OOS products from campaigns | Paid clicks on pages that cannot convert |
| W-4 | CMP | Check that Consent Mode V2 is configured correctly and that the CMP sends the right signals | Invisible conversions = unoptimized bidding |
| W-4 | Alerts | Configure alert thresholds for the peak (BFCM thresholds ≠ normal thresholds) | Too sensitive → noise, too loose → nothing detected |
| W-3 | Fallbacks | Prepare redirect pages for products likely to go out of stock | 404 or out-of-stock page = wasted paid click |
| W-3 | Fallbacks | Create campaign variants ready to switch on if a channel underperforms | Faster reaction on the big day |
| W-2 | Tests | Simulate a full purchase journey on mobile, from ad click to confirmation email | Bugs found in production = lost revenue |
| W-2 | Tests | Check SEO and paid redirects: no campaign URL should lead to a 404 | Budget wasted on dead pages |
| W-1 | Monitoring | Turn on reinforced monitoring: checks every 5 min on every signal | Detection in 72h instead of 5 min = the peak is over |
| W-1 | Team | Set up the on-call rota: who watches the alerts over the BFCM weekend | Alert received but nobody reacts |
| Day 0 | Execution | Real-time dashboard open, alerts on Slack/email, response thresholds defined | Reaction in hours instead of minutes |
The cost of one minute without monitoring
Take a site with €80,000 in daily revenue on a normal day and a BFCM peak of €400,000 a day.
| Anomaly | Impact/hour (normal day) | Impact/hour (BFCM) | Detection time without monitoring |
|---|---|---|---|
| Dead Meta pixel | €69/h | €347/h | 72 h on average |
| Checkout purchase at €0 | Degraded bidding | Degraded bidding ×5 | 24-48 h |
| LCP > 4 s on mobile | -7% conversions | -7% on traffic ×5 | Rarely detected |
| 50 sponsored OOS products | €42/h | €212/h | Monday morning |
During BFCM, the cost of every minute of dead pixel, slow page or sponsored stockout is multiplied by 5 to 10. And detection time without a dedicated tool stays the same: 24 to 72 hours. Except that during BFCM, 72 hours = the peak is over.
Korvus as your BFCM safety net
Korvus monitors the 4 types of anomaly that cost the most during BFCM:
- pixel_dead: detects within minutes when a conversion pixel stops firing on paid traffic
- checkout_zero: alerts when the purchase event reports a zero amount
- perf_drop: flags when LCP exceeds thresholds on mobile paid traffic
- sponsored_oos: identifies paid clicks landing on out-of-stock pages
Every alert comes as a figure in lost euros instead of a technical metric, so the CMO knows immediately what is bleeding and how much.
The fatal mistake: preparing the day before
Most online retailers start their BFCM technical preparation one week ahead. That's too late. A pixel audit takes 2-3 days. Performance optimization takes 2-4 weeks. Setting up monitoring requires a learning period (7 days minimum to establish baselines).
Starting 8 weeks out is the only way to reach Black Friday with a tech stack that holds up under the peak, and with alerts that detect within minutes what would otherwise break silently.
Key points
- BFCM squeezes 15 to 25% of annual revenue into 96 hours, so every minute of anomaly costs 5-10x more
- 81% of traffic is mobile, which makes performance the number one conversion factor
- 97% of retailers pay for clicks on out-of-stock products during the peak
- Preparation starts 8 weeks ahead, not 1 week
- Real-time monitoring is the only way to detect anomalies before the peak is over