Glosario

Cómo Interaction to Next Paint puntúa tu peor clic

Taras Shynkarenko
Taras Shynkarenko
Actualizado: 9 min de lectura
Cómo Interaction to Next Paint puntúa tu peor clicCómo Interaction to Next Paint puntúa tu peor clic

TL;DR, Respuesta rápida

9 min de lectura

Interaction to Next Paint mide la duración completa de la peor interacción de una página, desde el clic, el toque o la pulsación de tecla hasta el siguiente frame pintado, repartida entre input delay, processing duration y presentation delay. Chrome la califica como buena en 200ms o menos y como mala por encima de 500ms, leída en el percentil 75. Sustituyó a First Input Delay como Core Web Vital el 12 de marzo de 2024.

¿Qué es INP (Interaction to Next Paint)?

Chrome mide Interaction to Next Paint como la duración de la peor interacción de una página, cronometrada desde el momento en que un visitante hace clic, toca o pulsa una tecla hasta el momento en que el navegador pinta el frame que muestra el resultado. La métrica cubre el viaje completo: la espera antes de que arranque un manejador de eventos, el tiempo de ejecución del propio manejador y el trabajo de renderizado que viene después. Instruméntala con la librería web-vitals o cualquier colector de campo, y luego léela por ruta.

Chrome cuenta clics de ratón, toques en pantalla táctil y pulsaciones de teclas en teclados físicos o en pantalla, y el scroll, el hover y el zoom no producen ninguna muestra de INP, según la definición de la métrica publicada por el equipo de Chrome en web.dev (consultada en septiembre de 2026). INP es la única de las tres Core Web Vitals que puntúa la capacidad de respuesta después de que la página haya cargado, y no reporta nada hasta que personas reales hacen clic en cosas, así que el número sobre el que actúa Google sale del real user monitoring, la medición sobre usuarios reales, en p75.

¿Cuáles son las tres fases de una interacción?

Cada interacción se divide en input delay (la espera antes del manejador), processing duration (la ejecución del manejador) y presentation delay (el renderizado hasta el frame), e INP es la suma de las tres. Cada fase tiene un dueño distinto dentro del navegador, así que un número de INP no te dice nada hasta que lo separas.

FaseEmpieza cuandoTermina cuandoQué está quemando el tiempo
Input delayEl visitante hace clic, toca o pulsa una teclaEl primer callback del evento empieza a ejecutarseHilo principal ya ocupado con evaluación de scripts, timers, otros manejadores
Processing durationEl primer callback del evento empiezaEl último callback terminaTu propio código de manejador, actualizaciones de estado del framework, trabajo síncrono
Presentation delayEl último callback terminaEl navegador pinta el siguiente frameRecálculo de estilos, layout, paint, tamaño del DOM

La fórmula es una suma directa:

INP = input delay + processing duration + presentation delay

Un ejemplo resuelto. Un visitante toca un chip de filtro en un listado de productos y espera 620ms a que cambie la rejilla:

620ms = 180ms input delay + 90ms processing duration + 350ms presentation delay

El instinto es optimizar el manejador, y el manejador es la porción más pequeña con 90ms. El presentation delay se lleva el 56 por ciento de la interacción, así que el arreglo está en el renderizado: el filtro vuelve a renderizar 3.000 nodos de la rejilla y fuerza un recálculo de estilos completo. Recorta el DOM que toca la interacción y esos 350ms se desploman. Reescribir el manejador ahorra 90ms como mucho y por sí solo no baja de 200ms.

Un toque, tres retrasos
Retraso de entrada180ms
Duración de procesamiento90ms
Retraso de presentación350ms
Un toque de 620 ms en un chip de filtro, dividido en sus tres fases.

¿Qué es una buena puntuación de INP?

Los umbrales de Chrome ponen bueno en 200ms o menos y malo por encima de 500ms, medidos en el percentil 75 de las páginas vistas y separados por móvil y escritorio. El equipo de Chrome publica estos cortes en web.dev, sin cambios a septiembre de 2026.

INP en p75Veredicto
200ms o menosBueno
Por encima de 200ms hasta 500msNecesita mejorar
Por encima de 500msMalo

