Core Web Vitals Checklist Before a Shopify Sale
A sale doesn't just bring more traffic — it brings different traffic. People arrive in bursts, on older phones, on patchy mobile connections, and they all hit the same handful of pages at once. If your Shopify store is already borderline on Core Web Vitals, that spike is when it tips over: the product page crawls, the cart feels sticky, and conversion drops exactly when you need it most.
This is a pre-flight checklist for the week before a sale. It focuses on the three Core Web Vitals — Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) — plus the page-speed issues that get worse under load.
Why sales break page speed
Most speed testing happens on a quiet site. That's misleading. During a sale you're layering on:
- More concurrent shoppers hitting the same product and collection pages.
- Third-party scripts — countdown timers, chat widgets, review popups, analytics — all firing at once.
- Heavier pages — bigger hero banners, sale badges, more product tiles per collection.
- Mobile-heavy traffic from social and email campaigns, often on slower devices.
None of these are new problems, but a sale amplifies them. The goal of this checklist isn't a perfect score — it's making sure the pages that take money stay fast when it matters.
Two weeks out: measure the right pages
Before you change anything, get a baseline on the pages a sale actually sends people to.
- Product pages for your top sellers and any discounted hero items.
- Collection pages that your ads and emails link to.
- Cart and checkout entry — the step where a slow response costs you the order.
- The homepage, if your campaign points there.
Test each one on mobile, not desktop. If you want a prioritized list rather than a raw score, run a free audit so you're fixing the issues that actually affect those pages instead of chasing a number.
One week out: the LCP checklist
LCP measures how long until the largest visible element — usually a hero image or product photo — finishes rendering. The documented "good" threshold is 2.5 seconds or less.
- Check the hero image size. Sale banners are often uploaded at print resolution and served at full width. Resize before upload rather than relying on the theme to scale it down.
- Don't lazy-load the hero. Lazy loading below-the-fold images is good practice; lazy loading the main image above the fold delays LCP. Make sure your theme loads the hero eagerly.
- Preload the LCP image if your theme supports it, so the browser fetches it early instead of discovering it late.
- Cut render-blocking resources in the head. Extra fonts, icon libraries, and app-injected stylesheets all push the hero image later.
- Trim the font list. Every extra weight and style is another file to download before text paints.
One week out: the INP checklist
Interaction to Next Paint replaced First Input Delay as a Core Web Vital. It measures how responsive the page feels across all interactions, not just the first tap. The "good" threshold is 200 milliseconds or less.
- Audit your apps. Countdown timers, spin-to-win popups, and chat widgets are the usual INP offenders during sales because they run constantly in the background.
- Remove apps you're not using for this sale. Disable, don't just hide — a disabled app usually stops injecting scripts.
- Watch your review and upsell widgets. If they run heavy JavaScript on every product page, they'll slow every tap.
- Test real interactions, not just page load: open a variant dropdown, add to cart, open the mobile menu. Those are the taps that matter.
One week out: the CLS checklist
Cumulative Layout Shift measures how much the page jumps around while loading. A sale banner that pushes the Add to Cart button down as it loads is a classic cause of mis-taps and abandoned carts.
- Reserve space for banners and badges. Set explicit height and width on images and promo bars so nothing shifts when they load.
- Reserve space for the announcement bar. Sale countdowns and free-shipping bars are frequent culprits.
- Don't inject content above the fold after load — cookie banners, email popups, and chat bubbles should not push the page down.
- Check the cart drawer. A drawer that resizes as line items load can shift the whole page.
The final 48 hours
- Test on a real mid-range phone, not just a desktop emulator. Throttle the connection if you can.
- Re-check after every app change. One new app can undo a week of fixes.
- Confirm your CDN and image settings are still active — a theme update can quietly reset them.
- Have a rollback plan. If a change makes things worse, you want to revert it fast, not debug during the sale.
What to do if you can't fix everything
You won't get to a perfect score in a week, and you don't need to. Prioritize by revenue impact:
- Checkout and cart first. A slow cart costs orders directly.
- Top-selling product pages second. These get the most traffic.
- Collection and homepage third. Important, but usually less decisive.
If you only have time for one thing, make sure your hero images are correctly sized and not lazy-loaded. That single fix often moves LCP more than anything else on a Shopify product page.
For a broader walkthrough of speed fundamentals, the guides library covers image optimization, INP, and the rest of the Core Web Vitals in more depth. And if you'd rather see exactly which pages are dragging before your sale goes live, run a free audit and work down the list from the top.
A sale is a stress test. Run the checklist now, while you can still fix things calmly — not at 9 a.m. on launch day when the orders should be coming in.
More guides · Compare audit tools · Run a free website audit