Cliente de Rastreamento Javascript
Você pode usar o cliente de rastreamento JavaScript para rastrear qualquer aplicativo que suporte JavaScript: por exemplo, sites!
Este guia explicará como você pode usar o cliente de rastreamento JavaScript para personalizar a forma como alguns dos dados analíticos da web são registrados no MVMCloud Analytics.
Encontrando o Código de Rastreamento no MVMCloud Analytics
Para encontrar o código de rastreamento do seu site, siga as etapas abaixo:
- Faça login no MVMCloud Analytics com sua conta de Administrador;
- Clique em "Administração" (ícone de engrenagem) no menu superior direito;
- Clique em "Código de Rastreamento" no menu à esquerda (sob o menu "Sites");
- Clique na seção "Rastreamento JavaScript";
- Selecione o site que deseja rastrear;
- Copie e cole o código de rastreamento JavaScript nas suas páginas, logo após a tag de abertura
<body>
(ou dentro da seção<head>
).
O código de rastreamento tem a seguinte aparência:
Recursos do Rastreador JavaScript
Título da página personalizada
Por padrão, o MVMCloud Analytics usa o título da página HTML para rastrear o título da página, você pode personalizá-lo usando a função setDocumentTitle:
_paq.push(['setDocumentTitle', document.title]);
_paq.push(['trackPageView']);
Se você acompanha vários subdomínios no mesmo website , convém que os títulos de suas páginas sejam prefixados pelo subdomínio, facilitando a visualização do tráfego e dos dados de cada subdomínio. Você pode fazer isso simplesmente: Por padrão, o MVMCloud Analytics usa o título da página HTML para rastrear o título da página, você pode personalizá-lo usando a função setDocumentTitle:
_paq.push(['setDocumentTitle', document.domain + "/" + document.title]);
_paq.push(['trackPageView']);
Usuários avançados também podem gerar dinamicamente o nome da página, por exemplo, usando PHP:
_paq.push(['setDocumentTitle', "<?php echo $myPageTitle ?>"]);
_paq.push(['trackPageView']);
URL da página personalizada
Por padrão, o MVMCloud Analytics usa a URL da página atual como a URL da página nos relatórios. Você pode personalizar a URL da página para rastrear usando a função setCustomUrl.
_paq.push(['setCustomUrl', 'https://seudominio.com/sua-nova-pagina-url']);
Disparar eventos manualmente
Por padrão, o MVMCloud Analytics rastreia visualizações de página quando o código de rastreamento JavaScript é carregado e executado em cada visualização de página.
No entanto, em aplicativos da Web modernos, as interações do usuário não envolvem necessariamente o carregamento de uma nova página. Por exemplo, quando os usuários clicam em um link JavaScript ou quando clicam em uma guia (que aciona um evento JS) ou quando interagem com elementos da interface do usuário, você ainda pode rastrear essas interações com o MVMCloud Analytics.
Para rastrear qualquer interação do usuário ou clique com o MVMCloud Analytics, você pode chamar manualmente a função JavaScript trackEvent(). Por exemplo, se você quiser rastrear um clique em um menu JavaScript, poderá escrever:
<a href="#" onclick="_paq.push(['trackEvent', 'Menu', 'Catálogo']);">Página do catálogo</a>
Você pode aprender mais sobre o rastreamento de eventos neste guia.
Disparar conversões de meta manualmente
As metas no MVMCloud Analytics são definidas como partes "correspondentes" da URL (começa com, contém ou correspondência de expressão regular). Você também pode rastrear metas para determinadas exibições de página, downloads ou cliques de links externos.
Em algumas situações, você pode querer registrar conversões em outros tipos de ações, por exemplo:
- Quando um usuário envia um formulário;
- Quando um usuário permaneceu mais do que um determinado período de tempo na página;
- Quando um usuário faz alguma interação em seu aplicativo Flash;
- Quando um usuário tiver enviado seu carrinho e feito o pagamento: você pode fornecer o código de rastreamento MVMCloud Analytics ao site de pagamento que registrará as conversões em seu banco de dados MVMCloud Analytics, com a receita personalizada da conversão
Para acionar uma conversão de meta:
// Registre a conversão para a meta 1
_paq.push(['trackGoal', 1]);
Você também pode registrar uma conversão para essa meta com uma receita personalizada. Por exemplo, você pode gerar a chamada para trackGoal() dinamicamente para definir a receita da transação:
// Registre a conversão para a meta 1 com a receita personalizada configrada
_paq.push(['trackGoal', 1, <?php echo $cart->getCartValue(); ?>]);
Encontre mais informações na documentação de rastreamento de metas.
Meça com precisão o tempo gasto em cada página
Por padrão, quando um usuário visita apenas uma visualização de página durante uma visita, o MVMCloud Analytics assume que o visitante gastou 0 segundo no site. Isso tem algumas consequências:
- Quando o visitante visualizar apenas uma página, a "Duração da visita" será de 0 segundo;
- Quando o visitante visualizar mais de uma página, a última visualização da página da visita terá um "Tempo gasto na página" de 0 segundo;
É possível configurar o MVMCloud Analytics para medir com precisão o tempo gasto na visita. Para medir melhor o tempo gasto na visita, adicione ao seu código JavaScript o seguinte:
// Meça com precisão o tempo gasto em cada visita
_paq.push(['enableHeartBeatTimer']);
O MVMCloud Analytics então enviará solicitações para contar o tempo real gasto na visita, desde que o usuário esteja visualizando ativamente a página (ou seja, quando a guia estiver ativa e em foco). A solicitação de HeartBeat é executada quando:
- Alternar para outra guia do navegador depois que a guia atual estiver ativa por pelo menos 15 segundos (pode ser configurado, veja abaixo);
- Navegando para outra página dentro da mesma guia;
- Fechando a aba.
// Altere quanto tempo a guia precisa estar ativa para se
// contada como visualizada em segundos
// Requer que uma página seja visualizada por pelo menos
// 30 segundos para que a solicitação HeartBeat seja enviada.
_paq.push(['enableHeartBeatTimer', 30]);
Rastreamento de Ecommerce
O MVMCloud Analytics permite rastreamento de comércio eletrônico avançado e poderoso. Confira a documentação do Rastreamento de Ecommerce para obter mais informações sobre relatórios de comércio eletrônico e como configurar o acompanhamento de comércio eletrônico.
Rastreamento de Pesquisa Interna
O MVMCloud Analytics oferece um recurso avançado de análise de pesquisa no site, permitindo que você acompanhe como seus visitantes usam o mecanismo de pesquisa interno do site. Por padrão, o MVMCloud Analytics pode ler os parâmetros de URL que conterão a palavra-chave de pesquisa. No entanto, você também pode registrar a palavra-chave de pesquisa do site manualmente usando a função JavaScript trackSiteSearch(...).
Em seu site, você normalmente teria uma chamada para registrar visualizações de página por meio de trackPageView().
Em sua página de resultados de pesquisa, você chamaria a função trackSiteSearch(keyword, category, searchCount) para registrar a solicitação de pesquisa interna.
Observação: o parâmetro 'keyword' é obrigatório, mas category e searchCount são opcionais.
_paq.push(['trackSiteSearch',
// Palavra-chave (keyword)
"Banana",
// Categoria. Se você não precisa de categoria
// configure false neste campo
"Comida Orgâmica",
// Número de resultados por página. Zero indica
// nenhum resultado. Configure como false se você
// não precisa deste campo
0
]);
// Nós recomendamos não chamar trackPageView() nas
// Páginas de Resultado de Pesquisa
// _paq.push(['trackPageView']);
Também recomendamos definir o parâmetro searchCount, pois o MVMCloud Analytics relatará especificamente "palavras-chave sem resultado", ou seja, palavras-chave que foram pesquisadas, mas não retornaram nenhum resultado. Geralmente é muito interessante saber o que os usuários procuram, mas não encontram (ainda?) em seu site.
Dimensões Personalizadas
As dimensões personalizadas são um recurso poderoso que permite rastrear valores personalizados para cada visita e/ou cada ação (visualização de página, outlink, download). Antes de poder usar uma dimensão personalizada, você precisa configurar pelo menos uma dimensão, consulte o guia de como criar dimensões personalizadas. Você obterá uma ID numérica para cada dimensão personalizada configurada, que pode ser usada para definir um valor para ela.
Rastrear uma dimensão personalizada em solicitações de rastreamento
Para rastrear um valor, basta especificar o ID seguido de um valor:
_paq.push(['setCustomDimension', customDimensionId = 1, customDimensionValue = 'Membro']);
Observe que uma vez que uma dimensão personalizada é definida, o valor será usado para todas as solicitações de
rastreamento seguintes e pode levar a resultados imprecisos se isso não for desejado. Por exemplo, se você acompanhar uma
visualização de página, o valor da dimensão personalizada também será rastreado para cada evento seguinte, link de saída,
download etc. no mesmo carregamento de página. Chamar esse método não acionará uma solicitação de rastreamento, em vez disso,
os valores serão enviados junto com as solicitações de rastreamento a seguir. Para excluir um valor de dimensão personalizada
após uma chamada de solicitação de rastreamento _paq.push(['deleteCustomDimension', customDimensionId]);
Definindo uma dimensão personalizada para a exibição de página inicial
Para definir uma dimensão personalizada para a exibição da página inicial, certifique-se de posicionar a chamada do método setCustomDimensionantes de trackPageView:
_paq.push(['setCustomDimension', customDimensionId = 1, customDimensionValue = 'Membro']);
_paq.push(['trackPageView']);
// _paq.push(['enableLinkTracking']);
Acompanhamento de uma dimensão personalizada apenas para uma ação específica
É possível definir uma dimensão personalizada apenas para uma ação específica. Se você deseja rastrear uma visualização de página, pode enviar um ou mais valores de dimensão personalizada específicos junto com esta solicitação de rastreamento da seguinte forma:
_paq.push(['trackPageView', pageTitle, {dimension1: 'DimensionValue'}]);
Para definir um valor de dimensão, passe um objeto definindo uma ou várias propriedades como o último parâmetro (certifique-se de especificar todos os parâmetros conforme definido no método, não assumimos automaticamente que o último parâmetro é customData, mas todos os parâmetros que um método define precisam ser ser passado para cada método). O nome da propriedade para uma dimensão começa com dimension seguido por um ID de dimensão personalizada, por exemplo dimension1. O mesmo comportamento se aplica a vários outros métodos:
_paq.push(['trackEvent', category, action, name, value, {dimension1: 'DimensionValue'}]);
_paq.push(['trackSiteSearch', keyword, category, resultsCount, {dimension1: 'DimensionValue'}]);
_paq.push(['trackLink', url, linkType, {dimension1: 'DimensionValue'}]);
_paq.push(['trackGoal', idGoal, customRevenue, {dimension1: 'DimensionValue'}]);
A vantagem é que o valor da dimensão definida será usado apenas para esta ação específica e você não precisará excluir o valor após uma solicitação de rastreamento. Você pode definir vários valores de dimensão como este:
_paq.push(['trackPageView', pageTitle, {dimension1: 'DimensionValue',
dimension4: 'Test', dimension7: 'Value'}]);
Como recuperar um valor de dimensão personalizada
getCustomDimension(customDimensionId)
Esta função pode ser usada para obter o valor de uma dimensão personalizada. Só funcionará se uma dimensão personalizada tiver sido definida durante o carregamento da mesma página.
ID do Usuário
O ID do usuário é um recurso do MVMCloud Analytics que permite conectar os dados de um determinado usuário coletados de vários dispositivos e navegadores. Há duas etapas para implementar o ID do Usuário:
- Você deve atribuir uma string não vazia exclusiva e persistente que representa cada usuário conectado. Normalmente, esse ID será um endereço de e-mail ou um nome de usuário fornecido pelo seu sistema de autenticação.
- Você deve definir o ID de usuário para cada exibição de página, caso contrário, a exibição de página será rastreada sem o conjunto de ID de usuário.
- Você deve então passar esta string de ID de usuário para MVMCloud Analytics através da setUserIdchamada do método antes de chamar qualquer uma
das funções
track*
( trackPageview, trackEvent, trackGoal, trackSiteSearch, etc.) por exemplo:
_paq.push(['setUserId', 'ID_DO_USUARIO_AQUI']);
_paq.push(['trackPageView']);
Nota: ID_DO_USUARIO_AQUI deve ser uma string não vazia exclusiva e persistente que representa um usuário em vários dispositivos.
Quando o usuário estiver conectado, defina a ID do usuário
Vamos dar um exemplo. Imagine que seu site autentique seus usuários por meio de um formulário de login usando um script PHP. Aqui está um exemplo de como definir seu snippet de JavaScript:
var _paq = window._paq = window._paq || [];
<?php
// Se o usuário está autenticado (logged-in), execute 'setUserId'
// A variável $userId deve ser definida pelo servidor quando
// o usuário fizer a autenticação.
if (isset($userId)) {
echo sprintf("_paq.push(['setUserId', '%s']);", $userId);
}
?>
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
Quando o usuário fizer logout, redefina a ID do usuário
Quando o usuário tiver feito logout e um ID de usuário não estiver mais disponível, é recomendável notificar o MVMCloud Analytics chamando o resetUserIdmétodo antes de trackPageView.
Se você quiser criar uma nova visita quando os usuários fizerem logout, também poderá forçar o MVMCloud Analytics a criar uma nova visita ligando resetUserId e appendToTrackingUrl (duas vezes) conforme abaixo:
// O Usuário acabou de fazer o logout, é preciso fazer o reset do User ID
_paq.push(['resetUserId']);
// É preciso forçar que uma nova visita seja registrada após o logout
_paq.push(['appendToTrackingUrl', 'new_visit=1']);
_paq.push(['trackPageView']);
// Finalmente, tenha certeza de não continuar criando novas visitas daqui para frente
_paq.push(['appendToTrackingUrl', '']);
Rastreamento de Conteúdo
Existem várias maneiras de rastrear impressões e interações de conteúdo de forma manual, semiautomática e automática. Esteja ciente de que as impressões de conteúdo serão rastreadas usando o rastreamento em massa, que sempre enviará uma solicitação POST, mesmo se GET estiver configurado como padrão. Para obter mais detalhes, consulte o guia detalhado sobre rastreamento de conteúdo.
Rastrear todas as impressões de conteúdo em uma página
Você pode usar o método trackAllContentImpressions() para verificar todo o DOM em busca de blocos de conteúdo. Para cada bloco de conteúdo, rastrearemos uma impressão de conteúdo imediatamente. Se você deseja apenas rastrear a impressão de conteúdo visível, dê uma olhada em trackVisibleContentImpressions().
_paq.push(['trackPageView']);
_paq.push(['trackAllContentImpressions']);
Não enviaremos uma impressão do mesmo bloco de conteúdo duas vezes se você chamar esse método várias vezes, a menos que trackPageView() seja chamado enquanto isso. Isso é útil para aplicativos de página única.
Rastrear apenas as impressões de conteúdo visíveis em uma página
Ative para rastrear apenas as impressões de conteúdo visíveis por meio de trackVisibleContentImpressions(checkOnScroll, timeIntervalInMs). Com visível, queremos dizer que o bloco de conteúdo esteve na viewport e não está oculto (opacidade, visibilidade, exibição, ...).
- Opcionalmente, você pode dizer para não verificar novamente o DOM após cada rolagem, passando checkOnScroll=false. Caso contrário, será verificado se os blocos de conteúdo ocultos anteriormente se tornaram visíveis após uma rolagem e, em caso afirmativo, a impressão será rastreada.
- Limitação: Se um bloco de conteúdo for colocado dentro de um elemento rolável ( overflow: scroll), atualmente não detectamos quando tal elemento se torna visível.
- Opcionalmente, você pode nos instruir a verificar novamente todo o DOM em busca de novas impressões de conteúdo a cada X milissegundos passando timeIntervalInMs=500. Por padrão, vamos verificar novamente o DOM a cada 750 ms. Para desativá-lo, passe timeIntervalInMs=0.
- Refazer a varredura de todo o DOM e detectar o estado visível dos blocos de conteúdo pode demorar um pouco dependendo do navegador, hardware e quantidade de conteúdo. Caso seus quadros por segundo diminuam, você pode aumentar o intervalo ou desativá-lo completamente. No caso de desativá-lo, você ainda pode verificar novamente o DOM manualmente a qualquer momento chamando esse método novamente ou trackContentImpressionsWithinNode().
Ambos checkOnScroll e timeIntervalInMs não podem ser alterados depois que esse método foi chamado pela primeira vez.
_paq.push(['trackPageView']);
_paq.push(['trackVisibleContentImpressions', true, 750]);
Rastrear impressões de conteúdo apenas para uma parte da página
Use o método trackContentImpressionsWithinNode(domNode, contentTarget) se estiver adicionando elementos ao seu DOM depois de rastrearmos as impressões iniciais. Chamar esse método garantirá que uma impressão seja rastreada para todos os blocos de conteúdo contidos nesse nó.
Exemplo:
var div = $('<div>...<div data-track-content>...</div>...<div data-track-content>...</div></div>');
$('#id').append(div);
_paq.push(['trackContentImpressionsWithinNode', div[0]]);
Detectaríamos duas novas impressões de conteúdo neste exemplo. Caso você tenha ativado o rastreamento apenas de blocos de conteúdo visíveis, nós respeitaremos isso.
Acompanhe uma interação semiautomática
As interações com blocos de conteúdo geralmente são rastreadas automaticamente assim que um visitante clica nele. Às vezes, você pode querer acionar uma interação manualmente, por exemplo, caso queira acionar uma interação com base no envio de um formulário ou em um clique duplo. Para fazer isso, chame o método trackContentInteractionNode(domNode, contentInteraction).
Exemplo:
formElement.addEventListener('submit', function () {
_paq.push(['trackContentInteractionNode', this, 'submittedForm']);
});
- O passado domNode pode ser qualquer nó dentro de um bloco de conteúdo ou o próprio elemento do bloco de conteúdo. Nada será rastreado caso nenhum bloco de conteúdo seja encontrado.
- Opcionalmente, você pode definir o nome da interação de conteúdo, por exemplo click ou submit. Se nenhum for fornecido, o valor Unknown será usado.
- Você deve desativar o rastreamento automático de interação desse bloco de conteúdo definindo a classe CSS piwikContentIgnoreInteraction ou o atributo data-content-ignoreinteraction. Caso contrário, uma interação pode ser rastreada assim que um visitante clicar.
Chamamos esse tipo de rastreamento semiautomático, pois você acionou a interação manualmente, mas o nome do conteúdo, a peça e o destino são detectados automaticamente. A detecção automática do nome e da peça do conteúdo garante que possamos mapear a interação com uma impressão rastreada anteriormente.
Acompanhamento de impressões e interações de conteúdo manualmente
Você deve usar os métodos trackContentImpression(contentName, contentPiece, contentTarget) e trackContentInteraction( contentInteraction, contentName, contentPiece, contentTarget) apenas quando estão juntos. Não é recomendado usar trackContentInteraction() depois que uma impressão foi rastreada automaticamente, pois podemos mapear uma interação para uma impressão somente se você definir o mesmo nome de conteúdo e parte que foi usado para rastrear a impressão relacionada.
Exemplo
_paq.push(['trackContentImpression', 'Content Name', 'Content Piece', 'https://www.example.com']);
div.addEventListener('click', function () {
_paq.push(['trackContentInteraction', 'tabActivated', 'Content Name', 'Content Piece', 'https://www.example.com']);
});
Esteja ciente de que cada chamada para esses métodos enviará uma solicitação para sua instância do rastreador MVMCloud Analytics. Fazer isso muitas vezes pode causar problemas de desempenho.
Medindo Domínios e/ou Subdomínios
Se você está rastreando um domínio ou um subdomínio, ou ambos ao mesmo tempo, pode ser necessário configurar o código de rastreamento JavaScript do MVMCloud Analytics. Há duas coisas que podem precisar ser configuradas: 1) como os cookies de rastreamento são criados e compartilhados e 2) quais cliques devem ser rastreados como 'Links de Saída'.
Rastreando um domínio
Este é o caso de uso padrão. O MVMCloud Analytics rastreia as visitas de um nome de domínio sem subdomínio, em um único site do MVMCloud Analytics.
// Default Tracking code
_paq.push(['setSiteId', 1]);
_paq.push(['setTrackerUrl', u+'js/tracker.php']);
_paq.push(['trackPageView']);
Se você estiver rastreando um subdomínio específico, esse código de rastreamento padrão também funcionará.
Rastreamento de um domínio e seus subdomínios no mesmo site
Para registrar usuários no nome de domínio principal e em qualquer um de seus subdomínios, dizemos ao MVMCloud Analytics para compartilhar os cookies em todos os subdomínios. setCookieDomain() é chamado no código de rastreamento do MVMCloud Analytics em example.com/* e todos os subdomínios.
_paq.push(['setSiteId', 1]);
_paq.push(['setTrackerUrl', u+'js/tracker.php']);
// Compartilha o cookie de rastreamento entre
// example.com, www.example.com, subdomain.example.com, ...
_paq.push(['setCookieDomain', '*.example.com']);
// Informa o domínio do site, então, clicks nestes
// domínios não serão rastreados como 'Links externos'
_paq.push(['setDomains', '*.example.com']);
_paq.push(['trackPageView']);
Rastreando seus visitantes em vários nomes de domínio no mesmo site
Para rastrear com precisão um visitante em diferentes nomes de domínio em uma única visita em um site do MVMCloud Analytics, precisamos configurar o que é chamado de link entre domínios. O rastreamento de domínio cruzado do MVMCloud Analytics garante que, quando o visitante visitar vários sites e nomes de domínio, os dados do visitante sejam armazenados na mesma visita e que o ID do visitante seja reutilizado nos nomes de domínio. Um caso de uso típico em que é necessário um domínio cruzado é, por exemplo, quando uma loja on-line de comércio eletrônico está ativa www.awesome-shop.com e a tecnologia do carrinho de compras de comércio eletrônico está em outro domínio, como secure.cart.com.
A vinculação entre domínios usa uma combinação dos dois métodos de rastreamento setDomains e enableCrossDomainLinking. Saiba como configurar a vinculação entre domínios em nosso guia: Como medir com precisão um mesmo visitante em vários nomes de domínio (vinculação entre domínios)?
Rastrear subdiretórios de um domínio em sites separados
Ao rastrear subdiretórios de um domínio em seu próprio site separado no MVMCloud Analytics, é recomendável personalizar o código de rastreamento para garantir a precisão e o desempenho ideais dos dados.
Por exemplo, se o seu site oferece uma funcionalidade de 'Perfil de usuário', você pode querer rastrear cada página de perfil de usuário em um site separado no MVMCloud Analytics. Na página inicial do domínio principal, você usaria o código de rastreamento padrão:
// idSite = X para a Homepage
// Em Administração > Sites para idSite=X, a URL é configurada para `example.com/`
_paq.push(['setSiteId', X]);
_paq.push(['setTrackerUrl', u+'js/tracker.php']);
_paq.push(['trackPageView']);
Na página (e em todos os outros perfis de usuário example.com/user/MyUsername), você construiria chamadas para custom setSiteId, setCookiePath e setDomains.
// O idSite Y será diferente das outras páginas de usuário
// Em Administração > Sites para idSite=Y, a URL é configurada
// para `example.com/user/MyUsername`
_paq.push(['setSiteId', Y]);
// Cria o cookie de rastreamento especificamente em `example.com/user/MyUsername`
_paq.push(['setCookiePath', '/user/MyUsername']);
// Informa ao MVMCloud Analytics o domínio do site, desta forma,
// clicks em outras páginas serão rastreados como
// "Links externos" (ex: /user/AnotherUsername)
_paq.push(['setDomains', 'example.com/user/MyUsername']);
_paq.push(['setTrackerUrl', u+'MVMCloud Analytics.php']);
_paq.push(['trackPageView']);
Ao rastrear muitos subdiretórios em sites separados, a função setCookiePath impede que o número de cookies aumente rapidamente e impede que o navegador exclua alguns dos cookies. Isso garante a precisão ideal dos dados e melhora o desempenho de seus usuários (menos cookies são enviados a cada solicitação).
A função setDomains garante que os cliques dos usuários que saem do seu site (subdiretório example.com/user/MyUsername) sejam rastreados corretamente como 'Links externos'.
Rastreando um Grupo de Páginas em um Site Separado
Em alguns casos raros, você pode querer rastrear todas as páginas que correspondem a um caractere curinga em um determinado site e rastrear cliques em outras páginas (que não correspondem ao caractere curinga) como 'Links externos'.
Nas páginas /index_fr.htmou /index_en.htm escreva:
// cliques em links que não começam com
// example.com/index serão rastreados como 'Links externos'
_paq.push(['setDomains', 'example.com/index*']);
// ao usar um curinga *, não é preciso configurar
// cookies com `setCookieDomain`
// ou `setCookiePath`, porque os cookies são criados
// corretamente no domínio principal por padrão.
_paq.push(['setTrackerUrl', u+'js/tracker.php']);
_paq.push(['trackPageView']);
Notas:
- O curinga * é suportado apenas quando especificado no final da string.
- Como o caractere curinga pode corresponder a vários caminhos, chamadas setCookieDomain ou setCookiePath são omitidas para garantir que o cookie de rastreamento seja compartilhado corretamente para todas as páginas correspondentes ao caractere curinga.
Rastreamento de Download e Link Externo
O código padrão do rastreador JavaScript do MVMCloud Analytics é habilita automaticamente para o rastreamento de download e link externo, o que é feito chamando a função enableLinkTracking:
_paq.push(['enableLinkTracking']);
Recomenda-se adicionar esta linha logo após a primeira chamada para trackPageView ou trackEvent.
Links externos são rastreados automaticamente
Por padrão, todos os links para domínios diferentes do domínio atual têm o rastreamento de cliques ativado e cada clique será contado como um link externo. Se você usar vários domínios e subdomínios, poderá ver cliques em seus subdomínios aparecendo no menu Comportamento > Links externos.
Rastrear outlinks e ignorar alias de domínio
Se você deseja que apenas cliques em sites externos apareçam em seu relatório de links externos, use a função setDomains() para especificar a lista de alias de domínios ou subdomínios. Domínios curinga (*.example.org) são suportados para permitir que você ignore facilmente os cliques em todos os subdomínios.
// Não rastreie links externos em todos os cliques que apontam para *.hostname1.com ou *.hostname2.com.
// Nota: O site atualmente rastreado é adicionado a este conjunto automaticamente.
_paq(['setDomains', ["*.hostname1.com", "hostname2.com"]]);
_paq.push(['trackPageView']);
Você também pode anexar um caminho a um domínio e o MVMCloud Analytics detectará corretamente links para o mesmo domínio, mas caminhos diferentes como um link externo.
// Não rastreie links externos em todos os cliques para
// *.hostname1.com/product1/* or *.hostname2.com/product1/*
// Rastreie todos os cliques que não apontam para
// *.hostname1.com/product1/* or *.hostname2.com/product1/* as outlink.
_paq(['setDomains', ["*.hostname1.com/product1", "hostname2.com/product1"]]);
Saiba mais sobre este caso de uso Rastrear subdiretórios de um domínio em sites separados .
Rastrear um clique como um link externo via CSS ou JavaScript
Se você deseja forçar o MVMCloud Analytics a considerar um link como um link externo (links para o domínio atual ou para um dos alias de domínios), você pode adicionar a classe css piwik_link ao link:
<a href='https://mysite.com/partner/' class='piwik_link'>Link que eu qeuro rastrear como link externo</a>
Observação: você pode personalizar e renomear a classe CSS usada para forçar um clique a ser registrado como um link externo:
// Agora todos os cliques em links com a classe "external" serão contabilizados como link externo.
// Você também pode passar como um arra de strings
_paq.push(['setLinkClasses', "external"]);
_paq.push(['trackPageView']);
Como alternativa, você pode usar o JavaScript para acionar manualmente um clique em um link externo (funcionará da mesma forma para visualizações de página ou downloads de arquivos). Neste exemplo, o link extern personalizado é acionado quando o endereço de e-mail é clicado:
<a href="mailto:[email protected]" target="_blank" onClick="_paq.push(['trackLink', 'https://mydomain.co.uk/mailto/Agent namexyz', 'link']);">[email protected] </a>
Rastreamento de Downloads de Arquivos
Por padrão, qualquer arquivo que termine com uma dessas extensões será considerado um 'download' na interface do MVMCloud Analytics:
7z|aac|arc|arj|apk|asf|asx|avi|bin|bz|bz2|csv|deb|dmg|doc|
exe|flv|gif|gz|gzip|hqx|jar|jpg|jpeg|js|mp2|mp3|mp4|mpg|
mpeg|mov|movie|msi|msp|odb|odf|odg|odp|ods|odt|ogg|ogv|
pdf|phps|png|ppt|qt|qtm|ra|ram|rar|rpm|sea|sit|tar|
tbz|tbz2|tgz|torrent|txt|wav|wma|wmv|wpd||xls|xml|z|zip
Personalize o tipo de arquivos rastreados como baixados
Para substituir a lista de extensões que deseja rastrear como downloads de arquivos, você pode usar setDownloadExtensions(string):
// Agora somente cliques em imagens serão rastreados
_paq.push(['setDownloadExtensions', "jpg|png|gif"]);
_paq.push(['trackPageView']);
Se você deseja rastrear um novo tipo de arquivo, basta adicioná-lo à lista usando addDownloadExtensions(filetype):
// Cliques em URLs terminando em mp5 ou mp6 serão contados como downloads
_paq.push(['addDownloadExtensions', "mp5|mp6"]);
_paq.push(['trackPageView']);
Se você quiser ignorar um tipo de arquivo especial, basta removê-lo da lista usando removeDownloadExtensions(filetype):
// Cliques em URLs terminadas em png ou mp4 não serão contados como downloads
_paq.push(['removeDownloadExtensions', "png|mp4"]);
_paq.push(['trackPageView']);
Registrando Um Clique Como Um Download
Se você quiser forçar o MVMCloud Analytics a considerar um link como um download, você pode adicionar a classe css piwik_download ao link:
<a href='last.php' class='piwik_download'>Link que eu quero rastrear como um download</a>
Observação: você pode personalizar e renomear a classe CSS usada para forçar um clique a ser registrado como um download:
// Agora todos os cliques nos links com a classe css "download"
// serão considerados como downloads.
// Você também pode passar um array de strings
_paq.push(['setDownloadClasses', "download"]);
_paq.push(['trackPageView']);
Como alternativa, você pode usar o JavaScript para acionar manualmente um clique em um download. Neste exemplo, o download personalizado é acionado quando o link é clicado:
<a href="https://secure.example.com/this-is-a-file-url" target="_blank"
onClick="_paq.push(['trackLink', 'https://mydomain.co.uk/mailto/Agent namexyz', 'download']);">Download</a>
Alterar o Temporizador de Pausa
Quando um usuário clica para baixar um arquivo ou clica em um link de saída, o MVMCloud Analytics o registra. Para isso, adiciona um pequeno atraso antes que o usuário seja redirecionado para o arquivo ou link solicitado. O valor padrão é 500 ms, mas você pode configurá-lo para um período de tempo menor. Observe, no entanto, que ao fazê-lo corre-se o risco de este período de tempo não ser suficiente para que os dados sejam registados no MVMCloud Analytics.
_paq.push(['setLinkTrackingTimer', 250]); // 250 milissegundos
_paq.push(['trackPageView']);
Desativando o Rastreamento de Download e Link Externo
Por padrão, o código de rastreamento do MVMCloud Analytics permite cliques e rastreamento de download. Para desativar todo o rastreamento automático de download e link externo, você deve remover a chamada para a função enableLinkTracking():
_paq.push(['trackPageView']);
// Comente a chamada que habilita o rastreio de link
// _paq.push(['enableLinkTracking']);
Desativando para Classes CSS Específicas
Você pode desativar o rastreamento automático de download e link externo para links com classes CSS específicas:
// Você também pode passar ym array de strings
_paq.push(['setIgnoreClasses', "no-tracking"]);
_paq.push(['trackPageView']);
Isso fará com que os cliques em um link Teste não sejam contabilizados.
Desativando para um Link Específico
Se você deseja ignorar o rastreamento de download ou link externo em um link específico, pode adicionar a classe css 'piwik_ignore' a ele:
<a href='https://builds.MVMCloud Analytics.org/latest.zip' class='piwik_ignore'>Arquivo que não quero que seja rastreado como download</a>
Pedindo Consentimento para Rastreamento
A coleta e processamento de dados pessoais é regulada por leis e regulamentos específicos, o MVMCloud Analytics possui ferramentas que permitem a conformidade em relação a estas leis. Veja como o MVMCloud Analytics está em conformidade com:
- LGPD (Lei Geral de Prodteção de Dados Pessoais) brasileira;
- GDPR (General Data Protection Regulation) européia.
Cancelamento personalizado
Se você deseja fornecer a seus usuários a capacidade de recusar totalmente o rastreamento, use um formulário de cancelamento. O MVMCloud Analytics vem com uma implementação de formulário de exclusão que usa cookies de terceiros (que você pode configurar no MVMCloud Analytics na página Administração >> Privacidade).
Este formulário é simples de incorporar, pois requer apenas que você adicione um iframe ao seu site, mas nem sempre é o ideal. Alguns usuários bloqueiam cookies de terceiros fazendo com que o formulário de exclusão não funcione para eles. Você também pode querer exibir texto, ou gráficos personalizados no formulário de desativação, ou permitir que os usuários desativem seus sites individualmente, em vez de todos.
Nesse caso, você pode querer usar um formulário de desativação personalizado. As especificidades da criação de um formulário HTML/JS estão fora do escopo deste documento, mas há algumas coisas que todo formulário de desativação personalizado terá que fazer: verificar se o usuário está excluído do rastreamento no momento, excluir um usuário e incluir um usuário no rastreamento. Aqui está um exemplo de como fazer:
Verificar se o usuário está excluído do rastreamento no momento
Use o método isUserOptedOut()
assim:
_paq.push([function () {
if (this.isUserOptedOut()) {
// ... modifique o formulário para informar o usuário que ele já está excluído do rastreamento ...
} else {
// ... modifique o formulário para informar o usuário que ele já está incluído do rastreamento ...
}
}])
Excluir um usuário do rastreamento
Use o método optUserOut()
:
_paq.push(['optUserOut']);
Incluir um usuário do rastreamento
Use o método forgetUserOptOut()
:
_paq.push(['forgetUserOptOut']);
Abaixo está um exemplo de formulário de desativação que replica o formulário de desativação integrado do MVMCloud Analytics:
<div id="optout-form">
<p>Você pode optar por não ter um número de identificação de cookie de análise da web exclusivo atribuído ao seu computador para evitar a agregação e análise de dados coletados neste site.</p>
<p>Para fazer essa escolha, clique abaixo para receber um cookie de exclusão.</p>
<p>
<input type="checkbox" id="optout" />
<label for="optout"><strong></strong></label>
</p>
</div>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
function setOptOutText(element) {
_paq.push([function() {
element.checked = !this.isUserOptedOut();
document.querySelector('label[for=optout] strong').innerText = this.isUserOptedOut()
? 'Você atualmente está excluído do rastreamento. Clique aqui para ser incluído.'
: 'Você atualmente está incluído no rastreamento. Clique aqui para ser excluído.';
}]);
}
var optOut = document.getElementById("optout");
optOut.addEventListener("click", function() {
if (this.checked) {
_paq.push(['forgetUserOptOut']);
} else {
_paq.push(['optUserOut']);
}
setOptOutText(optOut);
});
setOptOutText(optOut);
});
</script>