Doscientos milisegundos son un presupuesto ajustado en cuanto lo divides en tres, y la fase que revienta su parte primero es la que hay que atacar. Mide el reparto antes de tocar código: una caja de búsqueda falla en el processing, una rejilla con scroll infinito falla en la presentation.

¿Por qué INP sustituyó a FID, y por qué FID favorecía a los sitios?

Google convirtió INP en Core Web Vital el 12 de marzo de 2024, en sustitución de First Input Delay, y el soporte de FID terminó el 9 de septiembre de 2024 (web.dev, equipo de Chrome). FID medía una sola cosa estrecha: el retraso de entrada antes de que el primer manejador de eventos de la página pudiera empezar. Nunca cronometró el manejador, y nunca cronometró el paint que venía después.

First Input DelayInteraction to Next Paint
Qué interacciónSolo la primeraLa peor de la página
Qué fasesSolo input delayInput delay, processing, presentation
Bueno en p75100ms o menos200ms o menos
EstadoRetirado el 9 de septiembre de 2024Core Web Vital desde el 12 de marzo de 2024

FID favorecía a los sitios por dos razones. La primera interacción de una página es barata para la mayoría de los visitantes: cerrar un aviso de cookies, poner el foco en un campo de búsqueda, tocar aceptar en un diálogo de consentimiento. Las interacciones caras llegan después, una vez que el visitante se ha comprometido con la página, y FID nunca las miró.

FID además paraba su cronómetro antes de que tu código se ejecutara, así que un manejador de filtro que bloqueaba el hilo principal durante 900ms sacaba un FID perfecto mientras el navegador pudiera entrar rápido en el manejador. web.dev dice explícitamente que contar el tiempo de procesamiento en FID podría haber empujado a los desarrolladores a envolver la lógica del manejador en un callback asíncrono, sacándola de la tarea medida sin ayudar a la persona que espera. INP cierra los dos agujeros.

¿Qué interacción reporta INP cuando una página tiene cientos?

Chrome reporta la peor interacción de la página, con un margen para los valores atípicos en páginas con mucha actividad. En páginas con 50 interacciones o menos, la más alta se convierte en el INP de la página. Por encima de 50, Chrome aparta una interacción alta por cada 50 registradas, así que una sesión con 130 interacciones descarta las dos más altas y reporta la siguiente.

Aquí se apilan dos agregaciones, y confundirlas es un error de diagnóstico habitual: la regla de la peor interacción elige un número por página vista, y luego el percentil 75 entre páginas vistas elige un número por URL. Lee esa distribución como lees Largest Contentful Paint, con p75 al lado de p90 y el recuento de muestras.

Flowsery
Flowsery

Prueba gratuita

Panel en tiempo real

Seguimiento de objetivos

Rastreo sin cookies

Una persona toca la pantalla de su móvil mientras carga una cuadrícula de productos, el tipo de interacción lenta que empeora el INP.

¿Qué causa un INP lento, y qué arregla cada causa?

Un INP lento tiene tres familias de causas, una por fase, y cada una pide un arreglo distinto.

El input delay viene de un hilo principal que ya está ocupado cuando llega el clic: evaluación de scripts durante la carga, timers y manejadores de fetch compitiendo por el mismo hilo. Recorta la cantidad de JavaScript que llega a ejecutarse, y parte cualquier long task, o tarea larga, por encima de 50ms para que el navegador tenga un hueco donde aceptar la entrada.

La processing duration viene de manejadores que hacen demasiado de una vez. Cede el hilo principal con scheduler.yield() o setTimeout() para que el navegador pueda pintar un frame intermedio, y aplaza todo lo que el visitante no necesita de inmediato detrás de requestAnimationFrame() más una cesión. Pinta primero la respuesta, luego haz el trabajo.

El presentation delay viene del renderizado. Los DOM grandes cuestan más de renderizar que los pequeños, así que aplana el árbol y añade elementos durante la interacción en lugar de enviarlos por adelantado. Reduce el alcance del recálculo de estilos y usa content-visibility para saltarte el trabajo fuera de pantalla. Caza primero el layout thrashing: escribir un estilo y volver a leerlo en la misma tarea fuerza un layout síncrono, y agrupar todas las lecturas antes de todas las escrituras lo elimina. El mismo trabajo de renderizado mueve Cumulative Layout Shift, así que revisa las dos después del arreglo.

