Instalar e configurar o Umami sem perder horas
O Umami é um serviço de análise de tráfego open source que roda como self-hosted. Diferente do Google Analytics, ele não depende de tracking cookies para funcionar nos navegadores modernos, e isso muda completamente a forma como os dados chegam até você. A coisa mais interessante é que a instalação básica leva cerca de 15 minutos em um servidor com Docker, mas é onde mora a diferença entre um painel que funciona e um que vira bagunça em duas semanas. umami: o sabor da ambição é uma forma comum de encontrar referências a esse projeto quando se pesquisa por alternativas ao GA4, especialmente em comunidades técnicas brasileiras. O nome vem do sabor japonês que descreve a sensação de profundidade e saciedade nos alimentos, e a marca adotou isso como metáfora para a experiência de ver dados limpos sem o ruído dos trackers tradicionais.
O problema que ninguém conta
Quando você instala o Umami pela primeira vez usando o Docker oficial, tudo parece perfeito. Os dados aparecem no dashboard, os gráficos são bonitos, a interface é limpa. Mas na prática, você vai perceber em uma semana que os dados de acesso direto — quem entrou digitando o domínio, quem veio de links em PDFs ou emails, quem acessou via app nativo — simplesmente não são distinguidos corretamente porque a configuração inicial de sessions não considera o header X-Forwarded-For que a maioria dos reverse proxies envia. Eu passei duas semanas com números inconsistentes no painel antes de descobrir que era isso. O workaround foi adicionar três linhas no arquivo de configuração do Nginx antes do proxy_pass:
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme; Depois disso, os dados de referrer voltaram a fazer sentido e o número de sessões diretas caiu para patamares reais. Sem essa configuração, qualquer tráfego que passe por um proxy ou CDN é contado como direto, o que infla artificialmente suas métricas de 20 a 40 por cento dependendo do seu volume.
Instalação prática passo a passo
Você precisa de um servidor Linux rodando Docker e Docker Compose. O repositório oficial fica em github.com/umami-software/umami, e o download do código não é obrigatório — o Docker já puxa a imagem quando você sobe o compose. O arquivo docker-compose.yml mais comum usa PostgreSQL 15 como backend. SQLite funciona para testes, mas em produção começa a apresentar lentidão após 50 mil eventos por dia. Isso é algo que a documentação não deixa explícito. O comando básico seria subir o stack com docker compose up -d, esperar uns 30 segundos para o banco inicializar e migrar as tabelas, e então acessar o painel em http://seu-servidor:3000. As credenciais padrão são admin para usuário e password para senha — mude isso imediatamente, inclusive porque oUmami não força a troca no primeiro login como deveria.
👉 Clique no botão abaixo para saber mais sobre o assunto!
A configuração de variáveis de ambiente no compose define o banco, a url base, e opcionalmente o seed para criar um usuário administrador customizado. A variável APP_URL precisa apontar para o domínio público real, senão os scripts de tracking geram links quebrados no código de acompanhamento.
O que o Umami faz bem e o que ele não faz
O ponto forte é a privacidade. Ele armazena apenas o IP mascarado, o user agent, o referrer, o usuário e a página. Não há cookie consent banner necessário, não há camada extra de compliance com LGPD além do que já existe. Para quem opera sites corporativos ou institucionais, isso elimina uma camada inteira de burocracia. O GA4, por outro lado, exige configuração específica para evitar transferência de dados para os EUA e mesmo assim ainda gera preocupações de compliance que o Umami resolve nativamente. O ponto fraco é a ausência de relatórios preditivos. Você tem dados brutos de visualizações, sessões, duração média e páginas de saída, mas não há machine learning embutido para identificar padrões sazonais ou prever churn. Se você precisa de forecasting, precisa exportar os dados e processar em outra ferramenta, o que geralmente significa BigQuery ou algo similar. O Umami exporta para CSV e JSON, mas o fluxo manual corta a vantagem de ter tudo centralizado.
Outra limitação séria é a ausência de filtros avançados em tempo real. Você consegue segmentar por país, navegador e sistema operacional, mas não há possibilidade de criar segmentos compostos com lógica AND/OR complexa. Para times de marketing que precisam isolar um subgrupo específico de visitantes, isso pode ser frustrante. O workaround é criar múltiplos sites no Umami e usar subdomínios separados, o que funciona mas fragmenta a visão geral.
Dica técnica que economiza tempo
A configuração de data retention não é automática no Umami. Por padrão, os dados são mantidos indefinidamente, o que significa que seu banco cresce sem controle se você não configurar. No PostgreSQL, a solução mais prática é criar um job de limpeza que remove eventos com mais de 18 meses. Meu script atual roda semanalmente e deleta registros com created_at anterior a 540 dias, o que mantém o banco em torno de 800 megabytes mesmo com 2 milhões de eventos acumulados. Sem essa manutenção, o banco pode passar de 10 gigabytes em um ano em sites com tráfego médio. Também vale configurar rate limiting no script de tracking. Sem ele, bots e crawlers podem disparar dezenas de milhares de eventos falsos por hora, distorcendo completamente suas métricas. O Umami não tem um sistema nativo de validação de bots, então a filtragem precisa ser feita no nível do servidor ou através de um middleware como Cloudflare antes que os dados cheguem ao painel.
Para quem não faz sentido usar
Se você tem um e-commerce que precisa rastrear cada evento de compra, adição ao carrinho e etapa de checkout com precisão cirúrgica, o Umami não é a ferramenta certa. Ele foca em pageviews e sessões, não em comércio eletrônico. Nesse caso, o Plausible ou uma integração personalizada com o GA4 sobre BigQuery deliveram muito mais granularidade. Também não recomendo se você precisa de dashboards compartilhados com stakeholders não técnicos que esperam a mesma experiência do Google Data Studio. O Umami permite compartilhar painéis, mas a interface é voltada para quem tem familiaridade técnica. Equipes comerciais costumam se perder nas primeiras leituras.