Velocidade do usuário

Este guia descreve como avaliar períodos usando analytics.js.

Visão geral

Estudos demonstraram que a redução do tempo de carregamento da página melhora a experiência geral do usuário de um site. O Google Analytics tem vários relatórios eficientes que avaliam e informam os tempos de carregamento das páginas de forma automática. No entanto, também é possível avaliar as informações de velocidade personalizadas para analisar o desempenho específico do seu site.

Com a velocidade do usuário, os desenvolvedores podem avaliar períodos usando a biblioteca analytics.js. Isso é particularmente útil para os desenvolvedores avaliarem a latência, ou o tempo gasto, das solicitações de AJAX e do carregamento de recursos da Web.

Implementação

Os hits de velocidade do usuário podem ser enviados usando o comando send e especificando um hitType de timing. O comando send tem a seguinte assinatura para o tipo de hit timing:

ga('send', 'timing', [timingCategory], [timingVar], [timingValue], [timingLabel], [fieldsObject]);

Campos de velocidade do usuário

A tabela a seguir resume os campos de velocidade do usuário:

Nome do campo Tipo de valor Obrigatório Descrição
timingCategory texto sim Uma string para classificar todas as variáveis de velocidade do usuário em grupos lógicos (por exemplo, 'JS Dependencies').
timingVar texto sim Uma string para identificar a variável que está sendo registrada (por exemplo, 'load').
timingValue número inteiro sim O número de milissegundos em tempo decorrido para informar ao Google Analytics (por exemplo, 20).
timingLabel texto não Uma string que pode ser usada para adicionar flexibilidade à visualização da velocidade do usuário nos relatórios (por exemplo, 'Google CDN').

Exemplo:

O comando a seguir envia um hit de velocidade do usuário ao Google Analytics indicando que a página da Web atual levou 3.549 milissegundos para carregar todas as dependências de JavaScript externas:

ga('send', 'timing', 'JS Dependencies', 'load', 3549);

Os campos transmitidos nos parâmetros de conveniência também podem ser especificados em fieldsObject, assim como todos os comandos send. O comando acima pode ser reescrito como:

ga('send', {
  hitType: 'timing',
  timingCategory: 'JS Dependencies',
  timingVar: 'load',
  timingValue: 3549
});

Medição de tempo

Ao enviar dados de velocidade do usuário, é preciso especificar os milissegundos gastos no parâmetro timingValue. Cabe a você escrever códigos para capturar esse período.

A maneira mais fácil de fazer isso é criando um timestamp no início de um período e outro no final. Então, você pode ver a diferença entre os dois timestamps para chegar ao tempo gasto.

A maioria dos navegadores modernos é compatível com a API Navigation Timing, que inclui métodos no objeto window.performance para medir o desempenho de páginas da Web com dados de tempo em alta resolução.

O exemplo a seguir usa o método performance.now(), que retorna o tempo decorrido desde o início do carregamento da página:

// Feature detects Navigation Timing API support.
if (window.performance) {
  // Gets the number of milliseconds since page load
  // (and rounds the result since the value must be an integer).
  var timeSincePageLoad = Math.round(performance.now());

  // Sends the timing hit to Google Analytics.
  ga('send', 'timing', 'JS Dependencies', 'load', timeSincePageLoad);
}

Considerações sobre a amostragem

O Google Analytics analisa por amostragem os hits de velocidade durante o processamento para garantir uma distribuição equitativa dos recursos do sistema para esse recurso.

A taxa em que os hits de velocidade são analisados é determinada pelo número total de hits de exibições de página recebidos durante o dia anterior para a propriedade. A tabela a seguir descreve como a taxa de amostragem de velocidade é determinada:

Contagem total de hits de exibição de página (dia anterior) Número máximo de hits de velocidade processados
De 0 a 1.000 100
De 1.000 a 100.000 10% da contagem total de hits de exibição de página
De 100.000 a 1.000.000 10.000
Mais de 1.000.000 1% da contagem total de hits de exibição de página

Limitação do número de hits enviados

Para evitar o envio de hits do Google Analytics que não serão processados, a analytics.js permite controlar a porcentagem de hits enviados pelas opções de configuração sampleRate e siteSpeedSampleRate. Por padrão, esses campos são definidos como 100% e 1%, respectivamente. Você pode ajustar esses valores para aproximar mais o número de hits de velocidade que o Google Analytics processará com base nas suas contagens médias de visualizações de página por dia.