Un desarrollador revisa datos de repetición de sesión en un portátil para averiguar qué clic está hundiendo el INP.

¿Cómo encuentras la interacción que hunde tu INP?

Mira las sesiones donde un visitante hizo clic y no pasó nada. Un INP de 640ms en p75 dice que la página es lenta; no dice qué control, qué ruta ni qué dispositivo.

Flowsery graba la sesión y marca rage clicks, dead clicks y errores de JavaScript automáticamente, que es a lo que se parece una interacción atascada desde el lado del visitante: el mismo botón pulsado cuatro veces porque nunca se pintó ningún frame. Las sesiones que coinciden se agrupan en un problema, los problemas se ordenan por cuántos usuarios los sufren, y cada uno llega a Slack, Linear o Jira con la grabación y los pasos para reproducirlo. La recogida corre sobre un script de menos de 10 KB, sin cookies y alojado en la UE, sin muestreo de datos, así que las interacciones lentas no son las que se caen de la muestra.

Preguntas frecuentes

¿INP mide el scroll?

No. Chrome cuenta clics de ratón, toques en pantalla táctil y pulsaciones de teclas, y excluye el scroll, el hover y el zoom. Un scroll con tirones es una queja real que no produce ninguna muestra de INP, así que diagnostícalo con frame timing y long tasks.

¿Por qué mi INP es bueno en Lighthouse y malo en campo?

Lighthouse ejecuta una interacción guionizada en un dispositivo configurado, e INP puntúa la peor interacción que hicieron visitantes reales con su propio hardware. Tu prueba de laboratorio pulsa el botón que le dijiste que pulsara; tus visitantes pulsan el filtro caro en un Android de hace cuatro años. Trata el laboratorio como control de regresión y el campo como veredicto.

¿Debería seguir midiendo First Input Delay?

No. FID dejó de ser Core Web Vital el 12 de marzo de 2024, y el soporte terminó el 9 de septiembre de 2024, así que ya no aparece en Search Console y no pesa en la evaluación. Cambia el panel del dashboard a INP y guarda la serie de FID solo para leer incidentes antiguos.

¿Puede un solo clic lento suspender toda la página?

Por sí solo no. La peor interacción se convierte en el INP de esa página vista, y luego Google lee el percentil 75 de esos valores en todas las páginas vistas de la URL. Un clic de 3 segundos en una sesión no mueve nada; el mismo control lento que golpea a un cuarto de tus sesiones suspende la URL.

¿Cómo se mide INP en una single-page app?

INP se acumula durante toda la vida de la página, así que las interacciones de una ruta se quedan en la misma ventana de medición que la siguiente hasta que una navegación dura la reinicia. Un clic lento en una pantalla de ajustes puede reportarse contra la URL en la que aterrizó el visitante. El soporte de soft navigations de Chrome para partir esas ventanas es experimental, así que segmenta por ruta en tus propios datos de campo.

¿Qué presupuesto por fase mantiene INP por debajo de 200ms?

Cincuenta milisegundos de input delay, 50ms de processing duration y 100ms de presentation delay es un reparto viable. Mide el reparto real por ruta antes de elegir qué arreglar, porque una caja de búsqueda cargada de manejadores y una rejilla de productos cargada de renderizado fallan el mismo umbral por razones opuestas.

¿Qué cuenta como una long task, y por qué importa para INP?

Una long task es cualquier bloque ininterrumpido de trabajo en el hilo principal de más de 50ms, el mismo umbral al que apuntan las correcciones del retraso de entrada. Mientras una long task se ejecuta, el navegador no puede iniciar un manejador de eventos, así que ese tiempo se suma directo al retraso de entrada. Dividir la long task en piezas más pequeñas le da al navegador un hueco para aceptar el clic y arrancar el manejador antes.

Flowsery
Flowsery

Prueba gratuita

Panel en tiempo real

Seguimiento de objetivos

