A última linha do JavaScript medição trecho adiciona um send
comando ga()
fila de comandos para enviar uma visualização de página para o Google Analytics:
ga('create', 'UA-XXXXX-Y', 'auto');ga('send', 'pageview');
O objeto que está fazendo o envio é o rastreador que foi agendada para a criação da linha de código anterior, e os dados que são enviados os dados armazenados no tracker.,
Este guia descreve as várias formas de enviar dados para o Google Analytics e explica como controlar os dados que são enviados.
Hits, hit types, and the Measurement Protocol
When a tracker sends data to Google Analytics it is called sending a hit, and every hit must have a hit type., A tag do Google Analytics envia um resultado do tipo pageview
; outro hit tipos include screenview
event
transaction
item
social
exception
e timing
. Este guia descreve os conceitos e métodos comuns a todos os tipos de acerto. As guias individuais para cada tipo de resposta positiva podem ser encontradas na secção que mede as interacções comuns com o utilizador na navegação do lado esquerdo.,
o hit é um pedido HTTP, consistindo de pares de Campos e valores codificados como uma string de consulta, e enviados para o protocolo de medição.
Se tiver as ferramentas de desenvolvimento do seu navegador abertas quando carregar uma página que usa análises.js, podes ver os sucessos que estão a ser enviados na página da rede. Procure por pedidos enviados para google-analytics.com/collect
.
quais os dados que são enviados
ao enviar um acerto para o protocolo de Medição, os rastreadores enviam todos os campos que estão atualmente armazenados e são parâmetros válidos do Protocolo de medição., Por exemplo, áreas como o title
e location
são enviadas mas cookieDomain
e hitCallback
não são.
em alguns casos, você quer enviar campos para o Google Analytics para o hit atual, mas não para quaisquer hits subsequentes. Um exemplo disso é um evento hit onde os campos eventAction
e eventLabel
são relevantes apenas para o hit atual.
para enviar campos apenas com o acerto actual, poderá passá-los como argumentos para o método send
., Para ter os dados de campo enviados com todos os acessos subsequentes, você deve atualizar o rastreador usando o método set
.
O método de envio
Um tracker send
método pode ser chamado diretamente no tracker próprio objeto ou pela adição de uma send
comando ga()
fila de comando. Uma vez que na maioria das vezes você não tem uma referência ao objeto rastreador, usando o ga()
fila de comandos é a maneira recomendada para enviar dados de rastreador para o Google Analytics.,
Utilizando o ga() fila de comandos
A assinatura para adicionar um send
comando ga()
fila de comando é da seguinte forma:
ga('send', , , );
Como mencionado acima, os valores especificados através de hitType
...fields
e fieldsObject
parâmetros são enviados para o atual hit só. Eles não são armazenados no objeto rastreador, nem são enviados com hits subsequentes.,
Se algum dos Campos passados com o id
já estiver definido no objecto de seguimento, os valores passados no comando serão usados em vez dos valores armazenados no seguimento.
chamadas para o send
comando deve especificar um tipo de hitt e, dependendo do tipo especificado, outros parâmetros também podem ser necessários. Veja os guias individuais para medir as interações comuns do usuário na navegação do lado esquerdo para mais detalhes.,
A maneira mais simples de usar o comando send
, que funciona para todos os tipos de acerto, é passar todos os campos usando o parâmetro fieldsObject
. Por exemplo:
ga('send', { hitType: 'event', eventCategory: 'Video', eventAction: 'play', eventLabel: 'cats.mp4'});
por conveniência, certos tipos de acerto permitem que Campos comumente usados sejam passados diretamente como argumentos para o comando send
., Por exemplo, o acima de send
comando para o “evento” hit tipo poderia ser reescrito como:
ga('send', 'event', 'Video', 'play', 'cats.mp4');
Para uma lista completa dos quais campos podem ser passados como argumentos para os vários bater tipos, consulte a seção “parâmetros” o método de envio de referência.
usando um localizador nomeado
Se estiver a usar um localizador nomeado em vez do localizador predefinido, poderá passar o seu nome no texto do comando.,
seguinte send
comando será chamado no tracker chamado “myTracker”:
ga('myTracker.send', 'event', 'Video', 'play', 'cats.mp4');
No tracker próprio objeto
Se você tem uma referência para o objeto tracker, você pode chamar tracker send
método diretamente:
ga(function(tracker) { tracker.send('event', 'Video', 'play', 'cats.mp4');});
Saber quando o hit foi enviado
Em alguns casos, você precisa saber quando um hit é feito a ser enviados para o Google Analytics, para que você possa agir imediatamente depois., Isto é comum quando você precisa gravar uma interação particular que levaria um usuário longe da página atual. Muitos navegadores param de executar JavaScript assim que a página começa a descarregar, o que significa a sua análise.os comandos do js para enviar hits podem nunca correr.
um exemplo disso é quando você quer enviar um evento para o Google Analytics para registrar que um usuário clicou no botão de envio de um formulário. Na maioria dos casos, se carregar no botão Enviar irá imediatamente iniciar o carregamento da página seguinte, e quaisquer comandos
não serão executados.,
a solução para isso é interceptar o evento para parar a página de descarga. Você pode então enviar seu hit para o Google Analytics, como de costume, e uma vez que o hit é feito sendo enviado, você pode voltar a apresentar o formulário programaticamente.
hitCallback
para ser notificado quando um hit terminar de enviar, você define o campo hitCallback
. hitCallback
é uma função que é chamada assim que o hit foi enviado com sucesso.,
O exemplo a seguir mostra como cancelar um formulário padrão de ação de enviar, enviar um hit para o Google Analytics e, em seguida, reenvie o formulário usando o hitCallback
função:
Manipulação de tempos de espera
O exemplo acima funciona muito bem, mas tem um sério problema. Se (por alguma razão) a análise.js library fails to load, the hitCallback
function will never run. E se a função hitCallback
nunca executar, os usuários nunca serão capazes de enviar o formulário.,
sempre que colocar a funcionalidade crítica do site dentro da função hitCallback
, você deve sempre usar uma função de tempo-limite para lidar com casos em que a análise.a biblioteca js não carrega.
O próximo exemplo atualiza o código acima para usar um tempo-limite. Se um segundo passa após o Utilizador carregar no botão enviar e o hitCallback
não tiver executado, o formulário será submetido de qualquer forma.
Se você está usando o padrão acima em muitos lugares em todo o seu site, provavelmente é mais fácil criar uma função de utilidade para lidar com tempos-limite.,
a seguinte função de utilidade aceita uma função como entrada e retorna uma nova função. Se a função devolvida for chamada antes do período-Limite (o tempo-limite por omissão é um segundo), ela limpa o tempo-limite e invoca a função de entrada. Se a função retornada não é chamada antes do período de tempo-limite, a função de entrada é chamada independentemente.
Agora você pode facilmente embrulhar todas as funções hitCallback
funções com um tempo-limite para garantir que o seu site funciona como esperado, mesmo nos casos em que os seus hits não conseguem enviar ou a análise.a biblioteca js nunca carrega.,
especificando diferentes mecanismos de transporte
por padrão, analíticos.a js escolhe o método HTTP e o mecanismo de transporte com o qual pode enviar acertos de forma otimizada. São três opções 'image'
(usando um Image
objeto), 'xhr'
(usando um XMLHttpRequest
objeto), ou 'beacon'
usando o novo navigator.sendBeacon
método.
os dois primeiros métodos compartilham o problema descrito na seção anterior (onde os acessos não são muitas vezes enviados se a página está sendo descarregada)., O método navigator.sendBeacon
, por contraste, é um novo recurso HTML criado para resolver este problema.
Se o seu navegador suporta o navigator.sendBeacon
, você pode especificar 'beacon'
transport
mecanismo e não terá de se preocupar com a definição de um hit de retorno de chamada.
o seguinte código define o mecanismo de transporte para 'beacon'
em navegadores que o suportam.
ga('create', 'UA-XXXXX-Y', 'auto');// Updates the tracker to use `navigator.sendBeacon` if available.ga('set', 'transport', 'beacon');
medir certos tipos de interações do utilizador pode, por vezes, requerer implementações complexas., No entanto, em muitos casos estas implementações já foram desenvolvidas e disponibilizadas como analíticas.plugins js. O próximo guia explica como usar a análise.plugins js com o id
fila de comandos.