Web Vitals – What are FCP, LCP, FID, TBT, TTFB?

Web Vitals – Understanding FCP, LCP, FID, TBT, TTFB. In the realm of website performance optimization, there’s a crucial set of metrics that every web developer, marketer, and business owner should be familiar with: Web Vitals. These metrics offer valuable insights into how users perceive the speed and responsiveness of a web page. Among these metrics are FCP, LCP, FID, TBT, and TTFB. Let’s delve into each of them to understand their significance in enhancing user experience and ultimately, your website’s success.

First Contentful Paint (FCP)

First Contentful Paint (FCP) measures the time it takes for the first piece of content to appear on the screen after a user navigates to a web page. It signifies when the browser renders the first bit of text, image, or other DOM (Document Object Model) elements. FCP is crucial because it provides users with a visual cue that the page is loading, thereby reducing perceived load time and enhancing user experience.

Largest Contentful Paint (LCP)

Largest Contentful Paint (LCP) focuses on the largest element visible within the viewport. This could be an image, video, or block-level element. LCP measures how long it takes for this element to become fully visible to the user. Optimizing for LCP ensures that the most important content loads quickly, leading to improved user engagement and satisfaction.

First Input Delay (FID)

First Input Delay (FID) quantifies the responsiveness of a web page by measuring the time between a user’s first interaction (like clicking a button or tapping a link) and the browser’s response to that interaction. FID is crucial for assessing interactivity and responsiveness, as it directly impacts user engagement. Websites with high FID may feel sluggish and unresponsive, resulting in a poor user experience.

Total Blocking Time (TBT)

Total Blocking Time (TBT) evaluates the total amount of time during which the main thread of the browser is blocked and unable to respond to user input. It measures the duration between First Contentful Paint (FCP) and Time to Interactive (TTI) and accounts for all periods of time where long tasks prevent the user from interacting with the page. Reducing TBT ensures smoother interaction and a more responsive browsing experience.

Time to First Byte (TTFB)

Time to First Byte (TTFB) is a metric that measures the time it takes for a browser to receive the first byte of data from the web server after requesting a web page. It includes the time spent on server processing, network latency, and other factors. A fast TTFB indicates efficient server response times, which is crucial for reducing overall page load times and improving user experience.

Why Web Vitals Matter

Understanding and optimizing these Web Vitals metrics is essential for several reasons:

  1. User Experience: Web Vitals directly impact user experience, influencing factors such as perceived load time, interactivity, and visual stability. By optimizing these metrics, you can create a faster, more responsive, and user-friendly website.
  2. SEO Performance: Search engines like Google consider user experience metrics, including Web Vitals, when ranking websites. Websites that prioritize performance optimization are more likely to rank higher in search engine results pages (SERPs), leading to increased visibility and organic traffic.
  3. Conversion Rates: Improved user experience resulting from optimized Web Vitals can lead to higher conversion rates. Users are more likely to engage with and convert on websites that load quickly, respond promptly to interactions, and provide a seamless browsing experience.

In conclusion, Web Vitals offer invaluable insights into website performance and user experience. By prioritizing optimization efforts to improve metrics such as FCP, LCP, FID, TBT, and TTFB, web developers and businesses can create faster, more responsive, and user-friendly websites that are better positioned for success in an increasingly competitive online landscape.

                                  User
                                   |
                                   |
                     +-----------------------------+
                     |    Initiates Navigation     |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |       DNS Resolution        |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |        TCP Handshake        |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |     HTTP Request Sent       |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |       Server Processing     |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |     Content Downloaded      |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |   Browser Rendering (DOM    |
                     |          Construction)      |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |     First Contentful Paint  |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |     Largest Contentful      |
                     |             Paint           |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |       Interactivity         |
                     |    (First Input Delay)      |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |       Page Complete         |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |       Load Event Fired      |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |      Page Fully Loaded      |
                     +-----------------------------+
                                   |
                                   |
                     +-----------------------------+
                     |       User Interaction      |
                     +-----------------------------+

Web Vitals – Scoring Calculation

  1. Metric Scores: Each metric is scored on a scale from 0 to 100. This score is based on specific thresholds set by Google, which are periodically updated based on real-world data.
  2. Weighting Metrics: Each metric’s score is multiplied by its respective weight.
  3. Aggregating the Score: The weighted scores are then summed to get the overall performance score. The formula for the overall performance score (S) can be expressed as:

S=(WFCP×SFCP)+(WSI×SSI)+(WLCP×SLCP)+(WTTI×STTI)+(WTBT×STBT)+(WCLS×SCLS)S=(WFCP​×SFCP​)+(WSI​×SSI​)+(WLCP​×SLCP​)+(WTTI​×STTI​)+(WTBT​×STBT​)+(WCLS​×SCLS​)

Where:

  • WW represents the weight of the metric.
  • SS represents the score of the metric.

Example Calculation

Let’s assume hypothetical scores for each metric as follows:

  • First Contentful Paint (FCP): 85
  • Speed Index (SI): 90
  • Largest Contentful Paint (LCP): 80
  • Time to Interactive (TTI): 70
  • Total Blocking Time (TBT): 60
  • Cumulative Layout Shift (CLS): 95

Using the weights specified:

  • FCP: 10%
  • SI: 10%
  • LCP: 25%
  • TTI: 10%
  • TBT: 30%
  • CLS: 15%

We calculate the overall performance score:

S=(0.10×85)+(0.10×90)+(0.25×80)+(0.10×70)+(0.30×60)+(0.15×95)S=(0.10×85)+(0.10×90)+(0.25×80)+(0.10×70)+(0.30×60)+(0.15×95)

Breaking it down:

  • FCP Contribution: 0.10×85=8.50.10×85=8.5
  • SI Contribution: 0.10×90=9.00.10×90=9.0
  • LCP Contribution: 0.25×80=20.00.25×80=20.0
  • TTI Contribution: 0.10×70=7.00.10×70=7.0
  • TBT Contribution: 0.30×60=18.00.30×60=18.0
  • CLS Contribution: 0.15×95=14.250.15×95=14.25

Summing these contributions:

S=8.5+9.0+20.0+7.0+18.0+14.25=76.75S=8.5+9.0+20.0+7.0+18.0+14.25=76.75

So, the overall performance score would be approximately 77.

Additional Considerations

  • Normalization: The raw scores for each metric are normalized based on distributions observed in the real world. This ensures that the scoring is fair and reflects actual user experiences.

Google’s Lighthouse performance score aims to provide a comprehensive measure of a page’s performance, helping developers to identify areas of improvement and optimize user experience as well as web vitals.

Feel free to check our latest posts on distributed system.

Web Vitals – References

Some reputable sources where you can find more information about Web Vitals and the metrics discussed:

  1. Google Web.dev:
  1. Google Developers:
  1. Mozilla Developer Network (MDN):

Leave a Comment

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

Scroll to Top