Rastreo sin cookies

¿Cómo se detiene el layout thrashing que alarga el retraso de presentación?

El layout thrashing ocurre cuando el código escribe un estilo y lo vuelve a leer en la misma tarea, lo que fuerza un layout síncrono que el navegador habría aplazado. Agrupar todas las lecturas antes que las escrituras dentro de la misma tarea elimina ese layout forzado junto con el retraso que añadía. Esto se revisa primero dentro del retraso de presentación, antes que el tamaño del DOM y content-visibility.

¿Qué herramienta mide realmente el INP de tu propio sitio?

INP se instrumenta con la librería web-vitals o cualquier otro recolector de campo, leído por ruta. Como INP solo reporta algo cuando visitantes reales hacen clic, tocan o escriben, ese número tiene que venir de real user monitoring y no de una sola ejecución de Lighthouse. El resultado se lee en el percentil 75, igual que lo puntúa Chrome.

¿Por qué Chrome descarta algunas interacciones en páginas con muchos clics?

Por encima de 50 interacciones registradas, Chrome aparta un valor alto por cada 50 para que un puñado de casos atípicos no decida la puntuación de toda la página. Una página con 130 interacciones descarta las dos más altas y reporta la siguiente como su INP. Las páginas con 50 interacciones o menos se saltan este paso y usan directamente la peor interacción.

¿Te resultó útil este artículo?

¡Cuéntanos qué opinas!

Vernos más en Google

Un clic marca Flowsery como fuente preferida y nuestros artículos aparecen más arriba en tus Noticias destacadas, el modo IA y los resúmenes con IA.

Antes de irte...

Flowsery

Flowsery

Analítica orientada a ingresos para tu sitio web

Rastrea cada visitante, fuente y conversión en tiempo real. Simple, potente y sin cookies.

Panel en tiempo real

Seguimiento de objetivos

Rastreo sin cookies

Términos relacionados del glosario

Cómo se calcula realmente el Cumulative Layout ShiftCómo se calcula realmente el Cumulative Layout Shift
Glosario

Cómo se calcula realmente el Cumulative Layout Shift

Cada puntuación de Cumulative Layout Shift es impact fraction por distance fraction, y Google reporta la mayor ráfaga de desplazamientos, no su suma.

9 min de lectura
Estas cifras muestran la tasa de rebote media por industriaEstas cifras muestran la tasa de rebote media por industria
Glosario

Estas cifras muestran la tasa de rebote media por industria

Nueve industrias registradas muestran una tasa de rebote media por industria documentada, entre 35.76% y 48.38%, según datos de Databox de septiembre de 2024.

7 min de lectura
Cómo aplicar la fórmula del valor promedio del pedido paso a pasoCómo aplicar la fórmula del valor promedio del pedido paso a paso
Glosario

Cómo aplicar la fórmula del valor promedio del pedido paso a paso

La fórmula del valor promedio del pedido divide los ingresos entre pedidos, y un código de descuento puede distorsionar en silencio cada cifra reportada.

7 min de lectura
Leer bien una curva de retención empieza con el análisis de cohortesLeer bien una curva de retención empieza con el análisis de cohortes
Glosario

Leer bien una curva de retención empieza con el análisis de cohortes

Una curva de retención solo tiene sentido cuando el análisis de cohortes agrupa usuarios por una misma fecha de inicio, ya que un promedio oculta el patrón.

9 min de lectura
Dónde ocurre realmente la caída en un embudo de conversiónDónde ocurre realmente la caída en un embudo de conversión
Glosario

Dónde ocurre realmente la caída en un embudo de conversión

La conversión por paso y la conversión total responden preguntas distintas sobre un embudo de conversión, y su diferencia muestra dónde ocurre la caída.

8 min de lectura
Dos números se esconden detrás de una sola tasa de drop-offDos números se esconden detrás de una sola tasa de drop-off
Glosario

Dos números se esconden detrás de una sola tasa de drop-off

Todo embudo produce dos cifras de tasa de drop-off, una por paso y otra de extremo a extremo, y los equipos las citan indistintamente. Una tabla las separa.

9 min de lectura

Artículos relacionados