Таблица cookies развалилась. Chrome в 2024 году прекратил третьесторонние cookies, Safari и Firefox блокируют их уже годами. Маркетинг-команды видят потерю данных на 40–60% в GA4 (по собственным отчётам Google). Одновременно штрафы GDPR в 2025 году достигли 4,2 млрд евро по Европе. Две проблемы: техническая (без cookies нет измерения) и юридическая (обход consent-баннеров — преступление). Privacy-first analytics решает обе одновременно: измерение без cookies, агрегация на сервере, полная compliance-готовность.
Plausible: Ядро Cookieless-Измерения
Когда Plausible появилась в 2019 году, её позиционировали как «альтернатива GA». К 2026 году это целая категория: privacy-first web analytics. Ключевое отличие — события привязываются не к cookie на клиенте, а к session ID на сервере без сохранения в памяти. Комбинация IP + User-Agent генерирует хеш (SHA-256), который обнуляется каждые 24 часа. Результат: точность по уникальным посетителям ≈95%, при этом никакой PII (personally identifiable information).
Сравнение с GA4:
- Владение данными: Plausible записывает события в собственный PostgreSQL. GA4 отправляет на серверы Google — ты не можешь запросить напрямую (кроме BigQuery export).
- Cookie-зависимость: GA4 привязана к
_gacookie. Если посетитель отклонит cookie, измерение рассыпается. Plausible изначально cookieless. - Размер скрипта: Plausible tracker — 1,4 KB, GA4 gtag.js — 28 KB + gtm.js — 45 KB. Разница в 50 раз на page load.
Для GDPR compliance критично: хеш Plausible — это не персональные данные. GDPR определяет персональные данные как информацию о «определённом или определяемом физическом лице». SHA-256 хеш необратим, поэтому он считается анонимизированными данными. Согласие не требуется — даже не нужен consent-баннер.
В production Plausible работает в двух сценариях:
- Standalone: для малых сайтов (блог, landing page) — достаточно самой себя. 10 строк JS-embed, dashboard готов.
- Hybrid: для e-commerce или SaaS — Plausible ловит весь трафик, критические conversion-события идут через server-side GTM в CDP. Этот вариант — фокус статьи.
Server-Side Aggregation: От События к Метрике
Второй столп privacy-first analytics: измерение не по событиям, а по метрикам. GA4 логирует каждый клик, скролл, паузу видео (event stream). На e-commerce сайте это 10 млн событий в день. Это и дорого, и risk для privacy. Aggregation работает просто: события агрегируются на сервере в реальном времени, raw events не сохраняются, только счётчики.
Пример архитектуры:
Client → Plausible Tracker (1.4 KB JS)
↓
Edge Worker (Cloudflare / Vercel)
↓ (выполняется агрегация)
Internal Event Bus (Kafka / Redpanda)
↓
Time-Series DB (TimescaleDB / ClickHouse)
Агрегация в edge worker:
-- TimescaleDB hypertable
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');
Каждый pageview с клиента проходит цепочку:
- JS tracker отправляет
POST /api/eventна edge endpoint - Edge worker вычисляет хеш (IP + UA → session_id)
- Проверяет Redis: был ли этот session_id в последние 30 минут
- Если да — увеличивает счётчик
viewsна 1, если нет — пишет новую строку - После 30 минут timeout вычисляется bounce
Эта архитектура даёт 3 преимущества перед GA4:
- Storage: −85%. 10M событий → 200K агрегированных строк
- Query speed: ×40 быстрее. Time-series индексы доставляют dashboard-запросы за <15ms
- Privacy: Zero PII. Raw события не сохраняются — нечего удалять при GDPR Article 17
GDPR Compliance: Технические Детали
Чтобы сделать privacy-first analytics legal-proof, нужны 4 слоя:
1. Data minimization (GDPR Article 5.1c): собирай только необходимое. Вместо полного referrer URL сохраняй только домен (https://example.com/checkout?user=123 → example.com). Это и compliance, и экономия диска.
2. Anonymization threshold (GDPR Guidelines): если в метрике <5 наблюдений, не показывай цифру — пиши «<5». Потому что группу из 2 человек можно идентифицировать. 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: GDPR требует удалять данные, когда цель обработки исчезает. Для аналитики цель — оптимизация производительности. 90 дней — достаточно. TimescaleDB:
SELECT add_retention_policy('page_metrics', INTERVAL '90 days');
SELECT add_compression_policy('page_metrics', INTERVAL '7 days');
Через 7 дней данные сжимаются, через 90 дней удаляются. GDPR Article 17 compliance — автоматический.
4. Consent Mode v2 интеграция (опционально): если ты ещё гибридный с GA4, запускай Plausible даже в режиме analytics_storage: denied. Потому что Plausible вообще не использует cookies — согласия не требуется. First-party архитектура детализирует этот гибридный setup: Plausible ловит трафик, server-side GTM отправляет conversion-события в CDP.
Production Case: E-commerce Hybrid Stack
Архитектура, которую мы развернули для Shopify-магазина:
Frontend:
- Plausible tracker на всех страницах (product view, cart, checkout)
- Custom event
plausible('Purchase', {revenue: 150})при успехе checkout
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'))
// Redis session-контроль
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:
- Kafka consumer пишет в TimescaleDB (batch insert каждые 10 сек)
- Grafana dashboard читает из TimescaleDB (real-time, refresh 2 сек)
- Ежедневный export в BigQuery (dbt join: Plausible traffic + Shopify orders)
Результат: attribution accuracy — 92% (у GA4 было 58% из-за ITP и cookie rejection). GDPR compliance — 100%, никакой PII. Query-время — 40ms (у GA4 — 4–6 сек).
Plausible vs GA4: Когда Что Использовать
Нужно ли полностью отказываться от GA4? Нет. В двух сценариях GA4 всё ещё имеет смысл:
Используй GA4:
- Cross-domain tracking (несколько сайтов, поддомены — linker GA4 более зрелый)
- Machine learning insights (predictive metrics GA4: probability to purchase, churn probability)
- Google Ads integration (enhanced conversions, remarketing audiences — GA4 встроена)
Используй Plausible:
- Public dashboard (встраиваешь Plausible на сайт — GA4 требует viewer-аккаунт)
- Лёгкие сайты (блог, landing page, SaaS marketing)
- Strict compliance (GDPR, CCPA — у Plausible zero risk)
Гибридный setup самый распространённый: Plausible ловит весь трафик сайта, GA4 срабатывает только на critical conversion-funnel через server-side GTM. Так ты получаешь privacy и performance одновременно.
Privacy-first analytics — это уже не «было б неплохо», это обязательно. Chrome удалил cookies в 2024, штрафы GDPR выросли на 300% в 2025. Plausible + server-side aggregation — единственное production-ready решение для двух этих давлений одновременно. Если ты всё ещё мучаешься с 60% data loss в GA4, планируй переход на cookieless-архитектуру — в 2026 году analytics без cookies — это baseline.