Alternativa a Google Analytics gratis: Umami self-hosted
TL;DR
- Umami: analytics open source, sin cookies, sin banner GDPR, datos en tu servidor
- Lo que pierdes: recurrencia de usuarios (no identifica entre sesiones)
- Setup: PostgreSQL + Docker + un script en tu web
- Truco: usa
TRACKER_SCRIPT_NAME: scriptpara evitar adblockers
Analytics sin cookies: Umami self-hosted en 15 minutos
El problema con Google Analytics
Quieres saber cuánta gente visita tu web. Normal. Pero para eso tienes que:
- Regalar los datos de tus usuarios a Google
- Poner el banner de cookies que tapa media pantalla
- Rezar para que el 80% de usuarios no le den a “rechazar todo”
- Cumplir con GDPR, que básicamente significa formularios legales que nadie lee
Para un blog personal, es matar moscas a cañonazos.
La alternativa: Umami
Umami es analytics open source, self-hosted, que:
- No usa cookies: Nada se guarda en el navegador del usuario
- No trackea individuos: Solo métricas agregadas
- No requiere banner GDPR: Sin datos personales, sin consentimiento necesario
- Es tuyo: Los datos están en tu servidor, no en el de una megacorp
Sigues teniendo páginas vistas, países, navegadores, dispositivos, referrers… Todo lo que necesitas para saber si alguien lee tu blog. Sin el teatro legal.
Lo que pierdes
Seamos honestos: pierdes recurrencia. Umami no puede decirte “este usuario ha vuelto 3 veces este mes” porque no identifica usuarios entre sesiones.
Para un blog personal, no me quita el sueño. Cuando tenga un SaaS con usuarios registrados, el propio sistema de auth me dará esa info.
El setup: PostgreSQL + Docker
Yo lo tengo montado en un VPS con Easypanel, pero vale cualquier setup con Docker. Si quieres el contexto completo, tengo una guía de self-hosting con todo el stack que uso.
1. Base de datos
CREATE DATABASE umami;
CREATE USER umami WITH PASSWORD 'tu_password_aqui';
GRANT ALL PRIVILEGES ON DATABASE umami TO umami;
-- PostgreSQL 15+ necesita esto también:
\c umami
GRANT ALL ON SCHEMA public TO umami;
ALTER SCHEMA public OWNER TO umami;
2. Docker Compose
services:
umami:
image: docker.umami.is/umami-software/umami:postgresql-latest
environment:
DATABASE_URL: postgresql://umami:tu_password@tu_host:5432/umami
APP_SECRET: genera_algo_con_openssl_rand_base64_32
TRACKER_SCRIPT_NAME: script
restart: always
El truco está en TRACKER_SCRIPT_NAME: script. Por defecto Umami usa umami.js, que los adblockers tienen fichado. Con script.js pasa desapercibido porque es demasiado genérico para bloquearlo.
3. Añadir el script a tu web
<script defer src="https://tu-dominio-analytics/script.js" data-website-id="tu-website-id"></script>
El data-website-id lo sacas del panel de Umami cuando creas el sitio.
El resultado
Analytics que funcionan incluso con adblockers, sin cookies, sin banners, con los datos en tu servidor.
Cuando alguien te pregunte “¿por qué no tienes el cartelito de cookies?”, puedes responder: “Porque no las uso.”
También te puede interesar
Guía de Self-Hosting: Controla tus datos y ahorra dinero
Por qué hostear tus propias herramientas, qué stack usar, las mejores alternativas self-hosted y cuándo NO tiene sentido.
GenBI: el fin del cuello de botella del analista de datos
Qué es Generative Business Intelligence, por qué ChatGPT+SQL no funciona, y cómo la capa semántica cambia el juego. Lo que significa para tu carrera como analista.