July 27, 2026 · StartupQuickstart
Core Web Vitals for founders: what actually moves the needle
LCP, INP, and CLS in operator terms: why the thresholds matter for rankings and conversion, the four causes behind most failures, and how to check your real scores in five minutes.
Somewhere in your inbox there is probably a report saying your website “fails Core Web Vitals,” attached to a redesign proposal. Before you sign anything, it’s worth twenty minutes understanding what the three numbers actually measure, because the causes are usually narrower — and cheaper to fix — than the pitch implies.
Core Web Vitals are Google’s three user-experience scores, computed from real Chrome visitors to your site over the trailing 28 days. Each page passes or fails, and Google grades at the 75th percentile of visits — meaning your score is set by the slower phones on hotel Wi-Fi, not by your MacBook on fiber.
What each number means to a visitor
- LCP (Largest Contentful Paint) — how long until the biggest element on the screen, usually your hero image or headline, is actually visible. This is the “is this site even working?” moment. Passing: 2.5 seconds.
- INP (Interaction to Next Paint) — when a visitor taps a button or opens the menu, how long before the page visibly responds. Fail this and people tap twice, trigger the wrong thing, and blame their phone. Passing: 200 milliseconds.
- CLS (Cumulative Layout Shift) — how much the page jumps around while it loads. This is the score for “I went to tap Pricing and hit Book a Demo because a banner loaded above it.” Passing: 0.1, a unitless score where smaller is calmer.
Why the thresholds hit rankings and revenue
Rankings first. Core Web Vitals are a confirmed Google ranking signal, but a modest one — a tie-breaker, not a trump card. Great content on a slow page still outranks thin content on a fast one. Where it bites is commercial queries in which ten results say roughly the same thing; there, passing versus failing can move you a position or two, and position is traffic.
Conversion is the bigger lever, and it doesn’t care about Google at all. Google’s own research put the probability of a bounce up 32% as load time goes from one second to three, and a decade of retail and lead-gen studies keeps finding single-digit conversion lifts from tenth-of-a-second improvements. The mechanism is mundane: someone clicked your ad, the hero took six seconds on their phone, and they hit back. You paid for that click either way.
Four causes account for most failures
We’ve audited a lot of failing marketing sites, and nearly every red score traces to the same short list:
- An uncompressed hero image. The 4.6MB PNG exported straight from Figma and shipped at full resolution to phones. This alone can push LCP past five seconds on 4G. Properly sized and served as WebP or AVIF, the same image is around 150KB — a 30x reduction with no visible difference.
- Third-party scripts. The chat widget, two analytics trackers, a heatmap tool, and a retargeting pixel a marketer added in 2024 — each one is JavaScript competing with your own page for the main thread. Nearly every INP failure we see lives here, not in the site’s code.
- Late-loading embeds that shift layout. The testimonial carousel, cookie banner, or embedded video that arrives after the text and shoves everything down. If no space was reserved for it, that jump is your CLS score.
- Cheap shared hosting. When a $6-a-month host takes 1.5 seconds to serve the first byte, most of your 2.5-second LCP budget is gone before the browser has anything to render.
The typical failing site is all four at once: the Figma-export hero, five trackers nobody dares remove because nobody remembers what they do, an embed with no reserved height, all served from a host chosen in a hurry two years ago.
Our own defaults exist to make that list impossible rather than fixable: an image pipeline that resizes and compresses automatically, marketing pages rendered to static HTML with near-zero JavaScript, fonts self-hosted so there’s no third-party font request and no swap-jump, and no plugin ecosystem quietly adding scripts behind your back. None of it is heroic. Defaults do the work.
Passing is the goal; 100/100 is a hobby
One honest caveat the audit reports skip: the 0–100 “performance score” in testing tools is a lab number, and it isn’t what Google ranks on. Field data — the real-visitor pass/fail — is. Google doesn’t reward a 98 over an 85; pages either meet the three thresholds or they don’t. Once you pass, further optimization hits diminishing returns fast: the engineering week that takes LCP from 1.9 to 1.2 seconds would almost always earn more spent rewriting the headline it loads. And if you’re pre-launch with 40 visitors a day, none of them from paid or search, a template site that roughly passes is fine — leave it alone until traffic is worth money.
How to check yours in five minutes
- Open PageSpeed Insights — free, from Google, no signup.
- Run your homepage and your two most-visited landing pages. Check analytics for what those actually are; it’s rarely what you’d guess.
- Read the top section — what real users are experiencing — not the lab score below it. That field data is the 28-day record Google actually uses. Green on all three metrics means you pass.
- If the field section is missing, your traffic is too low for Google to report — which also means this isn’t your bottleneck yet. Treat the lab numbers as directional and move on.
Sites we build and run pass these thresholds by default, and the retainer includes watching the field data monthly — so a new tracker or an oversized image gets caught the week it lands, not in next year’s audit.
Want systems like this built for you?
We build and run data pipelines, websites, and AI automation for startups.
