Black Friday Checkout Leaks: 7 Fixes to Ship Now
Black Friday is on 27 November 2026. Cyber Monday is on 30 November. That leaves you 24 days from today, and three weeks is too short to A/B test your way to a better store.
So don't. Fix leaks instead.
This is a diagnostic checklist, not a case study. It covers seven places where Shopify stores lose Black Friday shoppers between the ad click and the "thank you" page: the landing page, the price on screen, store speed, the cart, the checkout, the discount code and the sold-out message. Every leak comes with the symptom, a 10-minute check, the fix and how to prove it worked. Every fix is a theme tweak, an app setting or a copy change. Nothing needs a rebuild.
One note on numbers. The checkout figures below are third-party data (Baymard, Shopify, Google's web.dev), and I tell you where each one comes from. The ship schedule and the order of the fixes are my judgment, not a statistic.
Why fix instead of test
Some Black Friday guides tell you to launch tests by late October, call winners mid-November and freeze the code around 17 November. That is a sound program if you have the traffic. Most DTC stores don't. A test that has to reach a clear winner on a few hundred orders a week needs more time than you have left.
Leaks are different. A leak is not a hypothesis about what might convert better. It is something that is broken or confusing for everyone: a price that changes between pages, a total that appears too late, a payment method that fails on a phone. You don't need a split test to know that fixing it is right. You need a check, a fix and a real order to prove it.
The schedule at the bottom of this post gives you a freeze on 21 November. Ship everything before that. After that, you only change content, not code.
The 7 leaks at a glance
| # | Leak | Quick check | Fix | Effort |
|---|---|---|---|---|
| 1 | The offer changes between ad, page and checkout | Click your own ad on a phone, screenshot every step | One price, one promise, from ad to checkout | 1 to 3 hours |
| 2 | The sale stack makes the store slow | Run PageSpeed Insights with all sale apps on | Remove or delay everything non-essential | 2 to 4 hours |
| 3 | The total cost shows up too late | Add to cart as a guest, note where shipping first appears | Free-shipping bar, shipping line in the cart | 1 to 2 hours |
| 4 | Checkout fails on a path you never walk | Place real orders per market, method and code | Fix what breaks, put wallets first | 2 to 4 hours |
| 5 | Discount codes behave in surprising ways | Stack, split and mistype your own codes | Automatic discounts, clear rules | 1 to 3 hours |
| 6 | Trust and returns wording is hidden | Find your returns policy from the cart in under 10 seconds | Plain wording at the buy button | 1 hour |
| 7 | Sold-out options and cart clutter | Open a sold-out size and the cart drawer on a phone | Honest stock states, one upsell | 1 to 3 hours |
If you only have time for three, do leaks 1, 3 and 4. They sit closest to the money.
Before you start, run the numbers: if you don't know which funnel stage is worst, spend ten minutes with our Shopify funnel diagnosis first. It shows you whether your problem sits on the product page, in the cart or in checkout. Fix the worst stage first.
One example of why that matters. A premium fashion brand sent us a week of numbers: 2,338 sessions, 122 add-to-carts, 13 reached checkouts and 0 orders. The add-to-cart rate was a healthy 5.2%. Only 11% of carts reached checkout, against a typical 40 to 60%. The store was losing buyers at one exact step, and it had been for months. That is not a Black Friday story. It is a funnel leak story, and Black Friday multiplies every leak you have by the traffic you are about to pay for.
Leak 1: The price changes between ad, page and checkout
Symptom: High click-through rate, decent add-to-cart rate, then people drop at checkout. Or the reverse: the ad promises one thing and the landing page opens with another.
Check (10 minutes): On your phone, click your own Black Friday ad. Take a screenshot at each step: the landing page, the product page, the cart and the first checkout screen. Lay the four screenshots side by side. Ask three questions. Is the discount visible at every step? Is the price the same at every step? Does the headline on the landing page repeat the promise from the ad?
Merchants report on the Shopify community forums that a sitewide discount only shows up at checkout, because the discount is a code or an automatic discount without a visible sale price on the product pages. The shopper sees full price, adds to cart, and only sees the deal at the very end. Some leave before that. I couldn't verify individual cases, so treat this as a pattern worth checking, not a statistic.
Fix:
- Put the offer in one sentence above the fold on the landing page, using the same words as the ad.
- Show the sale price on product pages and collection cards (a compare-at price does this in Shopify). Don't make people take your word for it until checkout.
- Check the full path again after every discount change.
Keep the price wording rules for "was/now" prices out of the design phase and in your legal check. In the EU, how you show a previous price is regulated, and that is a question for your lawyer, not for this post.
Test: Repeat the four screenshots on a second phone and in a private browser window. If the story is the same in all of them, the leak is closed. For more on what a product page needs to carry the sale, see the PDP conversion playbook.
Leak 2: The sale stack is heavier than your store
Symptom: The store feels fine on your office wifi and sluggish on a phone. Black Friday adds a countdown timer, a popup, a bundle widget, a review carousel and a new tracking pixel, all at once.
Check (10 minutes): Open PageSpeed Insights for your landing page and one product page, with all your sale apps switched on. Look at the mobile result. Google's web.dev defines "good" as a Largest Contentful Paint of 2.5 seconds or less, an Interaction to Next Paint of 200 milliseconds or less and a Cumulative Layout Shift of 0.1 or less, measured at the 75th percentile of page loads. Compare your numbers to those three lines.
Here is the part that matters for Black Friday. Shopify's own numbers show that the platform handled $14.6 billion in sales over Black Friday Cyber Monday 2025, with sales peaking at $5.1 million per minute on Black Friday. The platform scaled. My read, and it is an inference, not a measurement: if your store is slow during the sale, the weak link is more likely your theme and your apps than Shopify's servers.
Fix:
- Remove every app you added "just for the sale" that doesn't directly help a buyer pay. A spinning wheel is not a checkout feature.
- Delay non-essential scripts, such as chat widgets and popups, until after the first interaction. Most good apps have a setting for this.
- Compress the hero image and any video on the landing page. A background video on a mobile sale page is a bet you probably don't want to place.
- Keep one countdown, if any, and make it a real deadline. A fake timer is a trust problem, not a conversion tool.
Test: Run PageSpeed again after each removal, and write the mobile score in a note. You want to see it go up or stay flat. If it drops after you added something, take that something out.
Leak 3: The total cost shows up too late
Symptom: Strong add-to-cart rate, weak cart-to-checkout rate. In the cart, shoppers see a subtotal and nothing else.
Check (10 minutes): Add an item as a guest. Write down the exact screen where the shipping cost first appears, and the exact screen where the delivery time first appears. If the answer is "checkout," you have the leak.
Baymard Institute's list of cart abandonment reasons, which excludes people who were just browsing, is blunt about this. 40% of those shoppers said extra costs were too high (shipping, tax, fees). 12% said they couldn't see or calculate the total order cost up front, and 20% said delivery was too slow. Baymard's list gives the average cart abandonment rate as 70.22%, across 50 studies. The page doesn't state the year or sample size of the reasons survey, so treat the exact percentages as a guide, not a law.
Fix:
- Add a free-shipping progress bar to the cart or cart drawer, based on a threshold you can afford during the sale.
- Show a shipping line or an estimate in the cart, so the first time a shopper sees the cost is not the last step.
- Write the delivery promise as one plain sentence near the buy button and in the cart, such as "Ships in 2 working days." Only promise what your warehouse can keep during peak.
Test: Run the guest path again. The shipping cost and the delivery time should both be visible before the first checkout screen. Then check your cart-to-checkout rate for the next three days against your pre-sale baseline.
Leak 4: Checkout fails on a path you never walk
Symptom: Orders look fine in the Shopify admin, but the checkout completion rate is lower than usual and you can't say why.
Check (30 minutes, the longest of the seven): Our funnel diagnosis already tells you to place one real test order on your phone. For Black Friday, you need more than one. Build a small test matrix and place a real order for each row you can afford:
- Your main market, in the main currency, with a normal card.
- Each other market you sell to, in its currency.
- With a discount code, and without.
- As a guest, and as a returning customer with a Shop Pay account.
- With each wallet you offer.
Why the Shop Pay row? A Shopify community thread reports a case where checkout showed Shop Pay as the only visible payment option for customers with accounts, and removing it brought conversion back. I couldn't verify the details of that thread, so treat it as one merchant's report, not a rule. The test is cheap, though, and it is exactly the kind of failure that only shows up on a path you never walk.
Baymard's list shows what is at stake. 17% of non-browsing abandoners cited website errors or crashes, 10% a declined credit card and 9% not enough payment methods. 18% said the site wanted them to create an account.
On wallets: Shopify reported that 32% of BFCM 2025 orders used Shop Pay, and that sales made via Shop Pay rose 39% year over year. Wallet checkouts are not a nice-to-have in peak season.
Fix:
- Turn on every wallet you can support, and make sure guest checkout is open.
- Check which payment methods your own customers use in each market, in your order data. Do that before you add anything. For a Danish store, for example, Vipps MobilePay's own documentation says it has no Express checkout solution for Shopify, due to limitations on Shopify's side. That means a MobilePay button can't replace your wallets there. Look at your own orders to see what your shoppers actually use.
- Fix anything the test orders break, before anything else on this list.
Test: Rerun the whole matrix after your last change. A real order that completes is the only proof that counts.
Leak 5: Discount codes behave in surprising ways
Symptom: Support emails saying "the code doesn't work," or a code that works for some shoppers and not others.
Check (15 minutes): Test your own codes the way a shopper would. Type the code with a capital letter. Type it with a trailing space. Use it on a sale item and a full-price item. Combine it with a free-shipping threshold. Stack it with a second code if you have one. Check it in each market. Note every combination that behaves differently from what your banner says.
Some forum posts report stores where the free-shipping threshold in the cart didn't match what checkout charged, or where overlapping codes confused shoppers. I couldn't verify those cases, but the lesson is simple: whatever your banner promises, checkout has to deliver.
Fix:
- Use automatic discounts where you can, so shoppers don't need to find, copy and paste anything. Fewer steps, fewer typos.
- If you need a code for tracking or a partner, give it one clear rule: one code, one effect, no stacking surprises.
- Put the rule on the page in a short sentence: "Discount applied automatically at checkout, no code needed."
- For the wording of "was/now" prices, go back to your legal check from leak 1.
Test: Run your code matrix again, in a private window, on a phone. Every row should do what the banner says.
Leak 6: Trust and returns wording is hidden
Symptom: Shoppers reach the cart or checkout, then leave without a visible reason. Your returns page is excellent, but nobody reads it.
Check (5 minutes): Start on your cart and try to find your returns policy and your payment security note. If it takes more than 10 seconds, shoppers won't find them either.
Baymard's list again: 19% of non-browsing abandoners said they didn't trust the site with their credit card information, and 13% said the returns policy was unsatisfactory. Those are lower than extra costs, but they are cheap to fix.
Fix:
- Put a one-line returns statement next to the buy button and in the cart. Plain words: "30-day returns, free for exchanges" (or whatever your policy actually is).
- Show the payment badges and, if you have one, a trust seal in the cart and at checkout.
- If you tighten returns during the sale, say so in the same plain words at the same places. A policy shoppers discover at the end is a trust problem.
- This is not legal advice. Returns, withdrawal rights and sale conditions are regulated in the EU and differ by country, so check your wording against the rules of every market you sell to.
Test: Ask someone who has never seen your store to find the returns policy from the cart. Time them.
Leak 7: Sold-out options and cart clutter
Symptom: Shoppers add something to the cart and then hit a dead end: a size that shows as available and isn't, or a cart drawer so full of offers that the checkout button is below the fold.
Check (10 minutes): Open your three best-selling products on a phone. Click through every size and color. Does a sold-out option look sold out? Can a shopper leave an email for a restock? Then open the cart drawer with one item in it. Where is the checkout button?
If your product has more than one stock location, also check that the product page reflects the real total stock across locations. A forum report I found describes orders failing when the nearest location was out of stock even though other locations had units. That is anecdotal, but it is worth one test order.
Fix:
- Mark sold-out options clearly and offer a back-in-stock signup. During a sale this turns a lost sale into a list entry.
- Cap the cart drawer at one upsell, and keep the checkout button visible without scrolling. Our breakdown of cart drawer vs cart page shows how to lay one out.
- Remove "you might also like" carousels from the cart for the sale period.
Test: On a phone, add one item and take a screenshot of the cart drawer. The checkout button should be in the picture.
The ship schedule: 3 to 20 November
You have 3 to 20 November before a sensible freeze. Use that window like this.
| Dates | Do this |
|---|---|
| 3 to 5 November | Run all seven checks. Write down every failure. Screenshots count as notes. |
| 6 to 9 November | Fix leaks 1, 3 and 4. Place a real order after each change. |
| 10 to 13 November | Fix leaks 2 and 5. Run PageSpeed again with every sale app on. |
| 14 to 17 November | Fix leaks 6 and 7. Final test matrix on a phone. |
| 18 to 20 November | Buffer. Rerun the funnel numbers and fix whatever is still off. |
| 21 November | Freeze. Content changes only, no code and no new apps. |
One change a day is a good rule. When something breaks, you know which change did it. Nothing here needs a new theme. If a fix would take longer than two days, put it on the January list. A rushed fix on a high-traffic week costs more than the leak.
Key takeaways
- With 24 days left, fix leaks instead of running A/B tests. A leak is broken or confusing for everyone.
- The price, the promise and the discount must be the same at every step from the ad to checkout.
- 40% of non-browsing abandoners cited extra costs in Baymard's list, and 12% couldn't see the total up front. Show shipping and delivery before checkout.
- Test the checkout with real orders per market, method and discount code, not one order on one phone.
- Your store's speed under the sale stack is probably a bigger risk than Shopify's capacity. Remove what a buyer doesn't need.
- Put returns and payment trust wording next to the buy button, and check the legal side per market.
- Freeze code on 21 November. After that, only change content.
FAQ
What is a good Black Friday conversion rate for Shopify?
There is no single reliable number, and I wouldn't trust any one source that gives you one. Compare yourself to your own baseline instead: your funnel rates from the last 30 days, split by stage. If you want healthy ranges per stage, see our funnel diagnosis.
How do I optimize my Shopify checkout for Black Friday?
Start with real test orders on a phone, per market, payment method and discount code. Then show shipping and delivery before checkout, put wallets such as Shop Pay first, keep guest checkout open and remove anything that slows the page. Fix errors before you polish anything.
Should I A/B test during Black Friday?
At small and mid-size DTC volumes, usually no. You rarely reach a clear winner in the time you have, and a test running through peak traffic adds risk. Fix known leaks before the freeze and test again in January with a full month of data.
When should I freeze my Shopify store before Black Friday?
I suggest 21 November for code changes, six days before Black Friday. Some agencies freeze around 17 November. Pick a date, tell your team and keep it. After the freeze, only change content, such as banners and email copy.
Why is my Shopify conversion rate lower on Black Friday?
Part of it is probably who is visiting: sale-day traffic tends to include more shoppers comparing deals. Part of it can be leaks the extra traffic exposes: slow pages, a late shipping cost, a failing payment method. Check the seven leaks above to separate the two.
Ready to Scale Profitably?
Book your free discovery call and let us map out the next growth moves for your e-commerce brand.
