Dashboard de Google Analytics: conectei o próprio tráfego do meu site no Power BI
Preguiça de ler? Dá um GPT aí
Tempo de leitura: 9 minutos

O labirinto chamado Google Analytics
Você já tentou usar o Google Analytics puro, direto na interface web? É "fácil"? Dá pra entender alguma coisa de primeira? Vou falar a verdade: a experiência é horrível.
São vários menus, submenus, relatórios com nomes parecidos e filtros nada claros. Pode ser ousado o que vou falar, mas acho que até para quem está acostumado com a ferramenta não deve gostar totalmente da experiência. Agora imagine para quem não tem esse costume?
Toda vez que eu queria responder uma pergunta simples como:
- "o tráfego do blog cresceu esse mês?"
- "de onde estão vindo as visitas?"
- "quais páginas prendem mais atenção?"
Era necessário fuçar a ferramenta inteira para entender os gráficos, filtros e relatórios. Depois salvar os tamplates para consumir depois. Sem falar das respostas que queria rápido.
Foi esse atrito que me fez resolver criar este dashboard: pegar tudo que realmente importa do Google Analytics e colocar numa única tela, do meu jeito.
A homenagem que surgiu do plugin do Wordpress
Quem já teve um site em WordPress provavelmente conhece o MonsterInsights, um plugin muito popular que pega os dados do Google Analytics e mostra direto no painel do WordPress, de um jeito simples, sem precisar sair do site para entender as visitas em site. Eu usei esse plugin por muitos anos, em vários projetos, antes de migrar para outra stack.
Por isso o mascote azul que aparece no dashboard não é aleatório: é uma homenagem carinhosa ao "monstrinho" do MonsterInsights, que durante muito tempo foi minha porta de entrada mais simples para os dados de tráfego de um site.
Plugin do Google Analytics no Power BI
O Power BI tem um conector oficial para o Google Analytics, disponível direto no Power Query (GoogleAnalytics.Accounts). Isso muda a forma como o projeto é mantido: em vez de exportar CSV manualmente periodicamente, o modelo se conecta direto na sua conta, navega até a propriedade certa e traz as métricas já estruturadas em formato de cubo — sessões, usuários ativos, visualizações de página, taxa de engajamento e outras, quebradas pelas dimensões que você preferir (data, página, origem, país, dispositivo).
Configurei a atualização para rodar diariamente. Na prática, isso significa que todo dia o modelo já chega com os dados mais recentes prontos para análise — sem exportação manual, sem colar em planilha, sem perder o histórico por esquecimento.
Como o modelo foi estruturado
Segui uma lógica de star schema, mas separei os fatos por tema em vez de usar uma tabela única gigante. Cada recorte de análise tem sua própria tabela fato, alimentada pela mesma fonte, com as dimensões relevantes para aquele contexto:
- fato_trafego: visão geral por data — sessões, usuários ativos, novos usuários, duração média de sessão e taxa de engajamento.
- fato_origens: sessões e engajamento agrupados pela origem/mídia da visita (
sessionSource). - fato_paginas: visualizações, engajamento e duração média por página (
pagePathepageTitle). - fato_localizacao: sessões e visualizações por país e cidade.
- fato_dispositivos: sessões e usuários por categoria de dispositivo e navegador.
Todas se conectam à mesma dim_calendario, gerada no Power Query a partir do intervalo de datas real dos dados.
É importante lembrar que a integração do Google Analytics com o Power BI possui limitações da própria Google Analytics Data API, permitindo consultar até 9 dimensões e 10 métricas por requisição. Essa restrição não é do Power BI, mas da API utilizada pelo conector.
Categorização dos dados brutos
Dado bruto de analytics é sujo. O sessionSource traz valores como lnkd.in, (direct) ou google, e o pagePath traz URLs completas como /blog/tmhue/ ou /en/dashboard-portfolio/. Sem tratamento, qualquer gráfico de barras vira uma lista longa e difícil de entender.
Criei duas colunas calculadas para resolver isso:
- _Origem: agrupa a origem da sessão em categorias legíveis — google, linkedin, direto, facebook, teams, acesso local (ambiente de desenvolvimento) ou "não identificado" — usando
SWITCHcombinado comCONTAINSSTRING. - _CategoriaPagina: classifica cada URL em Home, Blog, Portfólio, Sobre, Serviços, FAQ, Erro ou Outros, olhando o padrão do caminho. Isso transforma dezenas de URLs individuais em um punhado de categorias que realmente respondem "que tipo de conteúdo está performando melhor?".
Sem essas duas colunas, o dashboard seria tecnicamente correto, mas inútil para leitura rápida — que é o objetivo de qualquer painel bem feito.
Glossário rápido
Antes de continuar, vale destravar o vocabulário. Boa parte da confusão com Google Analytics não é sobre onde clicar, é sobre não saber o que cada métrica realmente conta. Três termos aparecem o tempo todo neste dashboard:
- Sessões (sessions): um período de interação de um usuário com o site. Se alguém entra, navega por algumas páginas e sai, isso conta como uma sessão só — mesmo vendo cinco páginas diferentes. Se essa mesma pessoa voltar depois de 30 minutos de inatividade, o GA4 já considera uma nova sessão.
- Visualizações de página (pageviews): cada vez que uma página é carregada ou recarregada conta como uma visualização, independente da sessão. Por isso o número de pageviews é quase sempre maior que o de sessões: uma sessão pode ter só uma visualização (quem entra e sai) ou várias (quem navega pelo blog inteiro).
- Taxa de engajamento (engagement rate): a porcentagem de sessões consideradas "engajadas" pelo GA4 — ou seja, sessões que duraram mais de 10 segundos, tiveram algum evento de conversão, ou mais de uma visualização de página. É o oposto direto da antiga taxa de rejeição (bounce rate) do Universal Analytics: em vez de medir quem saiu rápido, mede quem realmente ficou.
O que o dashboard mostra na prática
Segue uma lista de visões que podem ser encontradas nesse Dashboard:
- Cartões de KPI: sessões, visualizações de página, taxa de engajamento e duração média de sessão — a leitura rápida de "como o site está indo" no período selecionado.
- Tendência mensal: gráfico de linha com sessões ao longo do tempo, para enxergar se o tráfego está subindo, caindo ou estável.
- Dispositivos: gráfico de rosca com a proporção de sessões por categoria de dispositivo (desktop, mobile, tablet).
- Origens de tráfego: gráfico de barras com sessões e taxa de engajamento por origem categorizada — mostra não só de onde vêm as visitas, mas se elas realmente engajam.
- Categorias de página: visualizações agrupadas por Home, Blog, Portfólio, Sobre, Serviços, FAQ — a visão de qual área do site concentra mais atenção.
- Localização: tabela e gráfico por país e continente, com sessões e visualizações.
- Tabela de páginas: ranking das páginas com mais visualizações, cruzado com taxa de engajamento e duração média de sessão — o recorte mais direto para saber quais conteúdos realmente prendem quem chega até eles.
- Filtros de período e segmentação: slicers de data relativa e dropdowns para fatiar a análise sem sair da página.
Isso é só o pontapé inicial
Vale deixar claro: os indicadores que montei aqui são o começo, não o limite. Dá para ir muito além do que está publicado hoje — cruzar origem de tráfego com categoria de página para entender qual canal traz o visitante mais qualificado, criar uma régua de metas mês a mês, adicionar funil de conversão até o clique em "fale comigo", ou até trazer dados de outras fontes (como o próprio CRM) para cruzar tráfego com resultado de negócio. Comecei pelo que eu uso no dia a dia; o modelo já está estruturado para crescer conforme a necessidade aparecer.
Como isso vira decisão, não só gráfico bonito
Alguns exemplos de uso real deste painel no dia a dia:
- Um post específico traz muito tráfego, mas engaja pouco: a tabela de páginas cruza visualizações com engajamento, então dá para perceber quando um título atrai clique mas o conteúdo não segura a atenção.
- Uma origem começou a trazer mais visitas: o gráfico de origens mostra a mudança, e a taxa de engajamento ao lado ajuda a avaliar se é tráfego qualificado ou só volume.
- Comparar o antes e depois de uma mudança no site: como o modelo é conectado à propriedade real, dá para comparar períodos diferentes — antes e depois de publicar um post, mudar uma CTA, ou lançar uma página nova — sem precisar exportar nada de novo.
Um layout vertical: fugindo do padrão
A maior parte dos Dashboards que desenvolvi no Power BI segue o mesmo molde widescreen 1280x720, cartões lado a lado.
Aqui quis experimentar o contrário: um layout verticalizado, com os visuais concentrados numa coluna central, lidos quase como uma rolagem de cima para baixo em vez de vários gráficos disputando atenção ao mesmo tempo.
Espalhei também o "monstrinho" — a mesma homenagem ao MonsterInsights citada antes — pelas margens do dashboard, entre um indicador e outro. Além de reforçar a identidade visual da ferramenta, é um jeito de deixar o painel menos frio: dá aquela sensação de companhia enquanto você analisa os números, em vez de só uma parede de KPIs. Esse cuidado aparece até de forma funcional no rodapé, onde o monstrinho com a lupa expõe um miniglossário direto no canvas — a mesma dúvida sobre sessões, engajamento e pageviews que já expliquei aqui, resolvida sem sair da tela.
Como consequência desse formato mais vertical, o dashboard não foi pensado para caber inteiro numa tela. Recomendo navegar com zoom entre 100% e 120%, ajustando conforme a resolução do seu monitor.
Confira o Dashboard
O dashboard está publicado e interativo. Use os filtros de período para explorar o tráfego.
Dica: compare a categoria "Blog" com "Portfólio" no filtro de categoria de página e veja qual delas tem a melhor taxa de engajamento — o resultado pode não ser o que você espera.
Conclusão: analisar o próprio produto é o melhor treino
Construir esse dashboard usando os "dados reais" do meu próprio site foi diferente de trabalhar com uma base fictícia: cada decisão de modelagem (como categorizar página, como agrupar origem, como lidar com privacidade dos números) teve que responder a uma necessidade genuína, não a um exercício hipotético. É esse tipo de fricção real que separa um dashboard de portfólio de uma ferramenta que alguém de fato usa — e este eu uso.
Curtiu este conteúdo?
Compartilhe e continue acompanhando minhas publicações.
Aproveite para conferir mais artigos!
Próximo passo
Quer transformar seus dados?
Se esse tema conversa com um desafio da sua empresa, me chame para organizar os dados, automatizar processos ou tirar um projeto digital do papel.