What they're testing
Whether you track performance with real user data, or just ran Lighthouse once.
The short answer~30 seconds
LCP measures when the largest content element appears — good is ≤ 2.5s. INP measures the delay from an interaction to the next paint, replacing FID in March 2024 — good is ≤ 200ms. CLS measures unexpected layout shift — good is ≤ 0.1. All three are assessed at the 75th percentile of real visits. For LCP, four causes cover nearly everything: server response time, render-blocking resources, the LCP image being discovered late, and fonts delaying text.
The HTML arrives. The browser starts parsing and immediately meets the render-blocking tags.
The long answer
For the LCP image, the commonest mistake isn't a heavy image but a LATE-DISCOVERED one. If it comes from a CSS background or is injected by JavaScript, the browser only learns about it after fetching and running other things. The cheapest fix is a real <img> in the HTML with fetchpriority="high", and never loading="lazy" on an above-the-fold image — that's one of the most common ways to break your own LCP.
INP is harder than LCP because it measures the whole LIFECYCLE of an interaction: input delay, handler execution, and the browser's repaint. So a fast handler can still yield a poor INP if it triggers an expensive re-render. The usual fix is splitting the work: update the responsive part of the UI, then yield to the main thread (await scheduler.yield() or a setTimeout) before the heavy part, so the browser can paint.
An important measurement point: Lighthouse is lab data on a simulated device, while CrUX is real-user data and that's what ranking uses. The two frequently disagree, and when they do the field data is right. INP in particular resists lab measurement because it needs real interaction — Lighthouse clicks nothing, so it only estimates.
What they'll ask next
?What usually causes CLS?
Images without dimensions, ads or banners injected afterwards, and fonts resizing text on swap. The three fixes: always set width/height or aspect-ratio, reserve space for injected content, and use size-adjust so the fallback font matches the metrics of the real one.
These lose points
- Still talking about FID. It was replaced by INP in March 2024, and INP is substantially harder.
- Optimising for the Lighthouse score alone. It's a simulation; ranking uses field data.