Рисёрч12 октября 202612 платформ + свой пайплайн
Своя веб-аналитика
Open-source платформы, которые можно развернуть на своих серверах вместо Google Analytics и Яндекс Метрики: как они устроены, как их развернуть, сколько стоят, что умеют и каковы их ограничения. Рекомендации — от pet-проекта до крупного бизнеса.
GA4POST /g/collect?v=2&tid=G-XXXXXX&en=page_view&dl=… MatomoGET /matomo.php?idsite=1&rec=1&url=…&_id=… PlausiblePOST /api/event {"name":"pageview","domain":"…","url":"…"} UmamiPOST /api/send {"type":"event","payload":{"website":"…","url":"…"}} RybbitPOST /api/track
Коротко
Шесть выводов
- Open-source замены GA4 целиком нет. Каждый инструмент покрывает свою часть задач: Matomo ближе всех к GA по набору отчётов, PostHog и OpenPanel — к Mixpanel и Amplitude, OpenReplay — к Вебвизору, а собственный пайплайн на ClickHouse — к связке «GA4 + экспорт в BigQuery».
- Главное техническое различие — как платформа узнаёт посетителя. Cookieless-инструменты (Plausible, OpenPanel, Swetrix, cookieless-режимы Matomo и PostHog) перестают узнавать анонимного посетителя через сутки, Umami — на границе месяца. Если между первым визитом и конверсией проходят дни — как в B2B, финансах, iGaming или при покупке дорогих товаров, — канал привлечения нужно фиксировать на своей стороне, на бэкенде.
- Второе различие — хранилище. Matomo пишет в MySQL и строит отчёты из заранее посчитанных архивов: на десятках миллионов хитов узким местом становятся архивация и сегменты. Платформы на ClickHouse считают отчёты на лету и справляются с большими объёмами, но их сложнее обслуживать.
- Open source не значит «всё бесплатно». В Plausible CE нет воронок и выручки, PostHog в self-hosted официально рассчитан на ~100–300 тыс. событий в месяц, у Matomo воронки, когорты и heatmaps — платные плагины, у OpenReplay выгрузка в хранилища — только в Enterprise, а Snowplow с 2024 года нельзя бесплатно использовать в продакшене.
- Все трекеры есть в EasyPrivacy. Без проксирования на свой домен и переименования путей теряется заметная доля данных: вендоры называют 5–30%. Safari к тому же ограничивает cookie, записанные из JavaScript, семью днями.
- Self-hosting в своей стране снимает вопрос трансграничной передачи данных. Облачные тарифы всех вендоров — это передача данных за рубеж. Для Беларуси это существенно: США не входят в перечень стран с надлежащей защитой персональных данных, а в отдельных отраслях действуют требования размещать серверы в РБ.
Что выбрать по масштабу
Короткая версия. Обоснование, бюджеты и состав команды — в разделе «Сценарии».
Pet-проект
MIT, ставится за 10 минут, работает на самом дешёвом VPS. GoatCounter — если нужен только счётчик просмотров.
Клиенты и SMB
Umami — если нужны воронки и replay без платных плагинов. Matomo — если команда привыкла к логике GA: цели, e-commerce, Tag Manager, импорт истории.
Средний бизнес
Альтернатива на ClickHouse — Rybbit, но проекту полтора года. Для записей сессий — OpenReplay отдельной установкой.
Крупный бизнес
Сырые события в ClickHouse в РБ как эталонный источник данных, Matomo или Rybbit как интерфейс для маркетинга, OpenReplay для UX.
Бюджеты — стоимость своих серверов по прайсам массовых VPS-провайдеров на октябрь 2026: нижняя граница — один сервер, верхняя — схема с резервированием. Стоимость людей не входит, если не указано иное. Подробный расчёт — в разделе «Стоимость».
Контекст
Почему вопрос встал сейчас
Яндекс Метрика
В ночь на 8 октября после атаки БПЛА полностью остановлен дата-центр Яндекса в Сасове, 9 октября часть инфраструктуры вышла из строя в Калуге, в ночь на 11 октября остановлен дата-центр во Владимире. Сроки восстановления оборудования компания назвать не может1, 2.
Метрика с тех пор работает нестабильно, и у разных пользователей по-разному: кабинет может не открываться3, а отчёты — показывать данные не полностью. Перебои затронули и облачную платформу: зона ru-central1-b Yandex Cloud недоступна с 8 октября, часть облачных сервисов работает с ограничениями4. Рекламная платформа и связанные с ней инструменты, включая Метрику, восстанавливаются медленнее потребительских сервисов5. Скрипт счётчика tag.js при этом загружается, но какие данные за дни сбоя сохранены и когда они станут доступны, официально не сообщалось.
Google Analytics
GA4 в Беларуси работает, но у него есть ограничения, которые не обходятся настройками:
- пороги данных скрывают строки отчётов, и отключить их нельзя6;
- исследования сэмплируются от 10 млн событий на запрос7;
- ежедневный экспорт в BigQuery для стандартного ресурса ограничен 1 млн событий в сутки, а потоковый не гарантирует полноты данных8;
- моделирование Consent Mode включается только при 1 000+ событий в день от пользователей, отказавшихся от cookie, в течение 7 дней9.
Отдельный риск — политический: с декабря 2024 года Google приостановил монетизацию белорусских аккаунтов AdSense, AdMob и Ad Manager10. GA это не затронуло, но показывает, что ограничения со стороны Google возможны.
Право
Отправка данных в GA — это трансграничная передача в США, которых нет в перечне стран с надлежащей защитой персональных данных11. Подробнее — в разделе «Правовая рамка».
Карта
Четыре класса инструментов
Под словами «альтернатива GA» скрываются продукты с разными задачами. Если сравнивать их одной меркой, выбор получится случайным.
- Счётчики трафика — GoatCounter, Plausible CE. Отвечают на вопросы «сколько», «откуда» и «куда». Скрипт весит несколько килобайт, cookie не нужны, профилей пользователей и воронок нет.
- Замены GA — Matomo, Umami, Rybbit, Swetrix, Open Web Analytics. Каналы, цели, воронки, выручка, сегменты; некоторые записывают сессии.
- Продуктовая аналитика и UX — PostHog, OpenPanel, Countly, OpenReplay. В центре — пользователь и его события: retention, профили, replay, эксперименты.
- Конструктор — Jitsu, OpenSnowcat, sGTM, d8a плюс ClickHouse, dbt и BI. Сырые события и любые модели, но интерфейс и логику строите сами.
Umami и Rybbit дают больше всего функций на единицу сложности эксплуатации
Функции в бесплатной self-hosted версии и сложность её эксплуатации, баллы от 0 до 10. Наведите на точку, чтобы увидеть пояснение.
Технический разбор
Как это устроено
Все платформы собраны по одной схеме из пяти звеньев. Различаются они тем, что происходит на каждом звене, и именно это определяет предельную нагрузку и набор доступных отчётов.
JS-скрипт или SDK собирает хит: URL, referrer, UTM, экран, идентификатор посетителя. Вес — от 1,5 до 105 КБ.
HTTP-endpoint: /matomo.php, /api/event, /api/send. Здесь отсеиваются боты, по IP определяется география, а сам IP хешируется.
Redis у Matomo (QueuedTracking), Kafka или Redpanda у PostHog и Jitsu. Лёгкие системы пишут сразу в базу.
MySQL (Matomo, OWA), PostgreSQL (Umami), SQLite (GoatCounter), MongoDB (Countly), ClickHouse (остальные).
Либо заранее посчитанные архивы (Matomo), либо SQL-запрос к сырым событиям в момент открытия отчёта.
Трекеры различаются по весу в 70 раз: от 1,5 КБ у Umami до 105 КБ у PostHog
Размер основного скрипта, КБ. PostHog тяжелее всех, потому что в основной скрипт входит autocapture; replay и опросы он подгружает отдельно.
Как платформа узнаёт посетителя
Это самое важное отличие для маркетинговой аналитики. От него зависит, свяжет ли система конверсию через пять дней с рекламным кликом, после которого пользователь впервые пришёл на сайт.
| Платформа | Механизм | Срок жизни идентификатора | Следствие |
|---|---|---|---|
| Matomo | First-party cookie _pk_id; без cookie — config_id12, 13 | 13 месяцев; cookie с источником _pk_ref — 6 месяцев. В Safari — до 7 дней | Есть вернувшиеся посетители и атрибуция между визитами. В cookieless-режиме окно — 30 минут |
| Plausible | Хеш от суточной соли, домена, IP и User-Agent14 | Сутки | Завтра тот же человек — новый посетитель. Уникальные посетители за период — сумма дневных. Люди за одним NAT с одинаковым браузером считаются одним посетителем |
| Umami | UUID от сайта, IP, User-Agent и соли; соль по умолчанию — месяц15 | До конца календарного месяца | Retention считается внутри месяца, на его границе идентификаторы сбрасываются. Смена IP, например переход с Wi-Fi на мобильную сеть, — новый посетитель |
| GoatCounter | Случайный UUID в памяти по сайту, UA и IP16 | 8 часов | Есть только визиты, вернувшихся посетителей нет |
| PostHog | distinct_id в cookie и localStorage, затем identify()17, 18 | До года; в Safari — 7 дней; в cookieless-режиме — сутки | Полноценные профили после входа пользователя |
| Rybbit | Хеш IP и User-Agent; соль можно менять ежедневно; identify()19 | Зависит от настройки соли | После identify() анонимная история привязывается к пользователю задним числом |
| Swetrix | Хеш IP, UA и проекта; сессионная соль — сутки, профильная — месяц20 | Сутки или месяц | DAU и MAU считаются, атрибуция — в пределах сессии |
| OpenPanel | Хеш от суточной соли, UA, IP и проекта; identify()21 | Сутки (смена в 00:00 UTC) | Retention анонимов искажён; авторизованные пользователи связываются по profileId |
| Свой пайплайн | Серверная first-party cookie с флагом HttpOnly | До 400 дней — предел Chrome22 | Срок жизни идентификатора и правила объединения сессий определяете сами |
Интерактивная проверка
Кому платформа припишет конверсию
Пользователь пришёл с рекламы, а конверсию — покупку, заявку, оплату — совершил через несколько дней с того же устройства и браузера. Выберите срок и браузер: карточки покажут, свяжет ли каждая платформа конверсию с рекламным источником.
Упрощённая модель: настройки по умолчанию, одно устройство, IP не менялся. При смене устройства анонимная связь теряется в любом инструменте, восстановить её можно только по ID пользователя.
Практический вывод
Атрибуцию конверсий нельзя доверять механизму идентификации аналитической системы. Сохраните first-touch источник (UTM, click ID, referrer) при первом визите в серверной cookie, при регистрации или заказе перенесите его в профиль пользователя или в заказ, а саму конверсию отправляйте с бэкенда серверным событием с ID пользователя и этим источником в свойствах. Тогда канал сохранится в любом инструменте, где у событий есть свойства, и выбор платформы перестанет зависеть от её модели cookie.
Где лежат данные и как считаются отчёты
Предагрегация в MySQL
- Сырые хиты пишутся в таблицы
log_*, отчёты заранее считаются в архивы13. - Плюс: дашборды открываются быстро, база знакома любому DBA.
- Минус: новый сегмент пересчитывается по всей истории, текущий день пересчитывается целиком при каждом запуске, строки сверх 500 сворачиваются в «Others»23, 24.
- База масштабируется только вертикально.
Строчная БД, запрос на лету
- Отчёт — это SQL-запрос к сырым событиям в момент открытия.
- Плюс: любой срез без пересчёта, простая эксплуатация.
- Минус: на 100 тыс.+ визитов в день недельные отчёты Umami считаются десятки секунд, отчёты за длинные периоды обрываются по таймауту25.
Колоночная ClickHouse
- Отчёт — запрос к сырым событиям, но колоночная БД читает только нужные столбцы и сильно сжимает данные.
- Плюс: миллионы событий в сутки на одном сервере, прямой SQL для аналитика.
- Минус: ClickHouse требователен к памяти и настройке; при мажорных обновлениях платформ приходится мигрировать данные и обновлять сам ClickHouse26.
Блокировщики и Safari
В актуальном EasyPrivacy есть правила для всех рассмотренных трекеров: /matomo.js, /matomo.php, ://plausible.*/js/script., ||umami.*/script.js, *.posthog.com, /countly.min.js, /op/op1.js и т. д.27 Правила срабатывают по имени файла, поэтому self-hosting сам по себе не помогает: stats.site.by/matomo.js блокируется так же, как облачный адрес.
Сколько данных теряется, зависит от аудитории. В исследовании Plausible 2021 года на одном техническом сайте GA не увидел 58,7% посетителей — это верхняя граница для ИТ-аудитории28. Plausible оценивает потери без прокси в 5–25%29, PostHog обещает 10–30% прироста событий после проксирования30, GoatCounter пишет о потере около трети просмотров на своём хостинге31. По отчёту eyeo (издатель Adblock Plus, сторона заинтересованная), блокировщиками пользуется около 30% интернет-аудитории, в России — 33%32.
Что помогает:
- размещать трекер и приёмник на основном домене за обратным прокси, с нейтральными путями; официальные инструкции есть у Matomo (
tracker-proxy), Plausible, Umami, PostHog, OpenPanel33, 29, 34, 30; - отправлять ключевые конверсии с сервера: Matomo HTTP Tracking API, Plausible Events API, импорт логов веб-сервера в Matomo и GoatCounter;
- записывать идентификатор в cookie на стороне сервера. Safari удаляет cookie, записанные из JavaScript, через 7 дней, и так же ограничивает cookie из ответов сервера, спрятанного за CNAME стороннего сервиса35, 36. Поэтому приёмник должен работать на вашем IP-адресе, а не на CNAME к чужой инфраструктуре. Google тоже называет размещение на том же домене лучшей практикой для sGTM37.
Сравнение
Матрица возможностей
Что доступно в бесплатной self-hosted версии каждой платформы. Наведите на значок, чтобы увидеть пояснение. Фильтр подсвечивает нужную группу задач и сортирует платформы по покрытию этой группы.
| Платформа | Атрибуция | Продукт | Сырые данные | Replay | Потолок self-hosted | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Каналы и UTM | Цели и события | Выручка | Модели атрибуции | Воронки | Retention, когорты | Профили, User ID | A/B, флаги | SQL к сырым событиям | Выгрузка в DWH | Импорт из GA | Записи сессий | Тепловые карты | ||
| MatomoGPL · MySQL | 100 млн+ просмотров на кластере; узкое место — архивация и MySQL | |||||||||||||
| Plausible CEAGPL · ClickHouse | Официально не указан; ClickHouse справляется с миллионами событий | |||||||||||||
| UmamiMIT · PostgreSQL | Низкие миллионы событий в месяц на Postgres (оценка) | |||||||||||||
| RybbitAGPL · ClickHouse | Не документирован; запись без очереди | |||||||||||||
| Swetrix CEAGPL · ClickHouse | Не документирован | |||||||||||||
| PostHogMIT, кроме ee/ · ClickHouse + Kafka | ~100–300 тыс. событий в месяц: официальная рамка hobby-сборки | |||||||||||||
| OpenPanelAGPL · ClickHouse | Не документирован; есть гайд для больших объёмов | |||||||||||||
| OpenReplay CEAGPL · ClickHouse + Postgres | Зависит от кластера; главная нагрузка — хранилище записей | |||||||||||||
| GoatCounterEUPL · SQLite / Postgres | Узкое место — число уникальных путей, трафик почти не важен | |||||||||||||
| Countly LiteAGPL с изм. §7 · MongoDB | Зависит от MongoDB; 16–64 ГБ RAM при высоком трафике | |||||||||||||
| Open Web AnalyticsGPL · MySQL | Не документирован | |||||||||||||
| Свой пайплайнJitsu / OpenSnowcat / sGTM + ClickHouse | Сотни миллионов событий в месяц — штатная нагрузка для ClickHouse | |||||||||||||
Источники по каждой платформе — в её карточке ниже. Матрица описывает self-hosted версии; в облачных тарифах тех же вендоров функций больше.
Разбор
Платформы подробно
Девять основных кандидатов — в порядке от самых зрелых и универсальных к узким. Каждую карточку можно свернуть.
Matomo
Ближайший к Google Analytics набор отчётов плюс собственный Tag Manager. Бывший Piwik, самый зрелый проект в обзоре.
GPL v3 (ядро), трекер BSDPHP + MySQL/MariaDB5.14.1 · 04.10.2026~21,9 тыс. ★InnoCraft, Новая ЗеландияУровни 2–3, интерфейс на уровне 4
Как работает
- Трекер
matomo.js(~22 КБ gzip) ставит first-party cookie:_pk_id— ID посетителя на 13 месяцев,_pk_ref— источник для атрибуции на 6 месяцев,_pk_ses— сессия на 30 минут12. - Хиты приходят на
/matomo.php, есть пакетный режим и HTTP Tracking API для серверных событий — регистраций, заказов и других конверсий с бэкенда с передачейuid38. Импорт логов веб-сервера бесплатный. - Сырые данные лежат в MySQL-таблицах
log_visit,log_link_visit_action,log_conversion. Интерфейс читает не их, а архивыarchive_numeric_*иarchive_blob_*, разбитые по месяцам13. - Архивы пересчитывает cron-команда
core:archive; её советуют включать уже от нескольких сотен визитов в день. Каждая комбинация «сегмент × сайт × период» — отдельный архив, поэтому объём вычислений растёт линейно с числом сегментов23, 39. - Строки сверх лимита (по умолчанию 500) сворачиваются в «Others». Поднять лимит задним числом можно только пересчётом, пока сохранились сырые логи24.
Как развернуть
# официальный образ + отдельная MySQL/MariaDB docker run -d --name matomo -p 8080:80 \ -e MATOMO_DATABASE_HOST=db matomo:5-apache # архивация по расписанию вместо «по открытию отчёта» 5 * * * * php /var/www/html/console core:archive \ --url=https://stats.example.by
Официальные требования к железу40:
| Просмотров в месяц | Конфигурация |
|---|---|
| до 100 тыс. | 1 сервер: 2 CPU, 2 ГБ RAM, 50 ГБ SSD |
| до 1 млн | 1 сервер: 4 CPU, 8 ГБ, 250 ГБ |
| до 10 млн | приложение 8 CPU / 16 ГБ + БД 8 CPU / 16 ГБ / 400 ГБ |
| до 100 млн | 3 сервера приложения по 16 CPU + БД 16 CPU / 32 ГБ / 1 ТБ с репликой |
| больше 100 млн | от 5 серверов, 2 сервера БД с репликацией |
Пиковую нагрузку сглаживает бесплатный плагин QueuedTracking с очередью в Redis41. Docker-образ официальный42, Helm-чарта от вендора нет.
Сколько стоит
- Ядро бесплатно. Платные плагины для self-hosted, € в год на тариф до 4 пользователей: Heatmap & Session Recording — 219, Custom Reports — 219, A/B Testing — 219, Funnels — 199, Form Analytics — 149, Cohorts — 89, Users Flow — 89, Multi Channel Attribution — 89, Activity Log — 39. Тарифы до 20 и до 50 пользователей дороже в 7–14 раз: Funnels — 1 549 и 3 069 €43.
- Matomo Cloud Business: 1 млн хитов — 172 €/мес, 10 млн — 1 600 €/мес44. Хит — это просмотр, событие, загрузка, переход по ссылке, поиск по сайту45.
- Self-hosted, серверы по официальным требованиям: до 300 тыс. хитов — €6–72/мес, до 3 млн — €19–169, до 30 млн — €50–447, до 100 млн — €177–767. Нижняя граница — без резерва, верхняя — с репликой базы. Плюс время DBA.
Документация и зрелость
Ядро под GPL v3, трекер под BSD-3, премиум-плагины проприетарные46; около 21,9 тыс. звёзд и 31 тыс. коммитов на GitHub47.
Документация сильная: руководства, тысячи FAQ с обновлениями 2025–2026 годов, developer.matomo.org с версиями v5 и v6, публичный форум, коммерческая поддержка. Минус — знания разбросаны по десяткам FAQ.
Matomo 6 в бете с 09.09.2026: PHP 8.1+, MySQL 8.0+, встроенная фильтрация ботов, включая AI-агентов. Миграция добавляет колонку в log_visit — на больших таблицах ALTER TABLE идёт долго48, 49.
Сильные стороны
- самый полный набор GA-подобных отчётов в бесплатном ядре: каналы, цели, e-commerce, сегменты, User ID, cross-domain, Tag Manager, мобильные SDK;
- серверный трекинг и импорт логов — конверсии не теряются из-за блокировщиков;
- импорт истории из GA4, хотя и только в виде агрегатов50;
- режим без cookie для работы без баннера согласия51.
Слабые стороны
- MySQL и архивация: на 10 млн+ хитов в месяц разовые срезы по сырым данным считаются медленно; на форуме описаны 40–50 минут архивации на сегмент при 5 000+ сегментов52;
- атрибуция только по правилам: last, first, linear, position-based, time decay; data-driven нет53;
- выгрузка в хранилище (Data Warehouse Connector) только в Cloud; в self-hosted — свой ETL из MySQL54;
- воронки, heatmaps и когорты — платные плагины.
Решает
- замену GA4 и GTM с хранением у себя;
- e-commerce, цели, выручку;
- heatmaps и записи сессий за умеренные деньги;
- серверные конверсии с ID пользователя.
Не решает
- SQL-аналитику по сырым событиям на десятках миллионов хитов;
- data-driven атрибуцию;
- поток событий в BigQuery без своего ETL.
Umami
Самая простая в установке «почти GA»: Node.js и PostgreSQL под MIT, а с версии 3 — воронки, retention, выручка, записи сессий и тепловые карты.
MITNext.js + PostgreSQLv3.4.0 · 17.09.2026~38,2 тыс. ★Umami SoftwareУровни 1–2
Как работает
- Трекер ~1,5 КБ gzip, переходы в SPA отслеживает сам. Записи сессий пишет отдельный
recorder.jsна rrweb. - Сессия = UUID от сайта, IP, User-Agent, соли и distinct ID. Соль по умолчанию меняется раз в месяц, период настраивается через
SALT_ROTATION15. umami.identify()даёт профили и связывает устройства: сессии остаются отдельными, но относятся к одному пользователю55.- Хиты —
POST /api/send. Таблицыwebsite_eventиsessionв Postgres доступны SQL напрямую. MySQL убрали в v3.056. ClickHouse есть в коде, но официально не документирован и не поддерживается57.
Как развернуть
git clone https://github.com/umami-software/umami.git cd umami docker compose up -d # umami + postgres # вход: admin / umami — сменить сразу
Официальных требований к железу нет; на домашнем сервере Umami занимает около 240 МБ RAM. Для v3.1+ нужен Node 22.
Сколько стоит
- Self-hosted — бесплатно плюс VPS: €6–9/мес до 3 млн событий, с отдельным сервером базы — €40–72.
- Cloud: Hobby — $0 за 100 тыс. событий; Pro — $20 за 1 млн, сверх — $0,00003 за событие; Business — $200 за 10 млн, с реплеями и тепловыми картами58.
Сильные стороны
- MIT без open-core ограничений: воронки, journeys, retention, атрибуция first/last click, выручка, сегменты, replay, heatmaps, Web Vitals доступны в self-hosted59;
- установка за минуты, прямой SQL к Postgres;
- частые релизы: минорная версия раз в 1–2 месяца, большое сообщество — около 38 тыс. звёзд на GitHub60.
Слабые стороны
- Postgres не справляется с большим трафиком: на 100 тыс.+ визитов в день отчёты за длинный период обрываются по таймауту25;
- ломающие изменения в мажорных версиях: убрали MySQL, подняли версию Node;
- нет импорта из GA;
- идентификаторы анонимных посетителей сбрасываются на границе месяца.
Решает
- клиентские сайты и SMB;
- продуктовую веб-аналитику в объёме упрощённого GA4;
- замену Вебвизора на небольших объёмах.
Не решает
- миллионы событий в сутки;
- перенос истории из GA;
- сложную мультиканальную атрибуцию.
Документация: широкая, но с пробелами — нет требований к железу, ClickHouse-режим не описан, не объяснено, как retention узнаёт вернувшегося посетителя61.
Plausible Community Edition
Лёгкая веб-аналитика на ClickHouse с упором на приватность: один понятный дашборд, без cookie. Community Edition — сознательно урезанная версия облака.
AGPL-3.0, трекер MITElixir + PostgreSQL + ClickHousev3.2.1 · 15.05.2026~28,8 тыс. ★Plausible Analytics, ЕСУровни 1–2, трафик без конверсий
Как работает
- Скрипт ~2,5 КБ по данным вендора, без cookie и localStorage.
- Посетитель = хеш от суточной соли, домена, IP и UA. Соль удаляется каждые 24 часа14.
- События и до 30 свойств — через скрипт или Events API
POST /api/event. Для серверных событий нужно передавать IP и User-Agent клиента: событие с IP сервера бот-фильтр молча выбросит, вернув 202 и заголовокx-plausible-dropped62. - Сырые события лежат в ClickHouse (
events_v2,sessions_v2), к ним есть прямой SQL-доступ; метаданные — в PostgreSQL63.
Как развернуть
git clone -b v3.2.1 --single-branch \
https://github.com/plausible/community-edition plausible-ce
cd plausible-ce
# BASE_URL и SECRET_KEY_BASE — в .env
docker compose up -d
От 2 ГБ RAM и CPU с SSE 4.2 или NEON (требование ClickHouse)64. CE выходит дважды в год; мажорные версии требуют миграции данных (для v2.0 нужен был двойной запас места на диске), исправления безопасности в старые версии не переносятся26. v3.2.1 закрыла RCE-уязвимость65.
Сколько стоит
- CE — бесплатно плюс VPS: €6–36/мес до 300 тыс. событий, €16–140/мес до 30 млн — от одного сервера до схемы с репликой.
- Cloud на 10 тыс. просмотров: Starter $9, Growth $14, Business $19 (воронки, выручка, Stats API); на больших объёмах — калькулятор на сайте66.
Сильные стороны
- простой и быстрый дашборд для маркетинга и SEO, интеграция с Search Console;
- ClickHouse справляется с объёмом лучше решений на Postgres;
- прямой SQL к сырым событиям;
- независимая компания без инвесторов, 21 000+ платящих клиентов67.
Слабые стороны
- в CE нет воронок, ecommerce-выручки, user journeys, SSO и Sites API68;
- бот-фильтрация в CE базовая: у одного автора после переезда на self-hosted посещаемость «выросла» примерно с 200 до 5 000+ уникальных посетителей в день69;
- нет user-level данных, retention и cross-device;
- импорт GA4 — только дневные агрегаты без UTM70.
Решает
- трафик-аналитику: каналы, UTM, лендинги, SEO;
- конверсии внутри одного визита;
- публичные дашборды.
Не решает
- атрибуцию отложенных конверсий;
- LTV, retention, профили;
- воронки и выручку в CE.
PostHog
Продуктовая платформа «всё в одном»: события, session replay, feature flags, эксперименты, опросы, ошибки и web analytics. Заменяет Mixpanel, Hotjar и LaunchDarkly, но не GA.
MIT, кроме каталога ee/Django + Rust + ClickHouse + Kafka + Postgresбез тегированных релизов~37,5 тыс. ★PostHog Inc., СШАSelf-hosted только для пилотов
Как работает
posthog-js(~105 КБ gzip) с autocapture кликов, просмотров и форм; replay и опросы подгружаются отдельно.- Анонимный
distinct_idхранится в cookie и localStorage; послеidentify()события связываются с профилем. По умолчанию профили создаются только для идентифицированных пользователей: анонимные события дешевле, но без когорт и фильтров по свойствам пользователя17. - Путь события: приёмник на Rust → Kafka → воркеры ingestion → ClickHouse. Postgres хранит профили и метаданные, Redis — кэш, записи replay лежат в объектном хранилище71.
- SQL — через HogQL, обёртку над ClickHouse SQL.
Как развернуть
/bin/bash -c "$(curl -fsSL \ https://raw.githubusercontent.com/posthog/posthog/HEAD/bin/deploy-hobby)"
Единственный вариант — hobby-сборка на docker compose: 4 vCPU, 16 ГБ RAM, 30+ ГБ диска, около 39 сервисов, включая ClickHouse, ZooKeeper, Redpanda, Postgres, Redis, SeaweedFS и Temporal с Elasticsearch72.
Ключевое ограничение. README называет потолок около 100 тыс. событий в месяц, документация советует переходить в Cloud после 300 тыс.73, 72 Kubernetes и Helm не поддерживаются с 2023 года74, поддержки нет, обновления ставятся прямо из ветки master. В self-hosted недоступны batch exports в хранилища75, SSO, RBAC, audit log, lifecycle и group analytics76.
Сколько стоит
- Cloud (США или Франкфурт): бесплатно 1 млн событий, 5 тыс. записей replay и 1 млн запросов к флагам в месяц. Дальше — от $0,00005 за событие с понижением по объёму: 10 млн анонимных событий ≈ $324/мес, все identified ≈ $1 080/мес77.
- Self-hosted: сервер на 16 ГБ RAM — €16–70/мес плюс время инженера (оценка).
- Беларусь в справочнике PostHog — в списке территорий, за регистрациями из которых нужно присматривать; Россия заблокирована78.
Документация и отзывы
Документация сильная: у каждой страницы есть markdown-версия. Раздел про self-hosting вендор сознательно держит минимальным. На Hacker News hobby-сборку описывают от «как-то работает» до «полностью сломана», хотя есть и отзывы «работает нормально»79. Перенос из GA — только своим скриптом GA4 → BigQuery → PostHog80.
Сильные стороны
- самый широкий функционал в обзоре;
- replay, флаги и эксперименты в одном SDK;
- SQL по событиям из интерфейса.
Слабые стороны
- self-hosted не рассчитан на продакшен;
- тяжёлый стек и тяжёлый SDK;
- облако — это данные в США или ЕС.
Решает (в облаке)
- воронки «регистрация → конверсия», retention, профили пользователей;
- A/B-тесты с флагами;
- replay с привязкой к событиям.
Не решает
- в self-hosted — нагрузку больше сотен тысяч событий и выгрузку в DWH;
- в любом варианте — атрибуцию уровня GA4 и выгрузку аудиторий в рекламные кабинеты.
Rybbit
Молодая (с января 2025 года) замена GA на ClickHouse: сессии, воронки, journeys, профили, ошибки. Самый быстрорастущий проект в своём классе.
AGPL-3.0Next.js + Fastify + ClickHouse + Postgresv2.8.0 · 07.2026~13 тыс. ★основатель Bill YangУровни 2–3 с оглядкой на риски
Как работает
- Трекер ~18 КБ без сжатия; replay, Web Vitals и ошибки — отдельные модули.
- Без cookie: посетитель = хеш IP и User-Agent, соль можно менять ежедневно.
identify(userId, traits)пишет ID в localStorage и задним числом привязывает анонимную историю19. /api/track→ валидация → rate limit → бот-фильтр → гео → сессия в Postgres, событие в ClickHouse. Очереди нет, запись синхронная81.- v2.8: исключение трафика по ASN, клиентская бот-детекция, MCP-сервер, API-ключи организации82.
Как развернуть
git clone https://github.com/rybbit-io/rybbit.git
cd rybbit
./setup.sh stats.example.by # Docker Compose + Caddy с TLS
VPS от 2 ГБ RAM, x86_64 или ARMv8.2-A83. Горизонтальное масштабирование не документировано.
Сколько стоит
- Self-hosted — бесплатно плюс VPS: €6–36/мес до 300 тыс. событий, €16–140/мес до 30 млн.
- Cloud при 100 тыс. просмотров и годовой оплате: Standard $13/мес, Pro $26/мес (с реплеями)84.
Сильные стороны
- функционал уровня Umami v3, но на ClickHouse;
- анонимная история задним числом привязывается к пользователю;
- импорт из Umami и Plausible.
Слабые стороны
- проекту полтора года, и он держится на основателе: bus factor = 1;
- запись без очереди рискованна на пиках нагрузки, например во время распродаж или крупных рекламных кампаний;
- доступность replay в self-hosted не подтверждена: таблица «self-hosted vs Cloud» отображается неоднозначно85;
- нет выручки, тепловых карт, импорта из GA.
Swetrix
Веб-аналитика плюс ошибки и производительность на ClickHouse, с самыми строгими в классе правилами приватности. Community Edition заметно беднее облака.
AGPL-3.0Nest.js + ClickHouse + RedisCE v5.3.0 · ≈07.2026~1,1 тыс. ★команда из трёх человекНишевый выбор
Как работает
- Без cookie и localStorage: хеш IP, UA и ID проекта с двумя солями — сессионной (сутки, смена в 00:00 UTC) и профильной (месяц, для DAU/WAU/MAU). Сырые IP и UA не сохраняются20.
identify()создаёт профиль и подтягивает анонимную историю по правилу «первая идентификация побеждает».- В CE: трафик, UTM, события со свойствами, цели, воронки, user flows, сегменты, профили и retention (с v5), ошибки, производительность (TTFB, DNS, TLS), CSV-экспорт, API86.
- Только в облаке: replay, выручка, флаги и A/B, AI, алерты87.
Как развернуть
git clone https://github.com/Swetrix/selfhosting cd selfhosting ./configure.sh && docker compose up -d
От 2 ГБ RAM, x86_64 или arm64; миграции при обновлениях — вручную, ломающие изменения бывают даже в минорных версиях88.
Self-hosted: бесплатно плюс VPS, как у Rybbit: €6–140/мес до 30 млн событий. Cloud: Standard $19/мес, Plus $39/мес89.
OpenPanel
Open-source аналог Mixpanel с веб-аналитикой: события, воронки, retention, когорты, профили, replay. Self-hosted версия не урезана по функциям.
AGPL-3.0Fastify + Next.js + ClickHouse + Postgres + Redis2.3.0 · 18.08.2026~6,8 тыс. ★OpenPanel AB, СтокгольмПродуктовая аналитика на уровнях 2–3
Как работает
- Трекер ~3,3 КБ gzip; SDK для веба, Node, Python, Swift, Kotlin, React Native и других.
- Cookieless
device_id= хеш от суточной соли, UA, IP и проекта;identify()связывает устройства черезprofileId21. - Export API отдаёт сырые события, есть Insights API и MCP; в self-hosted — прямой доступ к ClickHouse.
- Нет feature flags, тепловых карт, опросов, batch-экспорта; A/B — только разбивка конверсии по свойству варианта. Вендор сам советует оставить GA4 для Google Ads и сложной атрибуции90.
Как развернуть
git clone https://github.com/Openpanel-dev/openpanel
cd openpanel/self-hosting
./setup && ./start # обновление: ./update
Compose, Coolify, Dokploy или Kubernetes; требования к железу не указаны, есть гайд для больших объёмов91.
Self-hosted: бесплатно плюс VPS — около €9/мес до 300 тыс. событий, €16 до 3 млн и €30 до 30 млн на одном сервере; с репликой — €72–261. Cloud: 1 млн событий — $90/мес, 10 млн — $350, 50 млн — $900; бесплатного тарифа нет92. Риск: проект держится на одном основателе93.
OpenReplay
Session replay с инструментами разработчика (сеть, консоль, состояние стора) плюс воронки, journeys, тепловые карты и co-browsing. Аналог Вебвизора и Hotjar для продукта и поддержки.
AGPL-3.0, часть MIT, ee/ отдельноGo/Python + Postgres + ClickHouse + Redis + MinIOv1.27.0 · 05.05.2026~12,2 тыс. ★Asayer Inc.UX-аналитика на уровнях 3–4
Как работает
- Трекер ~26 КБ (brotli) записывает изменения DOM, сеть и консоль; плагины для Redux, MobX, Pinia, Zustand; SDK для iOS, Android, React Native.
- Пользователь связывается через
setUserIDи метаданные; Assist позволяет оператору поддержки видеть экран пользователя и созвониться через WebRTC. - Сервисы приёма, обработки и хранения; поток событий через Redis в CE и Kafka в Enterprise; записи лежат в MinIO или S394.
Как развернуть
git clone https://github.com/openreplay/openreplay.git cd openreplay/scripts/helmcharts DOMAIN_NAME=replay.example.by bash init.sh
Минимум 2 vCPU, 8 ГБ RAM, 50 ГБ диска, только x86. Основной путь — скрипт для Ubuntu или Kubernetes; Docker помечен как экспериментальный95. С v1.27 поддерживаются изолированные среды.
Цена: CE бесплатно, главная статья расходов — хранилище записей. Cloud: до 1 000 сессий бесплатно, $5,95 за 1 000 сессий или выделенные тарифы $199/399/799 в месяц96.
Для чего
- понять, почему пользователь бросил регистрацию или оформление заказа;
- найти rage-клики и ошибки на странице оплаты;
- помогать пользователю через совместный просмотр экрана.
Ограничения
- коннекторы в хранилища — только в Enterprise: модель open core, компания финансируется венчурными деньгами (seed-раунд $4,7 млн в 2022 году)97;
- с мая 2026 года новых релизов нет;
- записывает DOM: нужны согласие пользователя и маскирование платёжных полей и персональных данных;
- маркетинговую атрибуцию не заменяет.
GoatCounter
Минималистичный счётчик посещаемости: один бинарник на Go, SQLite или Postgres, проект одного разработчика.
EUPL 1.2Go + SQLite/PostgreSQLv2.7.0 · 15.12.2025~6 тыс. ★arp242Уровень 1
Как работает
count.js~3,5 КБ; сессия — случайный UUID в памяти на 8 часов, IP и UA на диск не пишутся16.- События — только клики без свойств; есть серверный API, импорт логов nginx, Apache, Caddy и CloudFront, пиксель без JS.
- С v2.6 по умолчанию хранит только агрегаты. Из UTM распознаёт кампанию и источник,
utm_medium— нет98.
Как развернуть
goatcounter db create site \ -vhost stats.example.by -user.email you@example.by goatcounter serve
Хостинг goatcounter.com бесплатен для разумного объёма, проект существует на пожертвования. Узкое место — число уникальных путей, а не трафик99. Блокировщики отсекают хостинговую версию: по FAQ теряется около трети просмотров31.
Ещё два проекта из исходного списка
Open Web Analytics
Почти три года без релизов, а летом 2026 года разработка резко возобновилась: 10 релизов с 22.07 по 21.09.2026. Бесплатно даёт e-commerce, воронки целей, heatmaps и записи сессий. Но схема БД сменила версию с 16 на 33 за два месяца, старые URL отчётов отдают 404, к версии 2.0 удалят устаревшие интерфейсы100, 101.
Вердикт: не для продакшена; вернуться к оценке после стабильной версии 2.0.
Countly Lite
Мобильная аналитика: сессии, события, краши, push, remote config. Воронки, когорты, retention, профили и Drill — только в Enterprise и Flex (от $175/мес)102. Лицензия запрещает убирать брендинг и предоставлять Countly клиентам как сервис103. Открытый репозиторий остаётся на MongoDB104.
Вердикт: только если нужна мобильная аналитика с push; для веба не подходит.
Проверили, но не включили в шорт-лист
| Проект | Статус | Лицензия | Стек | Почему нет |
|---|---|---|---|---|
| Ackee | жив, 3.6.1 | MIT | Node.js + MongoDB | минималистичный счётчик без воронок и пользователей |
| Shynet | v0.14.0 после паузы с 2023 года | Apache-2.0 | Django + Redis | простая статистика, слабая активность |
| Medama | v0.6.2, 01.2026 | Apache-2.0 | Go | один бинарник, только базовые отчёты |
| Liwan | v1.7.0, 09.2026 | Apache-2.0 | Rust + DuckDB | ~200 ★, базовые отчёты |
| Vince | без релизов с 09.2025 | AGPL-3.0 | Go | порт Plausible, не развивается |
| Tianji | жив, 1.33.8 | Apache-2.0 | TS + Postgres | аналитика + аптайм + опросы, аналитика базовая |
| Litlyx | замедлился | Apache-2.0 | Nuxt | «AI-дашборд», мало функций |
| Aptabase | жив | AGPL-3.0 | .NET | аналитика мобильных и десктопных приложений, не веб |
| Fathom Lite | заморожен с 2023 года105 | MIT | Go | развитие остановлено |
| Offen | почти не развивается | Apache-2.0 | Go | ниша: посетитель сам видит и удаляет свои данные |
| Koko Analytics | жив | GPL | WordPress | только WordPress |
| d8a | молодой, ~50 ★ | MIT | Go | стоит следить: принимает хиты GA4 и Matomo и пишет в BigQuery или ClickHouse106 |
Полный каталог — awesome-selfhosted107.
Конструктор
Свой пайплайн событий
Вариант для тех, кому нужны сырые события на уровне пользователя без порогов, сэмплирования и лимитов экспорта, а атрибуция и LTV считаются в своих моделях. По сути это повторение связки «GA4 + экспорт в BigQuery», только каждое звено находится у вас.
Ниже — путь одного события, заказа A-10482 на 129 BYN, от клика в браузере до строки в дашборде. Для каждого шага указано, где он работает, как быстро данные проходят дальше и что будет, если звено сломается.
-
Трекер фиксирует событие
Скрипт на странице замечает действие пользователя — просмотр, клик, оформление заказа — и упаковывает его в хит: что произошло, на какой странице, откуда пришёл пользователь и какой у него анонимный идентификатор.
- Хит уходит запросом на адрес вашего же домена. Браузер отправляет его фоном, через
sendBeaconилиfetch, поэтому запрос не теряется, даже если пользователь сразу закрыл вкладку. - Вместе с событием передаются его свойства: номер заказа, сумма, валюта, товары.
- До отправки проверяется согласие пользователя на сбор данных, если оно требуется.
Чем реализовать
Текущая разметка gtag и GTM: хиты уходят в формате GA4, переделывать ничего не нужно. Либо трекер Snowplow или Jitsu: свой формат, разметку придётся переписать.
Если звено сломается
Событие не отправится: тег не сработал после релиза или его отсёк блокировщик. Поэтому конверсии дублируются с бэкенда — см. шаг 4.
Событие на этом шаге // страница «Спасибо за заказ», текущая разметка gtag gtag('event', 'purchase', { transaction_id: 'A-10482', value: 129.00, currency: 'BYN' }); - Хит уходит запросом на адрес вашего же домена. Браузер отправляет его фоном, через
-
Приёмник принимает и дополняет хит
HTTP-сервис на вашем домене принимает хит, сразу отвечает браузеру «принято» и дополняет событие тем, чего браузер не знает или чему нельзя доверять.
- Идентификатор. Ставит или продлевает серверную first-party cookie с ID посетителя: флаг HttpOnly, срок до 400 дней. JavaScript её не видит, а Safari не сокращает её срок, если приёмник работает на вашем IP-адресе, а не на CNAME к чужому сервису.
- Обогащение. По IP определяет страну и город, по User-Agent — устройство и браузер, отсеивает ботов. Сам IP после этого обрезается или хешируется.
- Проверка. Сверяет событие со схемой. Битые хиты уходят в отдельный поток для разбора, а не в общую таблицу.
Чем реализовать
sGTM: принимает хиты GA4 как есть, в режиме server managed ставит HttpOnly-cookie
FPID108. Также Jitsu ingest, коллектор и enrich OpenSnowcat, d8a.Если звено сломается
Хиты за время простоя теряются: не все трекеры умеют повторять отправку. Поэтому приёмников минимум два, за балансировщиком; своего состояния они не хранят и легко масштабируются.
Событие на этом шаге POST https://www.site.by/g/collect?v=2&tid=G-XXXX&en=purchase &ep.transaction_id=A-10482&epn.value=129&cu=BYN Cookie: FPID=8f3c… ← cookie с прошлого визита HTTP/1.1 204 No Content Set-Cookie: FPID=8f3c…; Max-Age=34560000; Secure; HttpOnly; SameSite=Lax ↑ 400 дней, срок продлевается при каждом визите -
Очередь сглаживает пики
Приёмник не пишет в базу напрямую, а кладёт событие в очередь. Это буфер: всплески трафика, обновления и аварии базы не превращаются в потерю данных.
- Почему ClickHouse нужна очередь. Он рассчитан на крупные вставки: от 1 000 строк за раз, лучше 10–100 тыс.109 Очередь копит события и отдаёт их пачками.
- Как события попадают в базу. ClickHouse сам читает топик через табличный движок Kafka и материализованное представление110, либо пачки пишет отдельный сервис, например bulker в Jitsu111.
- Запас по времени. Брокер хранит сообщения заданный срок, например 7 дней. Если база лежит, события ждут в очереди и дозагружаются после восстановления.
Чем реализовать
Kafka или Redpanda. На малых объёмах очередь можно пропустить: асинхронные вставки ClickHouse копят пачки на стороне сервера109.
Если звено сломается
Приёмнику некуда положить события. Поэтому брокер разворачивают кластером из трёх узлов с репликацией.
Событие на этом шаге — уже обогащённое { "event_id": "4b1e…", "event_name": "purchase", "event_ts": "2026-10-12T14:03:27.512Z", "client_id": "8f3c…", ← из серверной cookie "user_id": null, "page_url": "https://www.site.by/checkout/success", "referrer": "", "utm": {"source": "", "medium": "", "campaign": ""}, ↑ в хите заказа меток нет — источник найдёт шаг 5 "geo": {"country": "BY", "city": "Minsk"}, "device": {"type": "mobile", "os": "Android", "browser": "Chrome"}, "ip": null, ← обрезан и отброшен после гео "is_bot": false, "props": {"transaction_id": "A-10482", "value": 129.0, "currency": "BYN"} } -
ClickHouse хранит сырые события
Все события лежат в одной большой таблице, по строке на событие, без агрегации. Это аналог выгрузки GA4 в BigQuery, только без лимитов и на ваших серверах.
- Рядом — ещё два источника. История GA4 из BigQuery (таблицы
events_*) переносится один раз. Данные бэкенда — заказы, регистрации, выручка — синхронизируются регулярно. - Мост между поведением и деньгами. При оформлении заказа бэкенд записывает в заказ
client_idиз той же серверной cookie. По нему заказ из бэкенда потом связывается с визитами и рекламными источниками. - Устройство таблицы. Данные разбиты по месяцам и отсортированы по типу события и дате, поэтому запрос «заказы за неделю» читает малую часть диска. Срок хранения задаётся правилом TTL.
Чем реализовать
ClickHouse на своих серверах, две реплики для отказоустойчивости. Для 10 млн событий в месяц хватит одной ВМ.
Если звено сломается
События копятся в очереди и дозагружаются после восстановления. Дашборды на это время недоступны, данные не теряются.
Таблица, куда попадает событие CREATE TABLE raw.events ( event_date Date, event_ts DateTime64(3), event_id UUID, event_name LowCardinality(String), client_id String, user_id Nullable(String), page_url String, referrer String, utm_source LowCardinality(String), utm_medium LowCardinality(String), utm_campaign String, country LowCardinality(String), device_type LowCardinality(String), props String -- свойства события в JSON ) ENGINE = MergeTree -- в кластере: ReplicatedMergeTree PARTITION BY toYYYYMM(event_date) ORDER BY (event_name, event_date, client_id) TTL event_date + INTERVAL 25 MONTH; - Рядом — ещё два источника. История GA4 из BigQuery (таблицы
-
dbt превращает события в метрики
Сырые события — это ещё не отчёт. dbt по расписанию выполняет цепочку SQL-моделей, которые шаг за шагом строят то, что GA делал за вас.
- Сессии. События одного посетителя с перерывом меньше 30 минут объединяются в визит, визиту присваивается источник.
- Связь посетителя и пользователя. Анонимный
client_idсвязывается сuser_idпосле входа или заказа. - Каналы. UTM и referrer раскладываются по группам: платный поиск, органика, email, прямые заходы.
- Атрибуция. Конверсии из бэкенда связываются с первым, последним или всеми касаниями — модель выбираете сами.
- Метрики. LTV, когорты, retention.
Чем реализовать
dbt с адаптером для ClickHouse, запуск по cron или из оркестратора. Тесты dbt проверяют, что ID уникальны и поля не пустые, поэтому сломанная разметка видна до того, как попадёт в отчёт.
Если звено сломается
Дашборды покажут данные за прошлый пересчёт. Сырые события не пострадают, модели можно пересчитать в любой момент.
Модель: первый источник для каждого заказа -- models/marts/orders_first_touch.sql with first_touch as ( select client_id, argMin(utm_source, event_ts) as ft_source, argMin(utm_campaign, event_ts) as ft_campaign from {{ ref('stg_events') }} where utm_source != '' group by client_id ) select o.order_id, o.revenue, o.created_at, coalesce(ft.ft_source, '(direct)') as ft_source, ft.ft_campaign from {{ ref('stg_orders') }} as o -- заказы из бэкенда left join first_touch as ft using (client_id)
-
BI показывает результат
Дашборды строятся не на сырых событиях, а на витринах из шага 5, поэтому открываются быстро. Аналитики при этом могут писать SQL напрямую к ClickHouse.
- Витрины. Каналы и кампании, воронки, когорты, LTV по источникам привлечения.
- Доступы. Маркетинг видит витрины, аналитики — ещё и сырые таблицы.
- Обратная выгрузка. Конверсии с источником можно отправлять в рекламные кабинеты через их серверные API. Это отдельная задача, готового решения в пайплайне нет.
Чем реализовать
DataLens OSS или Superset (Apache-2.0), Metabase OSS (AGPL). У всех есть коннектор к ClickHouse112, 113.
Если звено сломается
Страдает только визуализация: данные и модели целы, SQL-доступ к ClickHouse работает.
Витрина, в которой оказался заказ, — цифры условные ft_source orders revenue_byn google 412 51 380 ← здесь A-10482: первый визит был с utm_source=google yandex 187 22 940 (direct) 233 27 900 email 96 11 410
Компоненты и их лицензии
| Компонент | Лицензия | Что важно знать |
|---|---|---|
| Snowplow | Limited Use License | С декабря 2024 года (v1.1) коллектор, Enrich и загрузчики нельзя использовать в продакшене без коммерческой лицензии; цены — по запросу. Открыты только трекеры114, 115. |
| OpenSnowcat | Apache-2.0 | Форк Snowplow от SnowcatCloud, сделанный до смены лицензии: коллектор и enrich. Зрелость и темп релизов не подтверждены116. |
| Jitsu Next | MIT | Open-source аналог Segment: ingest на Go → Kafka/Redpanda → маршрутизация → пакетная запись в ClickHouse, BigQuery, Postgres, S3. Зависимости: Postgres, Kafka, ClickHouse, MongoDB111. |
| RudderStack | ELv2 | Сервер можно развернуть у себя, но локальная плоскость управления устарела, и документация настоятельно рекомендует облачную. Конфигурация хранится в облаке RudderStack, события — у вас117, 118. |
| sGTM | проприетарный, бесплатный | Docker-образ Google запускается в любой среде с Docker, принимает хиты /g/collect и может переслать их в свой endpoint или ClickHouse через sendHttpRequest119, 120, 121. Минус: конфигурация хранится в интерфейсе GTM, зависимость от Google остаётся. |
| d8a | MIT | Принимает хиты в формате GA4 и Matomo, пишет в BigQuery, ClickHouse или файлы; умеет импортировать выгрузку GA4. Проект молодой106. |
| BI | Apache-2.0 / AGPL | DataLens OSS (Apache-2.0, коннектор к ClickHouse, docker compose от 4 ГБ RAM)112, Superset (Apache-2.0), Metabase OSS (AGPL, часть функций только в Enterprise)113. |
Нагрузка
10 млн событий в месяц — в среднем около 4 событий в секунду, 100 млн — около 40. Для ClickHouse это малая нагрузка; проблемы возникают только на пиках.
Объём и деньги
По эталонному датасету Метрики (100 млн хитов, 105 колонок — 7,5 ГБ в xz) это порядка 1–3 ГБ в месяц на 10 млн событий122. Snowplow оценивает свой пайплайн на ~100 событий в секунду в $200–240/мес в AWS или GCP123. На своих VPS 10 млн событий в месяц обслужит один сервер за €16/мес. Отказоустойчивая схема — два приёмника, очередь из трёх узлов, две реплики ClickHouse — обойдётся примерно в €290/мес, на 100 млн событий — около €410/мес.
Люди
Дата-инженер для Kafka и ClickHouse, аналитик-инженер для dbt, фронтенд-разработчик для разметки. Оценка: 1–2 FTE на запуск за 3–6 месяцев и 0,5–1 FTE на поддержку. Это главная статья расходов.
Самый короткий путь для команды на GA4 + GTM + BigQuery
Оставить текущую разметку gtag и GTM, развернуть sGTM на своём поддомене и дублировать хиты в ClickHouse. Переделывать разметку не нужно, история GA4 переносится из BigQuery как есть. Цена этого пути — зависимость от Google остаётся. Полностью независимый вариант — Jitsu или OpenSnowcat с трекером Snowplow, но тогда разметку придётся переделать.
Деньги
Сколько стоит при вашем объёме
Сначала — стоимость своих серверов: она считается по требованиям вендоров к железу и прайсам массовых VPS-провайдеров. Ниже для сравнения — облачные тарифы самих вендоров по их публичным прайсам. Цены без НДС.
На своих серверах — VPS в месяц
| Платформа | Один сервер | С резервированием | Конфигурация: RAM серверов |
|---|
Ориентир — прайсы массовых европейских VPS-провайдеров на октябрь 2026, за основу взяты цены Hetzner Cloud124, 125. «Один сервер» — минимальная конфигурация без резерва; «с резервированием» — серверы с гарантированной производительностью и реплика базы. Время на обслуживание не учтено. У провайдеров в нужной юрисдикции цены будут другими.
Облако вендора — подписка в месяц, для сравнения
| Вариант | В месяц | Как посчитано |
|---|
Оплата облачных тарифов из Беларуси не проверялась. Облачный тариф — это трансграничная передача данных. У PostHog в события входят и просмотры, и autocapture, поэтому событий обычно больше, чем просмотров.
Рекомендации
Сценарии по масштабу
Общий принцип для всех уровней: ключевые события (регистрации, заказы, заявки) отправляются с бэкенда с ID пользователя, а first-touch источник сохраняется при первом визите и переносится в профиль или заказ. Тогда инструмент можно поменять, не потеряв атрибуцию.
Pet-проект
до ~100 тыс. событий/мес- Выбор
- Umami на VPS. Если нужен только счётчик для блога или документации — GoatCounter.
- Почему
- MIT, ставится за 10 минут, обновляется одной командой; воронки и retention есть сразу. Plausible CE тоже подходит, но ClickHouse требует от 2 ГБ RAM.
- Бюджет
- €0–6/мес на сервер; час на установку, обновления раз в квартал.
- Чего не будет
- атрибуции отложенных конверсий у анонимных посетителей и анализа на уровне пользователя без входа в аккаунт.
Клиенты и SMB
100 тыс. – 5 млн событий/мес- Выбор
- Umami v3 — если клиенту нужны продуктовые отчёты и replay без платных плагинов. Matomo — если клиент привык к логике GA: цели, e-commerce, Tag Manager, отчёты по расписанию, импорт истории GA4.
- Агентская модель
- Matomo даёт мультисайт, роли, roll-up и white label (плагин). Если ставите аналитику клиентам как услугу, читайте лицензии: AGPL требует опубликовать ваши изменения, Countly Lite такую модель прямо запрещает.
- Бюджет
- €6–170/мес на серверы — от одного VPS до схемы с репликой базы; плагины Matomo по необходимости — Funnels 199 €/год, Heatmap & Session Recording 219 €/год.
- Чего не будет
- data-driven атрибуции и автоматической выгрузки в DWH.
Средний бизнес
5–50 млн событий/мес- Выбор
- Matomo по официальной схеме для 10 млн+: отдельный сервер БД с репликой, cron-архивация, QueuedTracking с Redis, платные плагины по задачам. Альтернатива на ClickHouse — Rybbit: дешевле по железу, но моложе и без очереди.
- Replay и UX
- OpenReplay CE отдельной установкой или плагин Heatmap & Session Recording в Matomo.
- Сырые данные
- ETL из MySQL или ClickHouse в корпоративное хранилище по расписанию.
- Бюджет
- €50–450/мес на серверы и 0,2–0,5 FTE DevOps (оценка).
- Чего не будет
- быстрых разовых срезов по сырым данным за год в Matomo и непрерывной выгрузки в BigQuery.
Крупный бизнес
50 млн+ событий/мес, LTV, сложная атрибуция- Выбор
- Гибрид из слоёв:
- Сбор: приёмник на своём домене — sGTM (сохраняет разметку GTM) или Jitsu/OpenSnowcat (без зависимости от Google).
- Хранение: ClickHouse в ЦОДе в РБ, туда же история GA4 из BigQuery и события бэкенда.
- Модели: dbt — сессии, first-touch и мультиканальная атрибуция, объединение с ID пользователя, конверсиями и выручкой из бэкенда.
- Интерфейсы: DataLens или Superset для аналитиков; Matomo или Rybbit с собственным трекером как привычный UI для маркетинга.
- UX: OpenReplay с маскированием платёжных форм и записью только при согласии.
- Почему не одна платформа
- у Matomo на MySQL узкое место — архивация; PostHog self-hosted не рассчитан на такие объёмы, а его облако — трансграничная передача; Plausible CE урезан; молодые проекты на ClickHouse держатся на одном-двух разработчиках.
- Бюджет
- €40–410/мес на сбор событий и ClickHouse; Matomo на 100 млн хитов, если он нужен, — ещё €180–770/мес; 1–2 FTE на запуск и 0,5–1 FTE на поддержку (оценка).
- Чего не будет
- готовых интеграций с рекламными кабинетами: импорт конверсий и аудитории придётся строить отдельно.
План
Как переехать и не потерять сравнимость
- Зафиксировать словарь событий. Регистрация, вход, заявка, покупка или другая целевая конверсия; эталон для денег — бэкенд, для поведения — аналитика.
- Отправлять денежные события с сервера. Конверсии и регистрации — с бэкенда, с ID пользователя и first-touch источником в свойствах.
- Спрятать трекер за свой домен. Обратный прокси, нейтральные пути, приёмник на своём IP.
- Собирать параллельно 4–8 недель. Старый и новый счётчик одновременно; сверять визиты, источники, конверсии с бэкендом. Расхождения ожидаемы: cookieless-инструменты иначе считают уникальных посетителей, а бот-фильтры у всех разные.
- Настроить согласие и маскирование. Replay — только при согласии, платёжные формы и поля с персональными данными маскируются.
- Нагрузочный тест на пиках. Прогнать через приёмник трафик пикового дня — распродажи, рассылки, крупной рекламной кампании: проверить очередь, потери и задержку.
- Принять решение по метрикам пилота: расхождение конверсий с бэкендом, время построения отчёта за 90 дней, часы на обслуживание в неделю.
Ограничения
Правовая рамка
Это обзор открытых источников, а не юридическая консультация. Решение о размещении данных стоит согласовать с юристом, особенно в регулируемых отраслях.
Беларусь
- Закон № 99-З «О защите персональных данных» действует с 15.11.2021. Персональные данные — любая информация об идентифицированном или идентифицируемом физическом лице126. IP-адрес и cookie в законе прямо не названы, позицию НЦЗПД по аналитическим cookie в этом рисёрче проверить не удалось. События, привязанные к ID зарегистрированного пользователя, — персональные данные однозначно.
- Статья 9 запрещает трансграничную передачу в страны без надлежащей защиты, кроме исключений: согласие субъекта после информирования о рисках, исполнение договора с ним, разрешение НЦЗПД и др.
- Перечень стран с надлежащей защитой — участники Конвенции 108, включая Россию, и с декабря 2022 года государства ЕАЭС11, 127. США в перечень не входят, поэтому отправка данных в GA — передача в страну без надлежащей защиты.
- Отраслевые требования. В отдельных отраслях есть свои правила размещения. Например, Постановление Совета Министров № 139 о виртуальных игорных заведениях требует размещать ресурсы на серверах, физически расположенных в РБ, иметь аттестованную систему защиты и хранить логи действий игроков и их IP128. Распространяется ли это на аналитику и актуальна ли редакция 2019 года — вопрос к юристу.
Россия — если обрабатываются данные граждан РФ
- С 01.07.2025 ч. 5 ст. 18 152-ФЗ запрещает собирать и хранить данные граждан РФ в базах за рубежом129.
- Минцифры в письме от 12.05.2025 прямо называет использование GA с персональными данными трансграничной передачей130. Штрафы — до 6 млн ₽, при повторном нарушении — до 18 млн ₽129.
Вывод
Self-hosting в РБ снимает вопрос трансграничной передачи, а в регулируемых отраслях согласуется с требованиями размещать серверы в стране. Облачные тарифы Plausible, PostHog, Umami, Matomo и других вендоров — это передача данных за рубеж, в том числе в США или ЕС.
Перед пилотом
Что осталось неподтверждённым
- Работает ли session replay в self-hosted Rybbit и Swetrix CE: документация противоречит сама себе.
- Как Rybbit справляется с пиками без очереди — нужен нагрузочный тест.
- Можно ли оплатить облачные тарифы из Беларуси.
- Позиция НЦЗПД по IP-адресам и аналитическим cookie.
- Зрелость OpenSnowcat и d8a для продакшена.
- Режим ClickHouse в Umami: есть в коде, но без поддержки.
- Какие данные Метрики за дни сбоя сохранены и когда доступ к ним восстановится у всех пользователей: официальных данных нет.
- Цены хостинга в нужной юрисдикции, например в белорусских ЦОДах: расчёт self-hosted сделан по прайсам европейских VPS-провайдеров.
Справка
Словарь терминов
Все термины, которые в тексте подчёркнуты пунктиром, и ещё несколько смежных. Поиск фильтрует список по названию и определению.
- AGPL-3.0
- Если вы меняете код и даёте пользоваться им по сети, изменения нужно опубликовать. Внутреннее использование без изменений почти ничего не требует.
- Air-gapped
- Изолированная среда без доступа в интернет.
- Autocapture
- Автоматический сбор кликов, отправок форм и просмотров без ручной разметки. Удобно, но заметно увеличивает число событий.
- Bus factor
- Сколько ключевых людей должно уйти из проекта, чтобы он остановился. Bus factor = 1 — проект держится на одном человеке.
- ClickHouse
- Колоночная СУБД с открытым кодом, изначально созданная в Яндексе для Метрики. Хранит данные по столбцам и быстро считает агрегаты по миллиардам строк.
- CNAME cloaking
- Поддомен сайта, который DNS-записью указывает на сервер стороннего трекера. Safari распознаёт такую схему и ограничивает cookie.
- Co-browsing
- Совместный просмотр: оператор поддержки видит экран пользователя в реальном времени.
- config_id
- В Matomo — хеш от ОС, браузера, языка, плагинов и IP, по которому посетитель узнаётся без cookie.
- Consent Mode
- Режим Google: без согласия пользователя теги отправляют обезличенные сигналы, а GA4 достраивает данные моделированием.
- Cookieless
- Учёт без cookie и localStorage: посетитель определяется хешем от IP-адреса, User-Agent браузера и «соли».
- Core Web Vitals
- Метрики скорости и стабильности страницы от Google: LCP, INP, CLS.
- cron
- Планировщик задач в Linux: запускает команды по расписанию, например пересчёт отчётов раз в час.
- Data-driven атрибуция
- Распределяет ценность конверсии между касаниями по статистической модели, а не по фиксированному правилу.
- DAU, WAU, MAU
- Число уникальных активных пользователей за день, неделю и месяц.
- dbt
- Data build tool — инструмент для SQL-моделей в хранилище: версии, тесты и зависимости между витринами.
- Distinct ID / User ID
- Идентификатор пользователя, который сайт передаёт в аналитику после входа, например ID клиента в CRM. Связывает устройства и сессии.
- Docker Compose
- Инструмент, который поднимает несколько связанных контейнеров одной командой по описанию в YAML-файле.
- DWH
- Data warehouse — корпоративное хранилище данных, например BigQuery или ClickHouse.
- EasyPrivacy
- Открытый список правил против трекеров. Его используют uBlock Origin, AdGuard и другие блокировщики.
- Elastic License 2.0
- Исходники открыты, но нельзя продавать продукт как управляемый сервис и обходить лицензионные ключи. По определению OSI это не open source.
- Endpoint
- Адрес на сервере, который принимает запросы определённого типа, например хиты трекера.
- ETL
- Extract, transform, load — регулярная выгрузка данных из одной системы, преобразование и загрузка в другую.
- First touch
- Модель атрибуции, которая приписывает конверсию первому источнику, приведшему пользователя.
- First-party cookie
- Cookie, которую ставит сам сайт на своём домене, а не сторонний сервис. Браузеры и блокировщики ограничивают её мягче, чем сторонние.
- FTE
- Full-time equivalent — эквивалент одного сотрудника на полной ставке.
- GPL
- Копилефт-лицензия: при распространении изменённой версии исходники нужно раскрыть.
- HogQL
- Диалект SQL в PostHog — обёртка над SQL ClickHouse с доступом к событиям и профилям.
- ITP
- Intelligent Tracking Prevention — защита от трекинга в Safari. Среди прочего ограничивает срок жизни cookie, записанных из JavaScript, семью днями.
- Kafka, Redpanda
- Брокеры сообщений: буфер между приёмом событий и записью в базу, сглаживают пики нагрузки.
- Kubernetes, Helm
- Kubernetes — система оркестрации контейнеров на кластере серверов; Helm — менеджер пакетов для неё.
- LTV
- Lifetime value — суммарная выручка от пользователя за всё время работы с ним.
- MCP
- Model Context Protocol — открытый протокол, через который AI-ассистенты подключаются к внешним данным и инструментам.
- Measurement Protocol
- Серверный API GA4 для отправки событий с бэкенда.
- MIT
- Разрешительная лицензия: можно использовать, менять и встраивать в коммерческие продукты без обязательства открывать свой код.
- NAT
- Много устройств выходят в интернет через один IP-адрес, как в офисе или у мобильного оператора.
- Open core
- Базовая версия открыта, а функции для бизнеса платные или есть только в облаке.
- Open source
- Программы с открытым исходным кодом под лицензией, которая разрешает использовать, изучать и изменять код.
- Rage-клики
- Серия быстрых кликов по одному месту: признак того, что элемент не реагирует или пользователь не понимает интерфейс.
- Retention
- Удержание: какая доля пользователей возвращается через N дней после первого визита или регистрации.
- rrweb
- Открытая библиотека для записи и воспроизведения веб-сессий через снимки и изменения DOM.
- SDK
- Библиотека для разработчиков: готовый код для отправки событий из сайта, приложения или бэкенда.
- Self-hosted
- Развёртывание на собственных серверах или в своём облачном аккаунте: данные и инфраструктура под вашим контролем.
- Session replay
- Запись действий пользователя на странице (изменения DOM, клики, скролл) с воспроизведением, как видео. Аналог Вебвизора.
- sGTM
- Server-side Google Tag Manager — серверный контейнер GTM: принимает хиты на вашем домене и пересылает их дальше.
- Snowplow Limited Use License
- Код доступен, но в продакшене без коммерческой лицензии использовать его нельзя.
- SPA
- Single-page application: переходы между страницами без перезагрузки, поэтому трекер должен отслеживать смену URL сам.
- UTM
- Метки в URL (utm_source, utm_medium, utm_campaign и др.), по которым аналитика определяет рекламный источник.
- Архивация в Matomo
- Фоновый пересчёт отчётов из сырых логов в готовые таблицы-архивы. Интерфейс показывает архивы, а не сырые данные.
- Когорта
- Группа пользователей, объединённых общим событием в один период, например зарегистрированных в одну неделю.
- Колоночная БД
- Хранит каждый столбец отдельно и сжимает его. Запрос «сумма по каналу за год» читает два столбца, а не все строки целиком.
- Конвенция 108
- Конвенция Совета Европы о защите физических лиц при автоматизированной обработке персональных данных.
- Конверсия
- Целевое действие пользователя: покупка, заявка, регистрация, оплата. В аналитике — событие, которое отслеживают как цель.
- Мультиканальная атрибуция
- Распределение ценности конверсии между всеми касаниями пользователя с рекламой, а не только первым или последним.
- Обратный прокси
- Сервер на вашем домене принимает запросы трекера и пересылает их в аналитику. Для браузера это обычный запрос к сайту.
- Объектное хранилище
- S3-совместимое хранилище файлов: MinIO, SeaweedFS, Amazon S3. В нём лежат записи сессий.
- Пороги данных
- GA4 скрывает строки отчётов с малым числом пользователей, чтобы нельзя было вычислить конкретного человека.
- Предагрегация
- Отчёты считаются заранее по расписанию и хранятся готовыми; новый срез требует пересчёта.
- Соль
- Случайная строка, которую подмешивают к данным перед хешированием. Когда соль меняется, хеш того же посетителя становится другим, и связь с прошлыми визитами теряется.
- Строчная БД
- MySQL, PostgreSQL хранят записи целиком. Хороши для транзакций, но агрегаты по миллионам строк считают медленнее колоночных.
- Сэмплирование
- Расчёт отчёта по части данных с экстраполяцией на всё.
- Тепловая карта
- Наложение кликов или глубины скролла на страницу.
- Хеш
- Необратимое преобразование данных в строку фиксированной длины: по хешу нельзя восстановить IP, но одинаковые входные данные дают одинаковый хеш.
- Хит
- Один запрос трекера к приёмнику: просмотр страницы, событие, загрузка файла.
Ничего не найдено. Попробуйте другое слово.
Ссылки
Источники
Проверены 12 октября 2026 года. Номер в тексте ведёт сюда.
- 1Яндекс: заявление об атаках на дата-центры (09.10.2026, обновлено 11.10.2026). https://yandex.ru/company/news/09-10-2026-01
- 2Коммерсантъ: атаки БПЛА на ЦОД Яндекса вызвали сбои и угрозу роста цен на облака. https://www.kommersant.ru/doc/9024163
- 3Яндекс Метрика: статус кабинета («Кабинет Метрики пока недоступен»), проверено 12.10.2026. https://metrika.yandex.ru/
- 4Comss.ru: хроника сбоя Yandex Cloud после атаки на ЦОД в Сасове (08–09.10.2026). https://www.comss.ru/page.php?id=22333
- 5Клерк: кабинет Директа недоступен, рекламные инструменты, включая Метрику, восстанавливаются медленнее (12.10.2026). https://www.klerk.ru/buh/news/713242/
- 6Google Analytics Help: Data thresholds. https://support.google.com/analytics/answer/9383630
- 7Google Analytics Help: Data sampling. https://support.google.com/analytics/answer/13331292
- 8Google Analytics Help: BigQuery Export — limits. https://support.google.com/analytics/answer/9358801
- 9Google Analytics Help: Behavioral modeling for consent mode. https://support.google.com/analytics/answer/11161109
- 10Google: приостановка монетизации аккаунтов из Беларуси (AdSense, AdMob, Ad Manager). https://support.google.com/publisherpolicies/answer/15766875
- 11Нархоз-газета: трансграничная передача персональных данных — перечень стран. https://neg.by/novosti/otkrytj/transgranichnaya-peredacha-personalnykh-dannykh/
- 12Matomo FAQ: Which cookies are created by Matomo. https://matomo.org/faq/general/faq_146/
- 13Matomo Developer: Database schema. https://developer.matomo.org/guides/database-schema
- 14Plausible: Data policy. https://plausible.io/data-policy
- 15Umami: исходный код /api/send (сессия и соль). https://raw.githubusercontent.com/umami-software/umami/master/src/app/api/send/route.ts
- 16GoatCounter: Sessions. https://www.goatcounter.com/help/sessions
- 17PostHog Docs: Anonymous vs identified events. https://posthog.com/docs/data/anonymous-vs-identified-events
- 18PostHog Docs: Cookieless tracking. https://posthog.com/docs/data/cookieless-tracking
- 19Rybbit Docs: Identify users. https://rybbit.com/docs/identify-users
- 20Swetrix Docs: Visitor identification. https://swetrix.com/docs/visitor-identification
- 21OpenPanel Docs: How it works. https://openpanel.dev/docs/how-it-works
- 22Chrome for Developers: Cookie Expires and Max-Age capped at 400 days. https://developer.chrome.com/blog/cookie-max-age-expires
- 23Matomo: How to set up auto-archiving of your reports. https://matomo.org/docs/setup-auto-archiving/
- 24Matomo FAQ: Report row limits («Others»). https://matomo.org/faq/how-to/faq_54/
- 25Umami Discussions #3169: производительность на больших объёмах. https://github.com/umami-software/umami/discussions/3169
- 26Plausible CE Wiki: Upgrade. https://github.com/plausible/community-edition/wiki/Upgrade
- 27EasyPrivacy (версия от 12.10.2026). https://easylist.to/easylist/easyprivacy.txt
- 28Plausible Blog: How many people block Google Analytics. https://plausible.io/blog/google-analytics-adblockers-missing-data
- 29Plausible: Proxying. https://plausible.io/docs/proxy/introduction
- 30PostHog Docs: Deploying a reverse proxy. https://posthog.com/docs/advanced/proxy
- 31GoatCounter: FAQ. https://www.goatcounter.com/help/faq
- 32eyeo: Ad-Blocking Report 2026 (PDF). https://eyeo.com/wp-content/uploads/2026/05/eyeo_2026-ad-blocking-report.pdf
- 33GitHub: matomo-org/tracker-proxy. https://github.com/matomo-org/tracker-proxy
- 34Umami Docs: Bypass ad blockers. https://docs.umami.is/docs/bypass-ad-blockers
- 35WebKit: Tracking Prevention in WebKit. https://webkit.org/tracking-prevention/
- 36WebKit: CNAME Cloaking and Bounce Tracking Defense. https://webkit.org/blog/11338/cname-cloaking-and-web-privacy/
- 37Google: Server-side Tag Manager — custom domain. https://developers.google.com/tag-platform/tag-manager/server-side/custom-domain
- 38Matomo Developer: Tracking HTTP API. https://developer.matomo.org/api-reference/tracking-api
- 39Matomo FAQ: Build custom segments. https://matomo.org/faq/reporting-tools/build-custom-segments-in-matomo/
- 40Matomo FAQ: Requirements for Matomo On-Premise. https://matomo.org/faq/on-premise/matomo-requirements/
- 41Matomo Marketplace: QueuedTracking. https://plugins.matomo.org/QueuedTracking
- 42GitHub: matomo-org/docker. https://github.com/matomo-org/docker
- 43Matomo Marketplace: платные плагины (API, цены на 12.10.2026). https://plugins.matomo.org/api/2.0/plugins?purchase_type=paid
- 44Matomo: Pricing. https://matomo.org/pricing/
- 45Matomo FAQ: What is a hit. https://matomo.org/faq/general/what-is-a-hit/
- 46Matomo: Licences. https://matomo.org/licences/
- 47GitHub: matomo-org/matomo. https://github.com/matomo-org/matomo
- 48Matomo 6.0.0 Beta: release notes. https://matomo.org/changelog/matomo-6-0-0-beta/
- 49Matomo: Changelog. https://matomo.org/changelog/
- 50Matomo FAQ: Limitations when importing Google Analytics data. https://fr.matomo.org/faq/general/limitations-when-importing-google-analytics-data/
- 51Matomo FAQ: Analytics without consent or cookie banner. https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-without-consent-or-cookie-banner/
- 52Matomo Forum: Archiving of segment takes a very long time (2025). https://forum.matomo.org/t/archiving-of-segment-take-a-very-long-time/62660
- 53Matomo Marketplace: Multi Channel Conversion Attribution. https://plugins.matomo.org/MultiChannelConversionAttribution
- 54Matomo Cloud: Data Warehouse Connector. https://matomo.org/faq/cloud/data-warehouse-connector/
- 55Umami Docs: Distinct IDs. https://docs.umami.is/docs/distinct-ids
- 56Umami v3.0.0 release. https://github.com/umami-software/umami/releases/tag/v3.0.0
- 57Umami Discussions #3389: ClickHouse не поддерживается официально. https://github.com/umami-software/umami/discussions/3389
- 58Umami: Pricing. https://umami.is/pricing
- 59Umami: Releases. https://github.com/umami-software/umami/releases
- 60GitHub: umami-software/umami. https://github.com/umami-software/umami
- 61Umami Docs. https://docs.umami.is/docs
- 62Plausible: Events API. https://plausible.io/docs/events-api
- 63GitHub: plausible/analytics. https://github.com/plausible/analytics
- 64GitHub: plausible/community-edition. https://github.com/plausible/community-edition
- 65Plausible v3.2.1 release. https://github.com/plausible/analytics/releases/tag/v3.2.1
- 66Plausible: тарифы (главная страница). https://plausible.io/
- 67Plausible: About. https://plausible.io/about
- 68Plausible: Self-hosted vs Cloud. https://plausible.io/self-hosted-web-analytics
- 69Loopwerk: опыт переезда на self-hosted Plausible (2026). https://www.loopwerk.io/articles/2026/plausible/
- 70Plausible: Google Analytics import. https://plausible.io/docs/google-analytics-import
- 71PostHog Docs: How PostHog works. https://posthog.com/docs/how-posthog-works
- 72PostHog Docs: Self-host. https://posthog.com/docs/self-host
- 73GitHub: PostHog/posthog (README). https://github.com/PostHog/posthog
- 74PostHog Blog: Sunsetting Kubernetes support for self-hosted PostHog. https://posthog.com/blog/sunsetting-helm-support-posthog
- 75PostHog Docs: Batch exports. https://posthog.com/docs/batch-exports
- 76PostHog Docs: Self-host open-source disclaimer. https://posthog.com/docs/self-host/open-source/disclaimer
- 77PostHog: Pricing. https://posthog.com/pricing
- 78PostHog Handbook: Who we do business with. https://posthog.com/handbook/growth/sales/who-we-do-business-with
- 79Hacker News: обсуждение self-hosted PostHog (07.2026). https://news.ycombinator.com/item?id=48847302
- 80PostHog Docs: Migrate from Google Analytics. https://posthog.com/docs/migrate/google-analytics
- 81Rybbit Docs: Architecture. https://rybbit.com/docs/architecture
- 82GitHub: rybbit-io/rybbit. https://github.com/rybbit-io/rybbit
- 83Rybbit Docs: Self-hosting. https://rybbit.com/docs/self-hosting
- 84Rybbit: Pricing. https://rybbit.com/pricing
- 85Rybbit Docs: Self-hosted vs Cloud. https://rybbit.com/docs/self-host-vs-cloud
- 86Swetrix Blog: Swetrix v5. https://swetrix.com/blog/swetrix-v5
- 87GitHub: Swetrix/swetrix. https://github.com/swetrix/swetrix
- 88Swetrix Docs: Self-hosting. https://swetrix.com/docs/selfhosting/how-to
- 89Swetrix: Pricing. https://swetrix.com/pricing
- 90OpenPanel: Migrate from Google Analytics. https://openpanel.dev/guides/migrate-from-google-analytics
- 91OpenPanel Docs: Self-hosting. https://openpanel.dev/docs/self-hosting/self-hosting
- 92OpenPanel: Pricing. https://openpanel.dev/pricing
- 93GitHub: Openpanel-dev/openpanel. https://github.com/Openpanel-dev/openpanel
- 94GitHub: openreplay/openreplay. https://github.com/openreplay/openreplay
- 95OpenReplay Docs: Deploy with Docker (experimental). https://docs.openreplay.com/en/deployment/deploy-docker/
- 96OpenReplay: Pricing. https://openreplay.com/pricing
- 97TechCrunch: OpenReplay raises $4.7M (2022). https://techcrunch.com/2022/06/28/openreplay-raises-4-7m-for-its-open-source-tool-to-find-the-bugs-in-sites
- 98GoatCounter: Campaigns. https://www.goatcounter.com/help/campaigns
- 99GitHub: arp242/goatcounter. https://github.com/arp242/goatcounter
- 100GitHub: Open-Web-Analytics. https://github.com/Open-Web-Analytics/Open-Web-Analytics
- 101OWA 1.13.0 release notes. https://github.com/Open-Web-Analytics/Open-Web-Analytics/releases/tag/1.13.0
- 102Countly: Pricing. https://countly.com/pricing
- 103Countly: Licensing FAQ. https://support.countly.com/hc/en-us/articles/360037501312-Countly-Licensing-FAQ
- 104GitHub: Countly/countly-server. https://github.com/Countly/countly-server
- 105GitHub: usefathom/fathom (Fathom Lite). https://github.com/usefathom/fathom
- 106GitHub: d8a-tech/d8a. https://github.com/d8a-tech/d8a
- 107awesome-selfhosted: Analytics. https://awesome-selfhosted.net/tags/analytics.html
- 108Simo Ahava: Cross-domain tracking with server-side FPID cookie. https://www.simoahava.com/gtm-tips/cross-domain-tracking-server-side-fpid-cookie/
- 109ClickHouse Docs: Selecting an insert strategy. https://clickhouse.com/docs/best-practices/selecting-an-insert-strategy
- 110ClickHouse Docs: Kafka table engine. https://clickhouse.com/docs/engines/table-engines/integrations/kafka
- 111GitHub: jitsucom/jitsu. https://github.com/jitsucom/jitsu
- 112GitHub: datalens-tech/datalens. https://github.com/datalens-tech/datalens
- 113Metabase: License. https://metabase.com/license
- 114Snowplow: Limited Use License FAQ. https://docs.snowplow.io/docs/resources/limited-use-license-faq/
- 115Snowplow: Copyright and license по компонентам. https://docs.snowplow.io/docs/resources/copyright-license/
- 116SnowcatCloud: OpenSnowcat. https://www.snowcatcloud.com/snowplow/open-source/
- 117GitHub: rudderlabs/rudder-server. https://github.com/rudderlabs/rudder-server
- 118RudderStack Docs: Control plane setup (open source). https://www.rudderstack.com/docs/get-started/rudderstack-open-source/control-plane-setup/
- 119Google: Server-side Tag Manager — manual setup guide. https://developers.google.com/tag-platform/tag-manager/server-side/manual-setup-guide
- 120Google: Server-side Tag Manager — sandboxed API. https://developers.google.com/tag-platform/tag-manager/server-side/api
- 121ClickHouse Docs: HTTP interface. https://clickhouse.com/docs/interfaces/http
- 122ClickHouse Docs: анонимизированный датасет Яндекс Метрики. https://clickhouse.com/docs/get-started/sample-datasets/anon-web-analytics-metrica
- 123Snowplow Docs: Self-hosted (оценка стоимости инфраструктуры). https://docs.snowplow.io/docs/get-started/self-hosted/
- 124Northflank: повышение цен Hetzner Cloud с 15.06.2026 (таблица новых цен). https://northflank.com/blog/hetzner-cloud-server-price-increases
- 125AgentDeals: цены Hetzner Cloud после повышений 2026 года, с IPv4 и ценой диска (проверено 07.10.2026). https://agentdeals.dev/hetzner-pricing-2026
- 126Закон Республики Беларусь № 99-З «О защите персональных данных». https://pravo.by/document/?guid=3961&p0=H12100099
- 127Нархоз-газета: перечень дополнен государствами — членами ЕАЭС. https://neg.by/novosti/otkrytj/dopolneny-pravila-transgranichnoy-peredachi-personalnykh-dannykh/
- 128Постановление Совета Министров РБ № 139 (виртуальные игорные заведения), сайт ОАЦ. https://www.oac.gov.by/public/content/files/files/law/resolutions-sm/2019-139.pdf
- 129Lidings: локализация персональных данных — изменения с 01.07.2025. https://www.lidings.com/media/legalupdates/localization_pd_update/
- 130Письмо Минцифры России № П25-44929 от 12.05.2025. https://pravo.ppt.ru/pismo/mincifry-rossii/n-p25-44929-316881