Google Analytics com vários ambientes

11

Planejamos usar o Google Analytics em nossa organização e sou responsável por configurá-lo. Eu queria saber como lidar com vários ambientes. Certamente, não queremos coletar dados durante o desenvolvimento e o controle de qualidade (ou talvez coletar dados em uma conta de análise diferente), mas queremos quando o site entra em produção (obviamente).

  • Como você lida com vários ambientes e com o Google Analytics?
  • Você configura várias contas para o Google Analytics e usa uma, dependendo do ambiente?

Estamos usando o ASP.NET 2.0, se isso importa.

marco-fiset
fonte

Respostas:

7

A resposta mais fácil é sim, configure várias contas para cada ambiente. Em seguida, substitua o ID do perfil (o texto que se parece com 'UA-XXXXX-X', como visto aqui ) pelo ID correto do ambiente desejado.

Como você está usando o ASP.NET, você pode armazenar o ID do perfil no web.config. Isso levará a necessidade de incorporar o código .NET no JavaScript (o que pode ou não ser bom). Você também pode configurar a configuração de produção para ser a única configuração a gerar o código de rastreamento, mas isso levaria à liberação do código que não foi testado.

Dependendo de como você hospeda seu site (dev.domínio.tld, test.domain.tld, www.domain.tld), é possível usar um único perfil e filtrar os resultados com base no subdomínio / pasta / URL. O Google tem um artigo muito bom sobre os vários cenários de rastreamento .

Fammy
fonte
2
várias contas por ambiente são definitivamente o caminho a percorrer aqui
Wyatt Barnett
7

Outra opção seria perfis do Google Analytics . Use a mesma conta em todos os ambientes, mas adicione um filtro de nome de host em cada perfil para incluir apenas o tráfego do respectivo ambiente.

Por exemplo, se o seu ambiente interno de controle de qualidade for qa.example.com, crie um perfil de "controle de qualidade" no Google Analytics com um filtro personalizado para incluir apenas a correspondência de nomes de host ^qa\.example\.com$. No seu perfil "Produção", faça o oposto e exclua o tráfego dos nomes de host internos.

Mateus
fonte
Isso é muito fácil de fazer, poderoso e uma variável a menos para configurar dentro do arquivo de configuração.
1

Aqui está o que eu finalmente fiz (não gostei da idéia de incorporar o código .Net dentro do javascript):

  • Configurei duas contas do Google Analytics, uma para desenvolvimento / teste e outra para produção
  • Crie uma página que retorne o ID da conta do Google Analytics (do web.config) como seu corpo.
  • Em $ (document) .ready, faça uma chamada ajax para a página
  • No Ajax concluído, chame o script do Google Analytics com a resposta (que contém o ID da conta)

Portanto, dependendo do ambiente em que implanto, uso uma das versões do arquivo web.config que contém o ID da conta correta.

É um pouco mais complicado, mas não envolve a geração de javascript a partir do .NET, e tem sido muito simples com o jQuery.

Aqui está o código final:

var setupGoogleAnalytics = function (clientNumber) {
    var gaq = gaq || [];
    gaq.push(['_setAccount', clientNumber]);
    gaq.push(['_setDomainName', 'none']);
    gaq.push(['_trackPageview']);

    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}

$(document).ready(function(){
    $.ajax({
        url: "GetGAClientNumber.aspx",
        success: function(data) {
            setupGoogleAnalytics(data);
        }
    });
});

E funciona perfeitamente!

marco-fiset
fonte
6
Parece um desperdício fazer uma solicitação AJAX em cada carregamento de página simplesmente para obter o número da conta.
Bob Banks
1
Não há nada errado em incorporar uma <%= ASP %>tag dentro do Javascript - basta colocar o mínimo dentro do JS e qualquer outra consulta / lógica em outro lugar.
Simon East.
0

Você pode garantir que, durante o desenvolvimento e o controle de qualidade, o site seja acessado apenas internamente a partir de máquinas na rede da sua empresa?

Se sim, você pode simplesmente usar a mesma conta de análise que será usada para produção e filtrar todo o tráfego de dentro da sua organização .

Citação no link:

Se você deseja excluir o tráfego interno da exibição nos seus relatórios, é possível filtrar um endereço IP específico ou um intervalo de endereços IP. Você também pode usar cookies para filtrar visitas de usuários específicos. Vamos explicar como abaixo.

Christian Specht
fonte
Embora isso definitivamente funcione, quando você deseja testar a implementação de eventos e outros dados rastreáveis ​​em tempo real; isso torna tudo muito difícil sem um perfil isolado, sem exibir ou usá-lo.