Extrair dados do Google Analytics via API pode retornar dados duplicados, fique atento às métricas e dimensões que não podem ser relacionadas
Durante a construção de relatórios personalizados e Dashboards com dados via API do Google Analytics, percebi que meus números nunca estavam iguais aos da plataforma. No texto de hoje, veja a importância de conhecer o escopo das dimensões e métricas do GA para não passar por este perrengue. Quando descobri isso a insônia acabou e minha unhas voltaram a crescer. É libertador.
Mas primeiro vale a pena revisar os conceitos de dimensões e métricas.
O que são dimensões e métricas?
Dimensões são a classificação de seus dados, os atributos nominais dos dados coletados pelo Google Analytics. Dito de maneira mais simples, é parte textual dos relatórios do GA. Se você acessar o relatório Público -> Visão Geral, você verá algumas dimensões como Idioma, País, Cidade, Navegador e outros. A dimensão idioma indica o idioma configurado no navegador do usuário que acessou o site. No exemplo abaixo temos “pt-br”, “en-us” e “pt-pt”.
Métricas são os dados numéricos. Por exemplo, a métrica Usuários indica a quantidade de usuários que acessaram o site.
Os relatórios padrões do Google Analytics são a junção de dimensões e métricas que podem apoiar na compreensão dos cenários do site. Na tabela acima, temos a quantidade de usuários (métrica) de cada idioma (dimensão).
Até aqui, nenhum problema.
Porém somos criativos e podemos querer obter, por exemplo, a lista de páginas (dimensão) e a quantidade de sessões (métrica) e usuários (métrica) de cada página. Se procurarmos nos relatórios padrões do Analytics não encontraremos isso. Porém somos criativos e podemos, por exemplo, criar um relatório personalizado para obter esses dados e fazer os cruzamentos.
– Ufa! Foi difícil, mas conseguimos. Agora está tudo certo!
Será? Não, não está. Depois fiz o download .csv para validar os dados e eis um erro comum (pelo menos foi pra mim) ao ler os dados de relatórios personalizados ou consumir os dados por API. Quando eu somava os valores da coluna de sessões e usuários, o número era diferente do exibido no relatório padrão do GA.
No cenário acima a soma de usuários estava dando 1.547. No relatório padrão dava 318. A diferença era suficiente para deixar preocupado com minha capacidade de analisar as coisas.
E, por que isso acontece?
Para entender melhor é preciso uma breve – tentarei – explicação do processo de coleta e processamento de dados do Google Analytics. Vamos lá!
Para que o Google possa te dar esses relatórios interessantes no GA você precisa inserir um código JavaScript em todas as páginas que você deseja monitorar em seu site.
A função desse código JavaScript é enviar dados para os servidores do Google com informações do usuário do seu site. Sempre que uma página é carregada (uma pageview) essa tag JavaScript envia um push para os servidores. Eles chamam isso de Hit.
As ferramentas de processamento de dados do GA recebem estas informações enviadas (os hits) e as processa. Os dados são processados e os valores das dimensões e métricas são aplicados aos hits de acordo com o escopo. Assim os dados serão agregados de forma diferente a depender do escopo que as dimensões e métricas pertencem.
Mas, o que é escopo?
O escopo é uma forma do Google categorizar e hierarquizar os dados com o objetivo de mostrar a “jornada” do usuário ao interagir com seu site.
Imagine o seguinte cenário:
- Ariovaldo entra em seu e-commerce pela página inicial.
- Ariovaldo navega pelas páginas das categorias de produtos.
- Ariovaldo quer saber mais informações sobre um produto e entra na página de detalhe do produto.
- Ariovaldo lê as informações e clica no botão adicionar ao carrinho (certamente você já tagueou esse botão);
- Ariovaldo interrompe a navegação e fecha seu site e vai assistir um vídeo no Youtube.
- Ariovaldo lembra do seu site 2 dias depois, volta para concluir a compra.
- Ariovaldo acessa a home;
- Ariovaldo acessa o carrinho;
- Ariovaldo clicar em concluir e é redirecionado para o checkout.
Se estas fossem as únicas interações no site nestes dois dias, como seriam mostrados os dados no relatório Público -> Visão geral? Certamente seria:
Usuários: 1
Sessões: 2
Porém se usarmos o relatório personalizado que eu criei com uma lista de páginas, quantidade de sessões e usuários por página, seria assim:
Isso acontece, pois, um usuário pode ter mais de uma sessão; em uma sessão o usuário pode passar por mais de uma página. Ao solicitar ao GA estes dados juntos eles naturalmente irão duplicar.
Aqui o conhecimento de escopo ajuda muito a escolher quais dimensões e métricas podem ser cruzadas.
Existem 4 escopos em que as informações de um Hit podem ser agregadas. Hit, Sessão, Usuário e Produto (apenas para a configuração de e-commerce).
- Hit: o valor é aplicado ao único hit para o qual ele foi definido. Page e Pageview são informações únicas em um hit.
- Sessão: o valor é aplicado a todos os hits em uma única sessão. Source e Campaing são dimensões do nível de sessão. O valor da dimensão Source não muda nos hits de uma mesma sessão.
- Usuário: o valor é aplicado a todos os hits nas sessões atuais e futuras. O browser é uma dimensão do nível Usuário. Não irá mudar nos hits e sessões de um mesmo usuário.
A imagem abaixo mostra a hierarquia do processamento das informações de um hit.
Assim, não faz sentido eu querer numa mesma tabela informações de escopo diferente. Não posso cruzar quantidade de sessões com página.
Saber como funciona a relação das dimensões e métricas com seu escopo irá te livrar de cometer erros crassos como eu fiz ao multiplicar a quantidade de sessões e usuários. Além disso é um assunto importante nos famosos funis de conversão (não os do GA, mas o que fazemos no Data Studio). Será que podemos colocar métricas de dimensões diferentes no funil? Podemos comprar Sessões de uma página com os eventos de clique no botão?
Na documentação do Google Analytics você poderá encontrar mais explicações. https://support.google.com/analytics/answer/1033861?hl=pt-BR
Se bem utilizada, a união entre Google Data Studio e Analytics pode fornecer uma melhoria real para o desempenho do seu negócio. Mas, com grandes poderes… você já sabe!
Por isso, preparamos uma série de textos com aprendizados do nosso time para evitar que você cometa erros na hora de gerar relatórios e fornecer inteligência a partir do Google Analytics. Conheça a série:
Google Analytics e DataStudio: Diferença entre Novos Usuários e Novas Visitas