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.