Perfect PSI Scores and Failed Core Web Vitals

As a page speed consultant amongst other things, I strive to optimise my website to provide the best user experience possible. Recently, I achieved perfect scores across all categories in the PageSpeed Insights (PSI) lab tests.

However, despite this accomplishment, I found that my site failed the Core Web Vitals (CWV) assessment due to the Interaction to Next Paint (INP) metric. This discrepancy between lab performance and real-world user experience is something many web developers and site owners might encounter. In this blog post, I'll delve into the reasons behind this phenomenon and how to address it.

Lab Data vs. Field Data: The Core Difference

To begin, it's essential to understand the difference between lab data and field data. PSI provides lab data, which is gathered in a controlled environment. This data offers consistent metrics for debugging performance issues and is invaluable for initial optimisations. Generally it should be ignored as the hardware they use is so outdated, its not realistic.

Field data, on the other hand, comes from real users as they interact with your site. This data is collected under varying conditions—different devices, network speeds, and user behaviors. Core Web Vitals focuses on field data, making it a true reflection of the user experience.

Core Web Vitals and the INP Metric

Core Web Vitals are a set of metrics that Google considers essential for a good user experience. They include:

  • Largest Contentful Paint (LCP): Measures loading performance.
  • First Input Delay (FID): Measures interactivity.
  • Cumulative Layout Shift (CLS): Measures visual stability.
  • Interaction to Next Paint (INP): Measures how quickly the page responds to user interactions.

While my site excelled in LCP, FID, and CLS, the INP metric was where the field data indicated a problem. The INP metric is crucial because it affects how users perceive the responsiveness of a site. An INP score of 204 ms is just on the border.

Why Perfect Lab Scores Aren't Enough

Achieving perfect scores in the lab is a significant milestone, but it doesn't always translate to real-world performance. Here are some reasons why this might happen:

  1. Variability in User Conditions: Users have different devices, operating systems, and network conditions. A site that loads quickly in a controlled environment might not perform as well on a slower network or an older device.
  2. Content Delivery Network (CDN) Utilization: If a CDN isn't properly configured, users in different geographical locations may experience slower load times.
  3. Third-Party Scripts: External scripts can behave unpredictably in different environments, impacting metrics like INP.
  4. Heavy Media Files: Large images and videos can significantly slow down load times, especially for users on slower connections.
  5. JavaScript Execution: Heavy or inefficient JavaScript can delay interactions, affecting the INP metric.

My Fix – The CDN and Cookie Banner

To get these great lab scores, I had to make some optimisations. One of these is the CDN. For a technical reason, I turned this off and this affected the load time for people not in the UK. I run on a Ryzen 7900x in the UK so its lightening quick from the UK but people in the USA and further afield have to deal with physical limits of data transmission so it slows things down. I have turned the CDN back on and it will fix it.

The other thing is the cookie banner. It loads later and pops up so the INP is slower than without a cookie banner. I guess I could fix this by not showing it to people outside the UK and EU but I know the CDN will fix the INP.


Achieving perfect PSI scores is a commendable achievement, but it's crucial to remember that lab data is just one part of the picture. Real-world performance, as measured by Core Web Vitals, is what truly matters for user experience. By understanding the factors that affect metrics like INP and addressing them, we can bridge the gap between lab and field data, ensuring a smooth and responsive experience for all users.

By turning back on my CDN, I will pass core web vitals again.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *