Dimensões personalizadas no Google Analytics que nos salvaram mais de uma vez

Ao configurar a análise por meio do Google Analytics (GA), os parâmetros do usuário ou o CD ( dimensões personalizadas ) geralmente são ignorados. Isso se deve à dificuldade de entender seu escopo: não está claro exatamente como os CDs podem ajudar na coleta e análise de dados e como eles estão configurados. Este artigo fala sobre os principais CDs que usamos no Adventum em muitos projetos e sobre o processo de instalação.

O que são opções de usuário


Para criar um relatório no Google Analytics, estão disponíveis mais de 200 parâmetros e métricas diferentes, como "origem", "cidade", "navegador", "sistema operacional" e muitos outros. Como os parâmetros padrão nem sempre são suficientes para análise, o Google oferece aos usuários a capacidade de criar seus próprios. O valor do CD pode ser transferido com qualquer ocorrência do usuário. Por exemplo, usando parâmetros personalizados, você pode analisar o desempenho do site no contexto de adaptativos.

Existem 4 áreas de ação de CD no total:

  • Hit
  • Sessão
  • Usuário
  • Produto

Por exemplo, temos um CD no qual o parâmetro de autorização do usuário está armazenado (0 - não autorizado, 1 - autorizado). No início da sessão, todos os usuários não estão autorizados. Vamos ver o que acontece quando esse parâmetro muda após a entrada, dependendo do escopo do CD.



  • para um CD com o escopo Hit, a unidade é atribuída ao parâmetro de autorização no hit em que a autorização ocorreu;
  • para um CD com o escopo da Sessão, o parâmetro de autorização se tornará igual a 1 para todos os hits da sessão em que o evento ocorreu (substituindo os valores antigos do CD nesta sessão);
  • para um CD com o escopo de Usuário, o parâmetro de autorização se tornará igual a 1 para todas as sessões do usuário, a partir daquela em que o logon foi feito.

Às vezes, você precisa analisar as características de um produto cujo suporte não está estabelecido nos parâmetros básicos do Google Analytics: por exemplo, peso. Como informações sobre vários produtos podem ser transmitidas em uma ocorrência, precisaremos de um escopo adicional com detalhes mais profundos. É por essa granularidade que o escopo "Produto" é usado:



Configuração do CD


A configuração de um parâmetro do usuário consiste em duas etapas: criar um parâmetro no GA e enviar dados do site. A seguir, descrevemos a sequência de etapas para a instalação do CD.

Criando um CD no Google Analytics


  1. Vá para a seção "Administrador"
  2. Nas configurações de recurso na seção "Parâmetros do usuário", selecione a subseção "Parâmetros especiais":
  3. Clique no botão "+ Parâmetro especial"
  4. O formulário é aberto:

    Selecione o escopo do parâmetro:

    • Hit
    • Sessão
    • Usuário
    • Produto

    E deixe a marca de seleção ao lado de "Ativo" para que os dados comecem a ser coletados e o CD seja refletido nos relatórios.
Recomendações para o título do CD
Nós desenvolvemos nosso próprio sistema para nomear parâmetros do usuário.
No início de cada CD, adicionamos um símbolo para o escopo. Para acerto, é h_ (por exemplo, h_hitId), para session - s_ (por exemplo, s_sessionId). Isso nos ajuda a navegar pelos parâmetros do usuário e a conhecer sempre seu escopo, sem verificar as configurações do contador. Às vezes, torna-se necessário criar dois parâmetros com o mesmo nome, mas com um escopo diferente. Por exemplo, realizamos um teste A / B e queremos verificar se ele está configurado corretamente, a variante de teste muda durante a sessão. Para fazer isso, crie dois parâmetros com o mesmo valor: nome + versão de teste, na qual o usuário entrou, mas um deles foi atingido, na segunda sessão. Nesse caso, a nomeação proposta será muito conveniente.

Configurando o Gerenciador de tags do Google


Há duas maneiras de configurar os parâmetros de envio do site:

  • diretamente através do código HTML no site.
  • via Gerenciador de tags do Google (GTM).

Para ambos os métodos, precisamos do índice do CD no Google Analytics. Você pode vê-lo na seção "Configurações especiais":



Enviando via HTML no site

