A métrica Interaction to Next Paint mede a rapidez com que uma página responde visualmente à entrada do usuário, apresentando um valor representativo das piores latências de interação experimentadas durante uma visita. Ela substituiu o First Input Delay como uma métrica de responsividade do Core Web Vitals em março de 2024, e a mudança foi significativa: enquanto a métrica anterior capturava apenas o atraso antes do início do processamento na primeira interação, esta mede a duração total desde a entrada até o processamento e a renderização do próximo frame, considerando todas as interações da sessão.
Essa diferença é importante porque a métrica anterior favorecia muitos sites. Uma página podia registrar um excelente atraso na primeira interação, mas permanecer lenta durante todo o resto, porque a métrica ignorava quanto tempo o manipulador de eventos levava para ser executado e quanto tempo o navegador levava para renderizar o resultado, e porque considerava apenas uma interação. Sites que pareciam responsivos com a métrica antiga frequentemente não parecem com a nova, principalmente aplicativos de página única e qualquer interface com muita lógica do lado do cliente.
O valor relatado deriva das interações mais longas observadas, com uma tolerância para valores discrepantes em páginas com muitas interações, e o limite publicado pelo Google considera 200 milissegundos ou menos como estando no 75º percentil das experiências reais do usuário. Como captura todo o caminho desde a entrada até a renderização, pontuações baixas podem ter origem em vários pontos: tarefas longas na thread principal que impedem o navegador de processar o evento, manipuladores de eventos realizando trabalho excessivo de forma síncrona, instabilidade de layout causada pela leitura e gravação de estilos de forma intercalada e renderização dispendiosa após mudanças de estado.
O diagnóstico geralmente aponta para a execução de JavaScript em vez de condições de rede, o que diferencia essa métrica das medidas de carregamento. Causas comuns incluem grandes pacotes monolíticos executados na thread principal, scripts de terceiros executando tarefas arbitrárias durante a interação, renderizações adicionais do framework que afetam muito mais a árvore de recursos do que a alteração exige e manipuladores realizando computação síncrona que poderia ser adiada ou movida para fora da thread principal. Tarefas longas são o mecanismo subjacente na maioria dos casos, já que o navegador não pode responder à entrada enquanto uma tarefa está em execução.
A correção segue o diagnóstico. Dividir tarefas longas em partes menores com cessão explícita permite que o navegador processe a entrada entre elas. Adiar o trabalho não essencial até depois da atualização visual, para que o usuário veja uma resposta imediatamente, resolve o padrão mais comum. Reduzir a quantidade de JavaScript distribuída, auditar scripts de terceiros quanto ao custo na thread principal, virtualizar listas longas e mover cálculos pesados para um worker são medidas que abordam causas específicas. Fornecer feedback visual imediato para operações lentas não melhora o valor medido, mas altera a forma como o atraso é percebido.
Scripts de terceiros merecem atenção especial, pois são uma causa frequente de problemas e estão fora do controle direto da equipe. Widgets de chat, gerenciadores de consentimento, bibliotecas de análise, ferramentas de personalização e scripts de publicidade são executados na thread principal e podem ocupá-la justamente nos momentos em que um visitante tenta interagir. Auditar o custo na thread principal de cada serviço de terceiros, idealmente medindo a página com e sem ele, gera uma lista concreta do custo de cada fornecedor em termos de responsividade. Esse valor permite discutir a relação custo-benefício com as equipes que solicitaram cada ferramenta, o que geralmente é uma abordagem mais produtiva do que tentar otimizar o código do aplicativo em torno de um script que está consumindo a maior parte do orçamento disponível.
Como a métrica é determinada pelo código do aplicativo e não pela entrega de ativos, melhorá-la geralmente exige trabalho de engenharia em vez de configuração. Na prática, ela se situa na fronteira entre desempenho na web e desenvolvimento de produtosE isso é particularmente relevante para interfaces interativas de comércio e reservas, onde a falta de resposta em filtros, configurações e interações com o carrinho gera abandono, que aparece nas análises como desistências comuns sem causa aparente.