First Input Delay (FID) Overview
What is First Input Delay (FID)? First Input Delay (FID) measures how soon your site becomes responsive to user input. Specifically, if a user clicks on a button or a link, how quickly does your site respond with the expected...
What is First Input Delay (FID)?
First Input Delay (FID) measures how soon your site becomes responsive to user input. Specifically, if a user clicks on a button or a link, how quickly does your site respond with the expected result of that action?
FID is a good indicator of a user’s first impression of your site’s interactivity and responsiveness, and a good FID score means a user is more likely to stick around on your site and return to consume more content. Everyone loves a fast, responsive site!
What causes poor FID?
- Long tasks where the browser has to pause to run an event
Generally speaking, input delay is a result of the browser’s main thread being occupied by other tasks, so it is unable to respond to the user (yet).
How to measure and assess your FID score
Unlike LCP and CLS, FID is a metric that can only be measured “in the field” using real users’ experiences and not “in the lab” using simulated tests — because FID requires someone to interact with the page and provide that First Input.
What’s the difference between “field” and “lab” data?
I’m glad you asked! We break it all down right here.
If you’re looking for a lab metric, you can use Total Blocking Time (TBT). TBT correlates well to FID, and improvements made for TBT should also reflect in improved performance for FID.
In terms of FID scores, you want to aim for a time of less than 100 milliseconds to be classified as “good” by Google. A time slower than 300 milliseconds is categorized as “poor”.
Tools to measure FID
You can use the following tools to understand your site’s FID score:
Lab tools to measure Total Blocking Time (TBT)
Getting to “Good”: five steps to improve your FID score
- Break up long tasks
- Use a web worker
- Implement a browser cache
- Remove non-critical third-party scripts
Dig deeper on FID:
- Google Web.Dev: Optimize First Input Delay
- Google Web.Dev: Minimize main thread work
- NitroPack: First Input Delay (FID): What It Is & How to Optimize It
- Onely: What is First Input Delay (FID), And How To Optimize It?