Questions
Why did my Core Web Vitals not improve?
Most often because the data has not caught up: the assessment uses a rolling 28-day window of real visits, so an improvement shipped last week is diluted by three weeks of the old experience. The other three reasons are that you improved something the metric does not measure, the 75th percentile hides gains made to the fast half of your traffic, or the change helped one device class and the assessment is dominated by another.
Reason one — the window has not moved
Core Web Vitals are assessed over a rolling 28 days of real visits. A fix deployed a week ago is one quarter of the current window.
The number therefore moves gradually rather than stepping, and a change can be entirely real and invisible for a fortnight.
PageSpeed Insights shows the field value alongside a laboratory run, and the laboratory run does reflect the change immediately — which is how you confirm the fix worked before the field data agrees.
Waiting a full 28 days before concluding anything is the correct response, and it is the one people skip.
Reason two — you optimised the wrong metric
Largest Contentful Paint is decided by one element. Making the rest of the page lighter does not move it if that element is unchanged.
Cumulative Layout Shift is about reserved space, not speed. A faster page that still loads an advertisement into the flow shifts exactly as much.
Interaction to Next Paint measures main-thread responsiveness across the whole visit. Reducing image weight does nothing for it.
Check which element or which interaction is being measured before optimising. PageSpeed Insights names the LCP element, and the performance panel names the slow interactions.
Reason three — the 75th percentile is not the average
The assessment reports the value three quarters of visits are better than, which means improvements to already-fast sessions are invisible.
Progress requires moving the slow quarter: older devices, weaker networks, cold caches, distant geographies.
A change tested on a fast laptop and a fast connection improves the part of the distribution that was never the problem.
Test with device emulation and network throttling, or on a genuinely low-end device, to see what that quarter experiences.
Reason four — the grouping is not what you think
Field data is reported per URL when there is enough of it, and falls back to a group of similar URLs otherwise. A low-traffic page shows its group's data rather than its own.
Mobile and desktop are assessed separately. A fix that helped desktop does not move a mobile assessment.
The origin-level summary mixes every page, so a fix on one template is diluted by every other template.
Check whether you are reading URL-level or origin-level data before concluding that nothing changed.
Traffic mix shifts on their own. A campaign bringing in visitors on slower connections moves the percentile without anything on the site having changed.
How to confirm the fix actually landed
Verify in the laboratory first: the same measurement before and after, from the same environment, several runs, median compared.
Confirm the change is live on the production hostname rather than only in a preview deployment, which has different hosts and frequently different caching.
VeriFixScan reports the stable, observable causes — `performance.render_blocking`, `images.lcp`, `images.dimensions`, `performance.dom_size` — which change the moment the deployment does.
If those findings cleared and the field data has not, the fix landed and the window is the explanation. If they did not clear, the fix did not reach production.
Frequently asked questions
- How long before a performance fix shows in Core Web Vitals?
- Up to 28 days, because the assessment uses a rolling window of that length. It moves gradually rather than stepping.
- My lab score improved but field data did not. Is the fix working?
- Probably yes, and the window has not caught up. Confirm the observable causes cleared on production, then wait out the 28 days.
- Why does the 75th percentile matter?
- It reports what the slower quarter of visits experience. Improvements to already-fast sessions do not move it at all.
Sources
Related
VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.
Scan a website