Atualize a configuração do recurso no código de acompanhamento do Google Analytics adicionando custom_map (você precisa adicionar o que é destacado em ambos os lados pelos comentários):

gtag('config', 'GA_MEASUREMENT_ID' , //  { 'custom_map': {'dimension<Index>': 'dimension_name'} } //  ); 

onde GA_MEASUREMENT_ID é seu identificador de contador do Google Analytics. Substitua <Index> pelo índice do parâmetro no GA e, em vez de dimension_name, especifique seu nome.

Se você tiver vários parâmetros de Usuário, 'dimensão <Index>' : 'dimension_name' deve ser especificado com uma vírgula para cada um deles.

Por exemplo:

 gtag('config', 'UA-XXXXXXXXX', { 'custom_map': {'dimension1': 'projectName', 'dimension2': 'hitId', 'dimension3': 'sessionId', 'dimension4': 'screenWindow'} }); 

Para enviar um CD junto com uma visualização de página, você precisa atribuir esses parâmetros ao valor desejado antes do código indicado acima :

 gtag('set', { 'dimension_name': 'dimension_value'}); 

onde dimension_name deve corresponder aos especificados em 'custom_map' e dimension_value deve ser o valor que você deseja transferir para o CD.

Por exemplo:

 gtag('set', {'projectName': 'shop', 'hitId': '1121243'}); 

Ao enviar um valor de CD junto com o evento, você deve enviar o código:
 gtag('event', 'action_value', {'event_category': 'category_value', 'event_label': 'label_value', 'value': 'event_value', 'dimension_name': 'dimension_value'}); 

onde em vez de:

action_value - ação do evento
category_value - categoria do evento
label_value - rótulo de evento
event_value - valor do evento (número inteiro não negativo)
dimension_name - o nome do parâmetro que especificamos no código anterior
dimension_value - valor do CD

Um exemplo:

 gtag('event', 'clickButton', {'event_category': 'conversion', 'event_label': 'registration', 'projectName': 'shop', 'hitId': '1121243'}); 

Em nossos projetos, usamos a segunda opção - o ajuste através do GTM. Vamos considerar com mais detalhes.

Enviando CDs com hits para o GA via GTM

A configuração do envio de CD junto com hits (visualizações de página, eventos) no GA é feita em uma variável do tipo "Configurações do Google Analytics". Se você já configurou essa variável, abra-a. Caso contrário, você precisará criá-lo. Vá para a seção "Configurações avançadas", a subseção "Configurações especiais". Aqui você deve adicionar todos os parâmetros de usuário que você criou anteriormente no GA:



O ID de rastreamento deve incluir o número do contador do GA. No campo "Índice", escreva o identificador do CD do GA para o qual deseja transferir dados.

No campo "Valor do parâmetro", você deve especificar o valor que será transferido para o CD com o índice especificado. Este valor pode ser especificado de duas maneiras:

  • manualmente, se será o mesmo para todos os eventos;
  • usando a variável na qual o valor desse parâmetro está armazenado (seu nome é escrito entre colchetes duplos). Por exemplo, {{SCREEN_WINDOW}} - “Tamanho da janela do navegador”.



Com essa configuração de parâmetros do usuário, é importante considerar:

  1. Quando a tag é processada pela primeira vez, um cookie com o ID do usuário do Google (ID do cliente) ainda não será criado. Se quisermos configurar a transferência desse parâmetro para CD, não poderemos fazer isso na primeira visualização de páginas.
  2. Se quisermos usar a mesma variável ao enviar dados para diferentes parâmetros do usuário, essa variável será calculada novamente para cada parâmetro do usuário. Por exemplo, ao enviar uma marca de tempo de processamento de tags para dois parâmetros diferentes do usuário, você pode notar uma diferença nos valores de alguns milissegundos.

Você pode evitar essas dificuldades com o customTask.

Usando customTask


customTask é a função com a maior prioridade, o código e a lógica dos quais você se define. Há pouco tempo, o Google deu a oportunidade de usar esse recurso no GTM.

customTask usa dados do objeto de modelo (que inclui todos os campos do contador de rastreamento), cookie etc. A prioridade desta função é maior que a de todas as outras e funciona com a tag. Graças a isso, você pode configurar o envio do ID do usuário a partir da primeira visualização da página.

Para configurar o CD através do customTask, crie uma variável GTM com o nome JS_customTask e o tipo "Código JavaScript nativo":



Agora adicione o JS_customTask que criamos à variável Configurações do Google Analytics, na seção "Campos a definir":

  • Em "Nome do campo", escreva customTask ;
  • No "Valor", escreva o nome da variável que criamos acima. Todas as variáveis ​​devem ser escritas entre chaves.



Somente uma customTask pode ser definida em uma tag GTM. Portanto, todos os CDs que podem ser determinados por esse método serão gravados na variável JS_customTask criada anteriormente.

CDs usados ​​com freqüência


ID do usuário


Desafio. O contador registrou um grande salto no número de sessões. Ao mesmo tempo, o número de usuários cresceu um pouco. Havia uma hipótese sobre o tráfego de bot que vem de alguns usuários. Por padrão, não é possível visualizar as características de usuários individuais no GA em um formato conveniente.

Solução. O Google Analytics atribui um identificador exclusivo para cada visitante do site - ID do cliente. Você pode vê-lo na interface do Google Analytics apenas em um relatório - "Estatísticas do usuário" (User Explorer). É inconveniente usá-lo, porque em uma tela você pode ver a sequência de ações de apenas um usuário e não pode adicionar parâmetros adicionais ao relatório.

Uma solução ideal seria a capacidade de exibir a identificação do cliente como um parâmetro separado em um relatório padrão ou de usuário. E isso pode ser feito usando o GTM.

Configurações de técnica. Como ClientId, usamos a sequência de dígitos do ID do usuário no GA (ele é armazenado em um cookie com o nome _ga. Por exemplo, _ga = GA1.2.1111111111.111111111, em que ClientId = 111111111.111111111). Para ver esse valor, clique com o botão direito do mouse na página do site e selecione "Visualizar código":



Em seguida, na guia Aplicativo, no menu à esquerda, selecione Cookies e o nome do site e procure a variável _ga na tabela:



Além do cookie, o ID do usuário do GA é armazenado no objeto de modelo e pode ser recuperado usando o método .get ('clientId'). Usamos customTask para recuperar esse valor e passá-lo para o GA. Adicione o seguinte código à variável denominada JS_customTask:

 function() { var customDimensionIndex_client = 5; return function(model) { model.set('dimension' + customDimensionIndex_client, model.get('clientId')); } } 

Após o sinal de igual para a variável customDimensionIndex_client, você precisa especificar o índice do CD correspondente ao ClientId no GA. Dessa forma, obtivemos o ID do cliente do contador e o enviamos ao parâmetro do usuário.

Resultado. Criamos um relatório sobre usuários individuais e descobrimos que alguns deles realmente tinham mil sessões. Todas as sessões tiveram uma taxa de rejeição de 100% e claramente não traziam nenhum valor para nós. Configuramos um segmento para excluir esses usuários e pudemos analisar a dinâmica do tráfego sem visitas desnecessárias.

ID da ocorrência


Desafio. Você precisa ver como o usuário se comporta no site, quais ações ele executa e em qual sequência. Com base nesses dados, hipóteses para o desenvolvimento de negócios podem ser apresentadas.

Solução. Crie seu próprio CD com o número de hits do usuário em cada sessão. Classificando em ordem crescente de ocorrências, podemos ver as formas dos usuários.

Configurações de técnica. Por conveniência, como HitId, passamos o tempo de ocorrência do ClientId + no formato de carimbo de data e hora. Portanto, para cada evento, visualização de página, transação, haverá um valor. Este parâmetro pode ser configurado através do customTask (semelhante ao ClientId).

Somente uma customTask pode ser definida em uma única tag GTM. Portanto, adicionamos à variável "JavaScript personalizado" criada anteriormente o código destacado em ambos os lados pelos comentários, onde o índice do CD chamado h_HitId do GA será armazenado na variável customDimensionIndex_hit:

 function() { var customDimensionIndex_client = 5; //    var customDimensionIndex_hit = 2; var now = new Date(); //    return function(model) { model.set('dimension' + customDimensionIndex_client, model.get('clientId')); //    model.set('dimension' + customDimensionIndex_hit, model.get('clientId').concat('_', now.getTime())); //    } } 

O tipo de parâmetro é atingido. Como também contém tempo no formato de registro de data e hora, todos os hits de usuário / sessão podem ser classificados pela ordem de sua execução, sem o uso de parâmetros adicionais.

Se você fizer exatamente as mesmas configurações, apenas no GA escolherá o escopo do parâmetro - sessão, obteremos um CD que armazenará o identificador da sessão do usuário.

Resultado. Construiu dois relatórios:

  • Identificador de usuário, identificador de ocorrência, categoria do evento, ação do evento, rótulo do evento, adicionar. parâmetros.
  • ID do usuário, ID da ocorrência, adicionar. parâmetros.

Em seguida, eles descarregaram esses dados do GA e os combinaram no Excel (ou em um banco de dados). Se ordenarmos as linhas por ClientId e, em seguida, por HitId, obteremos o caminho de cada usuário no site. Agora podemos criar tabelas dinâmicas e visualizá-las.

Testes A / B


Desafio. A empresa decidiu realizar um teste AB. As configurações foram feitas pelos desenvolvedores, sem o uso do Google Optimize. Surgiu a questão: como transferir opções de teste para o Google Analytics para analisar a eficácia do experimento.

Solução. Nesse caso, os CDs nos ajudarão a comparar os resultados do teste no GA. Basta configurar um parâmetro do usuário, que aceita valores com o identificador do teste e a opção em que o usuário se enquadra. Assim, podemos dividir o público em grupos de acordo com as opções de teste e comparar os resultados.

Configurações de técnica. Crie um parâmetro personalizado no GA, semelhante ao que configuramos anteriormente. Selecionamos como um "escopo" - uma ocorrência, para que seja possível dividir os eventos em eventos confirmados pelo usuário antes e depois do teste. Chame-o, por exemplo, h_AB-Test. É possível transferir dados para um CD por vários testes ao mesmo tempo. Você pode separá-los com um símbolo que não apareça no nome e na versão do teste, por exemplo, “|”.

Se você mesmo fizer o teste e armazenar os dados em um cookie, precisará de uma variável como "Código JavaScript nativo" para extraí-los:

 function(){ var cookie_name ='{{test_variant}}'; var matches = document.cookie.match(new RegExp( "(?:^|; )" + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )); return matches ? decodeURIComponent(matches[1]) : '(not set)'; } 

onde, em vez de {{test_variant}}, você deve especificar o nome do cookie no qual o nome e a variante do teste são armazenados. Não se esqueça de adicioná-lo à variável de configurações do GA.

Ao adicionar o parâmetro h_AB-Test ao relatório, veremos no Google Analytics a qual opção de teste a sessão pertence. Dependendo do valor desse parâmetro, você pode segmentar usuários.

Resultado. Criamos tantos segmentos quanto houve casos de teste com a condição h_AB-Test. Ele deve corresponder ao valor "nome + caso de teste". Analisamos os eventos que nos interessam nos relatórios.

Endereço da página inteira


Desafio. O gerente de publicidade contextual lançou uma campanha publicitária no Yandex.Direct. Alguns dias depois, ele entrou no relatório de fontes do GA e descobriu que o número de sessões de usuário provenientes da campanha publicitária criada por ele era muito menor do que os cliques nos anúncios no Yandex.Direct.

Solução. O Google Analytics possui um parâmetro necessário para rastrear anúncios - utm_source. Se for, seu valor será adicionado ao parâmetro padrão "Origem da campanha". Da mesma forma, o Google faz com outras tags UTM para gravar nos parâmetros correspondentes.

Todas as tags UTM são excluídas automaticamente do relatório nas páginas do site e você não pode analisá-las lá. Nesse caso, se o rótulo utm_source não foi definido, o Google simplesmente remove todas as tags UTM encontradas do relatório nas páginas e não registra seu conteúdo nos parâmetros internos correspondentes.

Vamos configurar o parâmetro com o endereço da página inteira para ver todas as tags, mesmo que o anúncio esteja configurado incorretamente. Vamos chamá-lo de h_fullPage.

Configurações de técnica. Vamos criar uma variável com o tipo "Variável JavaScript" na seção "Nome da variável global" e especificar o documento.URL:



Como o escopo da variável set - hit.

Resultado. A seguinte sequência de tags UTM foi usada em toda a campanha publicitária: utm_medium, utm_source, utm_campaign. Depois de analisar o endereço completo das páginas, percebemos que um e comercial foi pulado entre anúncios entre utm_medium e utm_source. Como utm_source é uma tag utm obrigatória para qualquer campanha publicitária e o Google Analytics não a encontrou após caracteres especiais (?, &), O clique neste anúncio foi registrado no tráfego direto. Graças ao parâmetro h_fullPage, foi possível detectar o problema e corrigi-lo nas configurações do painel de publicidade.

Opções de Eventos


Dois outros parâmetros úteis (sem uma descrição de suas configurações):

  • Desafio. Marcamos o site por conta própria através do GTM. Foi encontrado um erro, corrigido rapidamente, mas os eventos com o erro continuam chegando no GA.

    Solução. Para encontrar rapidamente a raiz do problema, você pode transferir um CD com cada evento:
    O nome do contêiner (se houver vários no site) - a variável interna GTM;
    A versão do contêiner é a variável interna do GTM;
    Nome da etiqueta - você precisa configurá-lo.

    Você pode passar esses três parâmetros por qualquer separador em uma variável do tipo "Constant":



    O escopo do parâmetro é atingido.

    Resultado. Usando a variável configurada, descobrimos que alguns usuários ainda têm a versão antiga do contêiner, portanto os eventos continuam sendo enviados. Provavelmente, os usuários simplesmente não atualizaram a página ou ela foi armazenada em cache; portanto, é preciso esperar um pouco.
  • Desafio. Marcamos o site através dos desenvolvedores. Eles introduziram uma nova instrução escrita por nós. Após a verificação, alguns eventos foram enviados com um erro.
    Importante:

    • Não envie eventos de teste para a exibição de trabalho do GA quando verificarmos eventos no site de teste;
    • se, após o lançamento da batalha, notamos que verificamos eventos marcados incorretamente / algo quebrou após a atualização do site, é importante parar rapidamente de enviar eventos para a visualização de trabalho.

    Solução. Dividiremos os eventos em novos / incorretos e marcados corretamente. O primeiro pode ser marcado como teste, o segundo - prod.

    Para fazer isso, permita que os desenvolvedores adicionem dados ao dataLayer, e nós os obteremos e os enviaremos para o GA. Qualquer push será assim:

     <script> dataLayer.push({ 'event': '{{ }}', 'event_id': '{{id }}', 'eventCategory': '{{ }}', 'eventAction': '{{  }}', 'eventLabel': '{{ }}', }); </script> 

    onde entre colchetes duplos são os nomes das variáveis ​​nas quais os dados são armazenados ao lado dos desenvolvedores.

    Precisamos criar a variável "Tabela de pesquisa" para separar eventos:



    {{event_id}} é uma variável que recupera o identificador de evento do DataLayer.

    Colocamos uma marca de seleção na frente de "Definir valor padrão" e na coluna "Valor padrão" teste de gravação. Portanto, inicialmente para todos os eventos, essa variável será igual a teste. Depois de verificar se o evento está marcado corretamente, adicione seu event_id à célula "Input". No campo "Resultado", enviamos prod.

    Então, dividimos todos os eventos em marcados corretamente e novos / marcados incorretamente. Recomendamos que você crie uma visualização separada no Google Analytics, onde haverá eventos apenas com o rótulo do produto (isso pode ser feito usando o filtro Visualizações). Lá, você verá apenas os eventos marcados corretamente.

    Resultado. Como os erros na marcação de eventos das instruções foram eliminados, alteramos o valor do parâmetro para esses eventos no GTM de teste para prod. Graças a esse parâmetro, incluímos nos relatórios apenas eventos marcados corretamente com o rótulo prod.

A funcionalidade das dimensões personalizadas é ampla e não se limita aos métodos descritos de configuração e aplicação. Para cada tipo de negócio, análise e hipótese, você pode encontrar sua própria aplicação de parâmetros definidos pelo usuário, e os métodos de customização descritos ajudarão a tornar esse processo mais fácil.

Source: https://habr.com/ru/post/pt468079/


All Articles