La tabla de cookies colapsó. Chrome terminó las cookies de terceros en 2024; Safari y Firefox las bloqueaban desde hace años. Los equipos de marketing ven pérdida de datos entre 40-60% en GA4 (según informes del propio Google). Simultáneamente, las multas RGPD/KVKK alcanzaron 4,2 mil millones de euros en Europa durante 2025. Dos presiones: técnica (sin cookies, sin medición) y legal (saltarse el banner de consentimiento es ilegal). Analytics privacy-first es la única solución a ambos problemas: medición sin cookies, agregación en el servidor, lista para compliance.
Plausible: El Núcleo de la Medición Sin Cookies
Plausible llegó al mercado en 2019 como una "alternativa a GA". En 2026 es una categoría completa: web analytics privacy-first. Su diferencia fundamental: registra eventos no mediante cookies del lado del cliente, sino vinculándolos a un ID de sesión sin estado en el servidor. La combinación IP + User-Agent genera un hash (SHA-256), que se reinicia cada 24 horas. Resultado: conteo de visitantes únicos con precisión >95%, sin almacenar ningún PII (información de identificación personal).
Si comparamos con GA4:
- Propiedad de datos: Plausible escribe eventos a su propia instancia PostgreSQL. GA4 envía a servidores Google; no puedes hacer queries (salvo BigQuery export).
- Dependencia de cookies: GA4 se ancla a la cookie
_ga. Si se rechaza, la medición falla. Plausible es cookieless desde el inicio. - Tamaño de script: Plausible tracker = 1,4 KB. GA4 gtag.js = 28 KB + gtm.js = 45 KB. Diferencia de 50×.
Para compliance KVKK/RGPD: el hash de Plausible no es un dato personal. El Artículo 4 del RGPD requiere "información relativa a una persona física identificada o identificable". Un hash SHA-256 es irreversible, por tanto, dato anonimizado. Ni siquiera entra en el Propósito 1 del TCF 2.2 (estrictamente necesario) — no necesitas banner de consentimiento.
En producción, Plausible funciona en dos modos:
- Standalone: Sitios pequeños (blog, landing page) — 10 líneas de JS embed, dashboard listo.
- Hybrid: E-commerce o SaaS donde Plausible captura tráfico general y eventos críticos de conversión van a CDP vía server-side GTM. Este artículo se enfoca en el segundo.
Agregación del Lado del Servidor: De Eventos a Métricas
El segundo pilar de privacy-first analytics: no registrar a nivel de evento, sino de métrica. GA4 registra cada clic, scroll, pausa de vídeo como línea separada (event stream). Un sitio e-commerce con 10M eventos/día. Eso es volumen (costos) y riesgo (más datos = más exposición). La lógica de agregación es simple: resumen eventos en el servidor en tiempo real, incrementando contadores en lugar de almacenar raw events.
Arquitectura ejemplo:
Cliente → Plausible Tracker (1,4 KB JS)
↓
Edge Worker (Cloudflare / Vercel)
↓ (se ejecuta agregación)
Event Bus Interno (Kafka / Redpanda)
↓
Time-Series DB (TimescaleDB / ClickHouse)
Agregación en el Edge Worker:
-- Hypertable TimescaleDB
CREATE TABLE page_metrics (
time TIMESTAMPTZ NOT NULL,
page_path TEXT NOT NULL,
country TEXT,
views INT DEFAULT 1,
bounces INT DEFAULT 0,
session_dur INT DEFAULT 0
);
SELECT create_hypertable('page_metrics', 'time');
Cada visualización de página desde el cliente sigue este flujo:
- JS tracker
POST /api/event→ edge endpoint - Edge worker calcula hash (IP + UA → session_id)
- Consulta en session store (Redis) si ese session_id existió en últimos 30 min
- Si existe, incrementa
viewsen +1; si no, escribe fila nueva - Después de 30 min de timeout de sesión, se calcula bounce
Esta arquitectura mejora GA4 en 3 aspectos:
- Storage: -85%. 10M eventos → 200K filas agregadas
- Velocidad de query: 40× más rápido. Índices time-series hacen dashboards en <15ms
- Privacy: Zero PII. Como no se guardan raw events, no hay solicitudes RGPD Article 17 — no hay datos personales que borrar
Compliance KVKK/RGPD: Detalles Técnicos
Para hacer privacy-first analytics legal-proof, necesitas 4 capas:
1. Data minimization (RGPD Article 5.1c): Recopila solo lo necesario. Ejemplo: en lugar de almacenar toda la URL referrer, guarda solo el dominio (https://example.com/checkout?user=123 → example.com). Es compliance + ahorro de disco.
2. Anonymization threshold (Guía KVKK 2023): Si un grupo en una métrica tiene <5 elementos, no lo muestres. Escribe "< 5". Porque grupos de 2-3 son identificables. En TimescaleDB:
SELECT
country,
CASE
WHEN COUNT(DISTINCT session_id) < 5 THEN '< 5'
ELSE COUNT(DISTINCT session_id)::TEXT
END AS visitors
FROM page_metrics
WHERE time > NOW() - INTERVAL '7 days'
GROUP BY country;
3. Data retention policy: KVKK Artículo 7: "cuando se cumple el propósito, los datos se eliminan". Para analytics: optimizar performance. 90 días son suficientes. En TimescaleDB, compresión + retención automáticas:
SELECT add_retention_policy('page_metrics', INTERVAL '90 days');
SELECT add_compression_policy('page_metrics', INTERVAL '7 days');
Datos >7 días se comprimen; >90 días se eliminan. Compliance automático con RGPD Article 17.
4. Integración Consent Mode v2 (opcional): Si aún trabajas hybrid con GA4, ejecuta Plausible incluso en modo "analytics_storage: denied". Porque Plausible no usa cookies, no requiere consentimiento. La arquitectura first-party detalla este setup hybrid: Plausible mide tráfico, server-side GTM envía conversion events a CDP.
Case Producción: E-Commerce Stack Hybrid
Arquitectura que implementamos en una tienda Shopify:
Frontend:
- Plausible tracker en todas las páginas (product view, cart, checkout)
- Custom event
plausible('Purchase', {revenue: 150})en checkout success
Backend (Cloudflare Worker):
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url)
if (url.pathname === '/api/event') {
const body = await request.json()
const sessionId = hashSession(request.headers.get('CF-Connecting-IP'),
request.headers.get('User-Agent'))
// Control de sesión en Redis
const exists = await redis.exists(`session:${sessionId}`)
if (!exists) {
await redis.setex(`session:${sessionId}`, 1800, '1')
await kafka.send({
topic: 'pageviews',
messages: [{
key: sessionId,
value: JSON.stringify({
page: body.url,
referrer: new URL(body.referrer).hostname,
timestamp: Date.now()
})
}]
})
}
return new Response('OK', {status: 202})
}
}
Data layer:
- Consumer Kafka escribe a TimescaleDB (batch insert cada 10 seg)
- Dashboard Grafana lee de TimescaleDB (real-time, refresh cada 2 seg)
- Export diario a BigQuery (con dbt: join tráfico Plausible + datos Shopify)
Resultado: Attribution de conversión al 92% de precisión (GA4 estaba en 58% por ITP y cookie rejection). Compliance KVKK 100% — cero PII almacenado. Query dashboard = 40ms (GA4 tardaba 4-6 segundos).
Plausible vs GA4: Cuándo Usar Cada Uno
¿Eliminar GA4 completamente? No. Sigue siendo lógico en dos escenarios:
Usa GA4:
- Cross-domain tracking (múltiples sitios, subdomains — mecanismo linker de GA4 es más maduro)
- Machine learning insights (GA4 predictive metrics: purchase probability, churn probability)
- Integración Google Ads (conversiones mejoradas, audience push para remarketing — nativo GA4)
Usa Plausible:
- Dashboard público (embebible, compartible — GA4 requiere viewer accounts)
- Sitios lightweight (blog, landing page, marketing SaaS)
- Compliance estricto (KVKK, RGPD, CCPA — riesgo cero en Plausible)
Setup hybrid es lo más común: Plausible mide tráfico site-wide, GA4 solo en funnel de conversión crítica via server-side GTM. Privacy + Performance.
Privacy-first analytics no es "estaría bien", es "es obligatorio". Chrome eliminó cookies en 2024, multas KVKK subieron 300% en 2025. Plausible + server-side aggregation es el único stack production-ready que resuelve ambas presiones. Si GA4 sigue perdiendo 60% de datos, planifica migración a medición cookieless — en 2026, analytics sin cookies es la única forma de sobrevivir.