Los datos de uso de Chrome muestran que el 90% del tiempo de un usuario en una página se destina después de que se carga. Por lo tanto, es importante medir con cuidado la capacidad de respuesta durante su ciclo de vida. Esto es lo que evalúa la métrica del INP.
Una buena capacidad de respuesta significa que una página responde rápidamente a las interacciones que se realizan con ella. Cuando una página responde a una interacción, el resultado es una respuesta visual, que el navegador presenta en el siguiente marco que presenta el navegador. La retroalimentación visual te indica, por ejemplo, si un artículo que agregas a un carrito de compras en línea realmente se está agregando, si se abrió un menú de navegación móvil, si el servidor está autenticando el contenido de un formulario de acceso, etc.
Algunas interacciones llevarán más tiempo que otras, pero, en el caso de las interacciones más complejas, es importante presentar rápidamente algunos comentarios visuales iniciales como una señal para el usuario de que algo está sucediendo. El tiempo hasta el siguiente procesamiento de imagen es la primera oportunidad para hacer esto. Por lo tanto, la intención de INP no es medir todos los efectos eventuales de la interacción (como las recuperaciones de red y las actualizaciones de la IU de otras operaciones asíncronas), sino el tiempo en el que se bloquea la próxima pintura. Si retrasas los comentarios visuales, podrías estar dando a los usuarios la impresión de que la página no responde a sus acciones.
El objetivo de INP es garantizar que el tiempo desde que un usuario inicia una interacción hasta que se pinta el siguiente fotograma sea lo más corto posible para todas o la mayoría de las interacciones que realice el usuario.
En el siguiente video, el ejemplo de la derecha ofrece información visual inmediata sobre la apertura de un acordeón. También demuestra cómo una capacidad de respuesta deficiente puede generar múltiples respuestas no deseadas en las entradas porque el usuario cree que la experiencia no funciona.
En este artículo, se explica cómo funciona INP, cómo se mide y se indican recursos para mejorarlo.
¿Qué es INP?
INP es una métrica que evalúa la capacidad de respuesta general de una página ante las interacciones del usuario observando la latencia de todas las interacciones de hacer clic, presionar y usar el teclado que ocurren durante la vida útil de la visita del usuario a una página. El valor de INP final es la interacción más larga observada, sin tener en cuenta los valores atípicos.
Como se indicó anteriormente, el INP se calcula observando todas las interacciones realizadas con una página. En la mayoría de los sitios, la interacción con la peor latencia se registra como INP. Sin embargo, en el caso de las páginas con una gran cantidad de interacciones, los problemas aleatorios pueden provocar una interacción inusualmente alta en un sitio responsivo. Cuantas más interacciones suceda, más probabilidades habrá de que ocurra. Para contrarrestar esta situación y medir mejor la capacidad de respuesta real de esos tipos de páginas, ignoramos la interacción más alta por cada 50 interacciones. La gran mayoría de las experiencias de página no tiene más de 50 interacciones, por lo que se informará la peor interacción. 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 dar un valor que la gran mayoría de los usuarios experimentan o 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 ser impulsada por JavaScript, CSS, los controles del navegador integrados (como los elementos de formulario) o una combinación de ellos.
La latencia de una interacción consiste en la duración más larga de un grupo de controladores de eventos que impulsa la interacción, desde el momento en que el usuario comienza la interacción hasta el momento en que se presenta el siguiente fotograma con información visual.
¿Qué es una buena puntuación de INP?
Fijar etiquetas como "buena" o "mala" en una métrica de capacidad de respuesta es difícil. Por un lado, debes 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 una 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 dispositivos móviles y computadoras de escritorio:
- Un INP inferior o superior a 200 milisegundos significa que la página tiene buena capacidad de respuesta.
- Un INP superior a 200 milisegundos e inferior o inferior a 500 milisegundos significa que la capacidad de respuesta de tu página necesita mejoras.
- Un INP superior a 500 milisegundos significa que tu página tiene una capacidad de respuesta deficiente.
¿Qué contiene una interacción?
A menudo, el principal impulsor de la interactividad es JavaScript, aunque los navegadores proporcionan interactividad a través de controles que no utilizan JavaScript, como casillas de verificación, botones de selección y controles con tecnología CSS.
En lo que respecta al INP, solo se observan los siguientes tipos de interacción:
- Hacer clic con un mouse.
- Presionar un dispositivo con pantalla táctil
- Presionar una tecla en un teclado físico o en pantalla
Las interacciones ocurren en el documento principal o en iframes incorporados en el documento, por ejemplo, cuando hacen clic en reproducir en un video incorporado. Los usuarios finales no sabrán lo que hay o no en un iframe. Por lo tanto, se necesita INP dentro de los iframes para medir la experiencia del usuario en la página de nivel superior. Ten en cuenta que las APIs web de JavaScript no tendrán acceso al contenido del iframe, por lo que es posible que no puedan medir el INP dentro de un iframe. Esto se mostrará como una diferencia entre CrUX y RUM.
Las interacciones pueden constar de dos partes, cada una con múltiples eventos. Por ejemplo, una combinación de teclas consta de los eventos keydown
, keypress
y keyup
. Las interacciones de toque contienen eventos pointerup
y pointerdown
. Se elige el evento con la mayor duración en la interacción como su latencia.
El INP se calcula cuando el usuario abandona la página, lo que genera un valor único que representa la capacidad de respuesta general de la página durante todo su ciclo de vida. Un INP bajo significa que una página responde de forma confiable a las entradas del usuario.
¿En qué se diferencia el INP del Retraso de primera entrada (FID)?
Si el INP considera todas las interacciones de la página, el Retraso de primera entrada (FID) solo representa la primera interacción. Además, solo mide el retraso de entrada de la primera interacción, no el tiempo que tarda en ejecutar los controladores de eventos ni el retraso en la presentación del siguiente fotograma.
Dado que los FID también son una métrica de capacidad de respuesta de la carga, la lógica es que, si la primera interacción realizada con una página en la fase de carga tiene poca o ninguna demora de entrada perceptible, significa que la página dio una buena primera impresión.
El INP es más que las primeras impresiones. Mediante el muestreo de todas las interacciones, la capacidad de respuesta se puede evaluar de manera exhaustiva, lo que hace que el INP sea un indicador de la capacidad de respuesta general más confiable que los FID.
¿Qué sucede si no se informa ningún valor del INP?
Es posible que una página no muestre ningún valor de INP. Esto puede suceder por varias razones:
- Se cargó la página, pero el usuario nunca hizo clic, presionó ni presionó una tecla del teclado.
- Se cargó la página, pero el usuario interactuó con ella mediante gestos que no implicaban hacer clic, presionar ni usar el teclado. Por ejemplo, desplazarse o colocar el cursor sobre los elementos no influye en el cálculo del INP.
- Un bot, como un rastreador de búsqueda o un navegador sin interfaz gráfica, tiene acceso a la página, ya que no tiene una secuencia de comandos que interactúe con la página.
Cómo medir el INP
El INP se puede medir tanto en el campo como en el lab con una variedad de herramientas.
En el campo
Idealmente, tu recorrido en la optimización de INP comenzará con los datos de campo. En el mejor de los casos, los datos de campo de la supervisión de usuarios reales (RUM) te proporcionarán no solo el valor de INP de una página, sino también datos contextuales que destacan 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, pulsación de tecla o toque) y otra información valiosa.
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 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 página.
Sin embargo, si bien CrUX es útil para indicarte que hay un problema a nivel general, a menudo no proporciona suficientes detalles para comprender por completo cuál es. Una solución de RUM puede ayudarte a desglosar en más detalle las páginas, los usuarios o las interacciones de los usuarios que tienen interacciones lentas. Poder atribuir el INP a las interacciones individuales evita las conjeturas y el esfuerzo desperdiciado.
En el laboratorio
Lo ideal es que comiences las pruebas en el lab cuando tengas datos de campo que sugieran que tus interacciones son lentas. Sin embargo, si no hay datos de campo, existen algunas estrategias para reproducir interacciones lentas en el lab. Estas estrategias incluyen seguir flujos de usuarios comunes y probar interacciones a lo largo del proceso, así como interactuar con la página durante la carga (cuando el subproceso principal suele estar más activo) para mostrar interacciones lentas durante esa parte crucial de la experiencia del usuario.
Cómo mejorar INP
Hay una colección de guías sobre la optimización de INP disponible para guiarte en el proceso de identificar interacciones lentas en el campo y usar datos de lab para desglosarlas y optimizarlas de diversas maneras.
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 propias métricas. Como resultado, a veces es necesario realizar cambios, y estos cambios pueden aparecer como mejoras o regresiones en sus informes y paneles internos.
Para ayudarte a administrar esto, todos los cambios que se realicen en la implementación o la definición de estas métricas se mostrarán en este REGISTRO DE CAMBIOS.
Si tienes comentarios sobre estas métricas, puedes enviarlos en el grupo de Google web-vitals-feedback.