Los datos de uso de Chrome muestran que el 90% del tiempo que un usuario pasa en una página se dedica a después de que se carga. Por lo tanto, es importante medir cuidadosamente la capacidad de respuesta a lo largo del ciclo de vida de la página. Esto es lo que evalúa la métrica INP.
Una buena capacidad de respuesta significa que una página responde rápidamente a las interacciones. Cuando una página responde a una interacción, el navegador presenta retroalimentación visual en el siguiente fotograma que pinta. Los comentarios visuales te indican si, por ejemplo, se está agregando un artículo al carrito de compras en línea, si se abrió un menú de navegación para dispositivos móviles, si el servidor autentica el contenido de un formulario de acceso, etcétera.
Por naturaleza, algunas interacciones tardan más que otras, pero en el caso de las interacciones especialmente complejas, es importante presentar rápidamente algunos comentarios visuales iniciales para informarle al usuario que está sucediendo algo. El siguiente fotograma que pintará el navegador es la primera oportunidad para hacerlo.
Por lo tanto, el objetivo de INP no es medir todos los efectos finales de una interacción, como las recuperaciones de red y las actualizaciones de la IU de otras operaciones asíncronas, sino el tiempo en que se bloquea la próxima pintura. Cuando se retrasan los comentarios visuales, los usuarios pueden tener la impresión de que la página no responde lo suficientemente rápido. La INP se desarrolló para ayudar a los desarrolladores a medir esta parte de la experiencia del usuario.
En el siguiente video, el ejemplo de la derecha proporciona una respuesta visual inmediata de que se está abriendo un acordeón. En el ejemplo de la izquierda, se muestra la baja capacidad de respuesta y cómo puede generar experiencias negativas para los usuarios.
En esta guía, se explica cómo funciona el INP, cómo medirlo y se indican recursos para mejorarlo.
¿Qué es INP?
El INP es una métrica que evalúa la capacidad de respuesta general de una página ante las interacciones del usuario mediante la observación de la latencia de todas las interacciones de clic, presión y teclado que se producen durante la visita del usuario a la página. El valor final de la INP es la interacción más larga observada, sin tener en cuenta los valores atípicos.
Para calcular el INP, se observan todas las interacciones que se realizan con una página. Para la mayoría de los sitios, la interacción con la peor latencia se informa como INP.
Sin embargo, en el caso de las páginas con una gran cantidad de interacciones, los errores aleatorios pueden generar una interacción de latencia inusualmente alta en una página que, de otro modo, sería responsiva. Cuanto más interacciones se produzcan en una página determinada, más probabilidades habrá de que esto suceda.
Para proporcionar una mejor medición de la capacidad de respuesta real de las páginas con una gran cantidad de interacciones, ignoramos una interacción más alta por cada 50 interacciones. La gran mayoría de las experiencias de página no tienen más de 50 interacciones, por lo que la peor interacción se informa con mayor frecuencia. Luego, el percentil 75 de todas las vistas de página se informa como de costumbre, lo que quita aún más los valores atípicos para proporcionar un valor que la gran mayoría de los usuarios experimenta o uno mejor.
Una interacción es un grupo de controladores de eventos que se activan durante el mismo gesto lógico del usuario. Por ejemplo, las interacciones de "presionar" en un dispositivo con pantalla táctil incluyen varios eventos, como pointerup
, pointerdown
y click
. Una interacción puede estar impulsada por JavaScript, CSS, controles de navegador integrados (como elementos de formulario) o una combinación de estos.
La latencia de una interacción consiste en la duración más larga de un grupo de controladores de eventos que impulsan la interacción, desde el momento en que el usuario comienza la interacción hasta el momento en que el navegador puede volver a pintar un marco.
¿Qué es un buen nivel de INP?
Es difícil fijar etiquetas como "buena" o "deficiente" en una métrica de capacidad de respuesta. Por un lado, quieres fomentar prácticas de desarrollo que prioricen una buena capacidad de respuesta. Por otro lado, debes tener en cuenta que existe una variabilidad considerable en las capacidades de los dispositivos que las personas usan para establecer expectativas de desarrollo alcanzables.
Para asegurarte de ofrecer experiencias del usuario con buena capacidad de respuesta, un buen umbral para medir es el percentil 75 de las cargas de páginas registradas en el campo, segmentadas entre los dispositivos móviles y las computadoras de escritorio:
- Un INP inferior o igual a 200 milisegundos significa que una página tiene buena capacidad de respuesta.
- Un INP superior a 200 milisegundos y por debajo de 500 milisegundos significa que la capacidad de respuesta de una página debe mejorar.
- Un INP superior a 500 milisegundos significa que una página tiene una baja capacidad de respuesta.
¿Qué incluye una interacción?
A menudo, el impulsor principal de la interactividad es JavaScript, aunque los navegadores proporcionan interactividad a través de controles no potenciados por JavaScript, como casillas de verificación, botones de selección y controles potenciados por CSS.
A los efectos de la INP, solo se observan los siguientes tipos de interacción:
- Hacer clic con el mouse
- Presionar un dispositivo con pantalla táctil
- Presiona una tecla en un teclado físico o en pantalla.
Las interacciones se producen en el documento principal o en los iframes incorporados en él, por ejemplo, hacer clic en Reproducir en un video incorporado. Los usuarios finales no sabrán si un iframe contiene contenido o no, por lo que se necesitan INP dentro de los iframes para medir la experiencia del usuario en la página de nivel superior. Debido a que las APIs web de JavaScript no tienen acceso al contenido de los iframes, esto puede mostrarse como una diferencia entre CrUX y RUM.
Las interacciones pueden constar de varios eventos. Por ejemplo, una combinación de teclas incluye los eventos keydown
, keypress
y keyup
. Las interacciones de presión contienen eventos pointerup
y pointerdown
. El evento con la duración más larga dentro de la interacción es lo que contribuye a la latencia total de la interacción.
El INP de la página se calcula cuando el usuario sale de ella. El resultado es un valor único que representa la capacidad de respuesta general de la página a lo largo de su ciclo de vida. Un INP bajo significa que una página respondió de forma confiable a las entradas del usuario.
¿En qué se diferencia el INP del retraso de primera entrada (FID)?
INP es la métrica sucesora del retraso de primera entrada (FID). Si bien ambas son métricas de capacidad de respuesta, el FID solo mide el retraso de entrada de la primera interacción en una página. El INP mejora el FID observando todas las interacciones en una página, desde el retraso de entrada hasta el tiempo que tarda en ejecutarse el controlador de eventos y, por último, hasta que el navegador pinta el siguiente fotograma.
Estas diferencias significan que tanto la INP como la FID son diferentes tipos de métricas de capacidad de respuesta. Mientras que el FID era una métrica de capacidad de respuesta de carga diseñada para evaluar la primera impresión de la página en el usuario, el INP es un indicador más confiable de la capacidad de respuesta general, independientemente de cuándo se produzcan las interacciones en el ciclo de vida de una página.
¿Qué sucede si no se informa ningún valor de INP?
Es posible que una página no muestre ningún valor de INP. Esto puede suceder por varios motivos, entre los que se incluyen los siguientes:
- Se cargó la página, pero el usuario nunca hizo clic, no tocó ninguna parte de la página ni presionó ninguna tecla del teclado.
- Se cargó la página, pero el usuario interactuó con ella mediante gestos que no se miden, como desplazarse o colocar el cursor sobre elementos.
- Un bot, como un rastreador de búsqueda o un navegador sin cabeza, accede a la página y no se le asignó una secuencia de comandos para interactuar con ella.
Cómo medir la INP
La INP se puede medir tanto en el campo como en el laboratorio, en la medida en que puedas simular interacciones realistas de los usuarios.
En el campo
Lo ideal es que tu recorrido para optimizar la INP comience con los datos de campo. En el mejor de los casos, los datos de campo de la supervisión de usuarios reales (RUM) te brindarán no solo el valor de INP de una página, sino también datos contextuales que destaquen qué interacción específica fue responsable del valor de INP en sí, si la interacción ocurrió durante o después de la carga de la página, el tipo de interacción (clic, presión de tecla o presión) y otros tiempos valiosos que pueden ayudarte a identificar qué parte de la interacción afectaba la capacidad de respuesta.
Si tu sitio web califica para incluirse en el Informe sobre la experiencia del usuario en Chrome (CrUX), puedes obtener rápidamente datos de campo para la INP a través de CrUX en PageSpeed Insights (y otras Métricas web esenciales). Como mínimo, puedes obtener una imagen a nivel del origen del INP de tu sitio web, pero, en algunos casos, también puedes obtener datos a nivel de la URL.
Sin embargo, si bien CrUX puede indicarte si hay un problema, no puede decirte qué lo causó. Una solución de RUM puede ayudarte a descubrir más detalles sobre las páginas, los usuarios o las interacciones de los usuarios que tienen problemas de capacidad de respuesta. Poder atribuir la INP a interacciones individuales evita las conjeturas y el esfuerzo desperdiciado.
En el laboratorio
Lo ideal es que comiences a realizar pruebas en el laboratorio una vez que tengas datos de campo que sugieran que una página tiene interacciones lentas. Los datos de campo harán que el trabajo de reproducir interacciones problemáticas en el lab sea una tarea mucho más sencilla.
Sin embargo, es muy posible que no tengas datos de campo. Si bien la INP se puede medir en algunas herramientas de lab, el valor de INP resultante de una página durante las pruebas de lab dependerá de las interacciones que se realicen durante el período de medición. Los comportamientos de los usuarios pueden ser impredecibles y muy variables, lo que significa que es posible que tus pruebas en el laboratorio no muestren interacciones problemáticas de la misma manera que los datos de campo. Además, algunas herramientas de lab no informan el INP de una página porque solo observan la carga de una página sin ninguna interacción. En esos casos, el tiempo de bloqueo total (TBT) puede ser una métrica de proxy razonable para la INP, pero no es un sustituto de la INP en sí.
Si bien las herramientas del lab tienen limitaciones para evaluar el INP de una página, existen algunas estrategias para reproducir interacciones lentas en el lab. Las estrategias incluyen seguir flujos de usuarios comunes y probar interacciones a lo largo del camino, así como interactuar con la página a medida que se carga (cuando el subproceso principal suele estar más ocupado) para identificar interacciones lentas durante esa parte crucial de la experiencia del usuario.
Cómo mejorar la INP
Hay disponible una colección de guías para optimizar la INP que te guiará en el proceso de identificar interacciones lentas en el campo y usar datos de lab para ayudarte a identificar las causas y optimizarlas.
Registro de cambios
En ocasiones, se descubren errores en las APIs que se usan para medir las métricas y, a veces, en las definiciones de las métricas. Como resultado, a veces se deben realizar cambios, y estos pueden aparecer como mejoras o regresiones en tus informes y paneles internos.
Para ayudarte a administrar esto, todos los cambios en la implementación o definición de estas métricas se mostrarán en este registro de cambios.
Si tienes comentarios sobre estas métricas, envíalos al grupo de Google web-vitals-feedback.
Ponga a prueba sus conocimientos
¿Cuál es el objetivo principal de la métrica INP?
¿Cuáles de los siguientes tipos de interacción se observan para calcular el INP? (Selecciona todas las opciones que correspondan).
¿Cómo se define la "latencia" de una interacción para la INP?
¿Cuál es la diferencia entre INP y FID?
¿En qué circunstancias es posible que los datos de INP no estén disponibles para una página en herramientas como PageSpeed Insights?
¿Cuál es la estrategia más eficaz para reproducir interacciones lentas en un entorno de lab?
✨ Este cuestionario fue generado por Gemini 1.5 y revisado por humanos. Comparte tus comentarios