For example, you go to a webpage and the menu at the top loads immediately. You click on a link in that menu, but as the page is still loading you have to wait. FID is the time from your click on the menu to that click generating a response from the browser (ie the new page starts to load).
The intention of this metric is to show how long it takes before it feels like a webpage works. Google’s guide on FID can be found here.
First Input Delay Definition
First Input Delay is the time (in milliseconds) from when someone first interacts with a page, to when the browser starts to process that interaction. The delay may occur because there is still more of the webpage to load. Therefore the browsers ‘main thread’ may be too busy loading the webpage to process what has been clicked on until it is finished.
As there needs to be an element on the page to interact with, the earliest that FID can start measuring is after the First Contentful Paint (FCP). FCP is when the first visible element appears on-screen.
First Input Delay is a field metric, meaning it is based on real users experiences rather than machine processing.
Levels of FID Performance
As with all Core Web Vitals, Google has created three tiers of performance:
- Good = Up to 100ms
- Needs Improvement = Over 100ms and up to 300ms
- Poor = Over 300ms
Webpages are categorised into one of these based on where 75% of users experience on a page fall.
This is a very complicated metric for many reasons.
- First Input Delay is a field metric, meaning it is based on interactions by real people with a webpage. Therefore tools alone are unable to measure this accurately.
- Also because it is a field metric, FID will vary wildly between users. Some will click immediately, so will click later or not at all. Users will have computers that load at various speeds for various reasons. FID, therefore, measures where the majority of users fall.
- Scroll events are not included as interactions.
- While FID should be about clickable elements only (such as links, form fields, etc), it is actually triggered by any click. This means that frustrated users clicking repeatedly (and aimlessly) while a page loads will have a bad FID.
- FID replaces TTI (Time to Interactive) as an interactivity measure. TTI measured the time until interactivity from when a page first started loading. Whereas First Input Delay only starts potentially measuring from when some content has loaded (FCP). This image from Google explains it:
First Input Delay is essentially a measure of page speed as the faster a page loads, the sooner a page becomes interactive. However, as it is timed using real-life interactions many people will only interact once a page has actually loaded.
This makes it more of a user experience metric. Your page should make users only want to interact after the page has fully loaded. This will make your FID score better – and the users experience too.