FID is retired — what replaced it, and what to do
FID was removed from Core Web Vitals in March 2024. Why it flattered almost every site, and how to migrate a dashboard or a contract that still names it.
We are keeping this page rather than deleting it because the metric still appears in dashboards, in vendor proposals and in performance clauses written a few years ago. The useful content is why it was retired, because the reasoning explains what to measure now.
What FID actually measured
FID measured the delay between a user's first interaction and the moment the browser began running the event handler. It measured the queue, and nothing after it: not how long the handler took, and not whether anything appeared on screen afterwards.
| FID | INP | |
|---|---|---|
| Interactions counted | The first one only | The worst one in the session (near-worst on long sessions) |
| Phases measured | Input delay | Input delay, processing, and presentation |
| Ends when | The handler starts | The next frame is painted |
| Typical result | Most sites passed comfortably | Many of the same sites fail |
The consequence was that a site could pass FID and still feel broken: tap a filter, the handler starts within 30ms, then a synchronous re-render blocks the thread for a second and the screen does not change. FID recorded 30ms. The user recorded a broken page.