First Input Delay
First Input Delay (FID) measures the time between when a user first interacts with your page (clicking a link, tapping a button) and when the browser actually responds to that interaction.
First Input Delay captures the delay users experience when they try to interact with a page that's still loading. If a user clicks a button but the browser is busy parsing JavaScript, there's a gap between the click and the response. That gap is FID.
Google's Web Vitals program considers FID good if it's under 100ms, needs improvement between 100-300ms, and poor above 300ms. The primary cause of high FID is heavy JavaScript execution during page load. When the browser's main thread is busy parsing and executing JavaScript, it can't respond to user interactions.
In practice
- A news website had 500ms FID because their ad scripts were monopolizing the main thread during load, deferring these scripts reduced FID to 50ms
- An e-commerce site's product page had 300ms FID from a heavy JavaScript bundle, code splitting and lazy loading reduced it to under 80ms
- A marketing site removed 3 third-party chat and analytics scripts and improved FID from 250ms to 30ms, with minimal impact on functionality
- A web app moved their data processing logic to a Web Worker, freeing up the main thread and reducing FID from 400ms to 60ms on mobile devices
Not sure how this applies to you?
A senior engineer walks your site, your search presence and the way enquiries reach you, then writes down the three things worth fixing first. You keep the document either way.
