Skip to content

Core Web Vitals

Core Web Vitals (CWV) are Google’s three “official” user-experience metrics:

  • LCP (Largest Contentful Paint) - how long the largest visible element takes to render. Threshold: 2.5s. The “does this feel fast” metric.
  • INP (Interaction to Next Paint) - lag between a user input and the next visible response. Threshold: 200ms. Replaced FID in March 2024.
  • CLS (Cumulative Layout Shift) - how much the page jumps around after load. Threshold: 0.1. The “I tried to click that and it moved” metric.

CWV are both a ranking signal in search and a direct conversion lever. The SEO angle is real but overstated - it’s a tiebreaker, not a dominant factor. The conversion impact is where the real value is. Every 100ms of LCP improvement measurably moves revenue on transactional sites.

CWV come in two flavours, and they often disagree:

  • Field data (CrUX) - real Chrome users, measured at the 75th percentile of actual page loads. This is what Google ranks on. Surfaced via PageSpeed Insights and Search Console.
  • Lab data (Lighthouse) - synthetic measurement on a simulated device and network. Useful for debugging, not for measuring success. Lab scores can look great while field data says you’re failing.

When they disagree, trust CrUX. Lab data is for diagnosis. Field data is the truth.

The Shopify-specific story: most stores pass CWV on desktop and fail on mobile. Mobile is 70-80% of traffic, so the mobile scores are the ones that move revenue. Common culprits:

  • Hero images without preload, in the wrong format, or oversized
  • Third-party apps injecting scripts and DOM nodes after load (review widgets, popups, support chat)
  • Web fonts causing late text shifts (the FOIT-FOUT problem)
  • Carousels and sliders causing CLS as they initialise

Each one is fixable in isolation. Performance debt compounds across them all, which is why this is one of the places where technical debt becomes a CRO problem.

  • Optimising Lighthouse scores instead of field data. The lab score climbs, the user experience doesn’t change.
  • Treating CWV as a pure SEO concern. The ranking impact is a tiebreaker. The conversion impact is the prize.
  • Ignoring mobile. Desktop scores look great, mobile scores tank, mobile is the audience.
  • Snapshot thinking. CWV change as you add features, scripts, and third-party widgets. A page that passed last month can fail this month without anything intentional changing.
  • Conflating CWV with all of performance. TTFB, TBT, and total page weight all matter and aren’t in the CWV set. Optimise the three and you can still ship a slow site.