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 uma série de relatórios eficientes que avaliam e informam automaticamente sobre os tempos de carregamento das páginas. No entanto, também é possível acompanhar informações de tempos personalizados para avaliar as informações de desempenho específicas 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

É possível enviar hits de velocidade do usuário por meio do uso do comando send e da especificação de um hitType de timing. O comando send tem a assinatura a seguir 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 gravada (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').

Exemplos:

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

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

Assim como acontece com todos os comandos send, os campos transmitidos nos parâmetros de conveniência também são especificados no fieldsObject. 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 da velocidade do usuário, você especifica a quantidade em milissegundos gasta 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 de tempo de navegação, que inclui métodos no objeto window.performance para avaliar o desempenho de páginas da Web por meio de dados de tempo de alta resolução.

O exemplo a seguir usa o método performance.now(), que retorna a quantidade de tempo decorrido desde que a página começou a ser carregada pela primeira vez:

// 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 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 que serão processados
0 - 1.000 100
1.000 - 100.000 10% da contagem total de hits de exibição de página
100.000 - 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 ao Google Analytics de hits que não serão processados, analytics.js permite que você controle a porcentagem de hits que são enviados por meio das 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 exibições de página por dia.