$2.3 Million Lost in 72 Hours
This is a real story. Names changed, but the numbers are accurate.
A mid-size DTC furniture brand ran a Presidents' Day sale in February 2025. They'd promoted it for two weeks across Meta, Google, and email. Traffic was projected at 4x their normal daily volume. The sale launched on a Friday morning.
By Friday afternoon, their checkout was silently failing for about 40% of mobile users. The page loaded. Products appeared in the cart. But the "Place Order" button triggered a payment processing error that showed a generic "Something went wrong" message. No error code. No guidance. Customers tried once, maybe twice, then left.
The team didn't catch it until Sunday evening. By then, a broken checkout cost millions in lost revenue. Their actual losses were $2.3 million across the three-day sale window.
How Something This Big Goes Unnoticed
You're probably wondering: how does a team miss 40% of checkouts failing for three days?
The answer is simpler than you'd think. Their revenue was still coming in. The 60% of users who weren't affected (mostly desktop users and certain Android devices) were converting at a healthy rate. Total revenue was up compared to a normal weekend. The team assumed the sale was working, just performing "below expectations."
They'd set a $4 million target. When they hit $1.7 million by Saturday, they blamed the creative. They blamed the offer. They discussed whether the market was soft for furniture. Nobody opened the checkout on a mobile phone and tried to buy something.
This is the blind spot. When revenue exists but underperforms, teams look everywhere except the technical infrastructure. A broken checkout cost millions here because the checkout wasn't completely dead. It was partially broken, which is harder to detect and arguably more dangerous.
The Root Cause Was a 4-Line Code Change
The payment processing error traced back to a Stripe integration update their dev team had pushed two days before the sale. Four lines of JavaScript. The update handled a new Stripe API parameter that wasn't compatible with their mobile checkout layout. It worked on desktop because the layout rendered the payment form differently.
No one tested on mobile after the deploy. The staging environment didn't have the same Stripe configuration as production. The automated tests only checked if the page loaded, not whether the payment flow completed.
What Would Have Caught This
Actual checkout monitoring. Not uptime checks. Not page load checks. A system that opens the store, adds a product to the cart, enters payment details, and confirms the order completes successfully.
We've since set up FunnelLeaks on this client's store. It runs a simulated checkout every hour on both mobile and desktop configurations. When the checkout breaks, the alert fires within 60 minutes. Not 72 hours.
The cost of monitoring is roughly $150-300 per month depending on check frequency. The cost of missing a broken checkout during a major sale? We've now seen firsthand that a broken checkout cost millions.
Check Your Checkout Right Now
Open your store on your phone. Add your most popular product to the cart. Go through the entire checkout flow. Enter a test payment. Complete the purchase.
If anything feels off, fix it today. If everything works, set up monitoring so you'll know the minute it stops working. Because it will stop working at some point. The only question is whether you'll catch it in minutes or days.
Get FunnelLeaks monitoring set up before your next big campaign. The furniture brand wished they had.
