Диванная аналитика 0.4.0 beta

Посещаемость сайта на вашем сервере

Какие страницы открывают, откуда приходят и нажимают ли на контакты. Выбирайте даты и сочетайте фильтры; отчёты остаются в вашей базе. Счётчик начинает отправку после согласия посетителя.

Выбрать установку

Собственный продукт с открытым кодом по GPL. Одна установка на сайт, отчёты по дням и часам UTC, сравнение периодов и CSV.

Попробуйте логику счётчика

Локальное демо

Тестовые события существуют в этой вкладке. На сервер они не отправляются.

0просмотров

0событий

Страница /0
Страница /contacts/0
Событие contact_click0

Разрешите демо-сбор, чтобы добавить тестовое событие.

Видеообзор в двух форматах

32 секунды о кабинете, установке и подключениях. Пояснения есть в самом кадре и в тексте ниже. Музыка включается только при запуске ролика.

Содержание ролика и музыка

Диванная аналитика хранит отчёты на сервере владельца. В кабинете доступны просмотры, именованные события, источники, разрешённые UTM-метки, выбор дат, совместные фильтры, сравнение периодов и CSV. Интерфейс работает на компьютере и телефоне.

Для WordPress есть плагин, для других сайтов отдельный PHP-пакет. Tilda подключается к установленному PHP-коллектору; события CRM принимает защищённый серверный webhook после настройки адаптера. Сбор начинается после согласия. Уникальные посетители и коэффициент конверсии не вычисляются. Все числа в роликах демонстрационные.

Музыка: оригинальная инструментальная электронная дорожка, созданная для этих роликов. Сведения о материалах.

Две установки с общим счётчиком

Выбирайте по устройству сайта. В обоих пакетах есть исходники, инструкция и описание обработки данных.

Плагин WordPress

WordPress 6.5+ · PHP 8.1+ · MySQL/MariaDB

Установка ZIP через админку. Отчёты в "Инструменты → Диванная аналитика", настройки страниц и событий, встроенный баннер с отзывом согласия.

После активации сбор выключен. Авторизованные посетители исключены. WordPress Multisite пока не поддерживается.

Скачать плагин · ZIP
Как запустить
  1. Загрузите и активируйте ZIP в разделе плагинов WordPress.
  2. Укажите адрес политики, разрешённые страницы и срок хранения.
  3. Настройте согласие, включите счётчик и проверьте его в приватном окне, выйдя из WordPress.

Самостоятельный пакет

PHP 8.1+ · PDO_SQLite · HTTPS · PHP CLI

Отдельная панель с паролем и SQLite-базой. Подходит для сайта на любой CMS: добавьте JavaScript и подключите согласие. База и конфигурация находятся вне публичного каталога.

Одна установка обслуживает один сайт. Нужны настройки веб-сервера и терминал для установки; WordPress-пакет SSH не требует.

Скачать PHP-пакет · ZIP
Как запустить
  1. Распакуйте пакет вне public_html. Направьте HTTPS-хост только на каталог public/.
  2. Выполните php bin/install.php, задайте сайт и пароль. Настройте права PHP-пользователя и cron.
  3. Возьмите сниппет в панели. Свяжите grant/revoke с баннером согласия или подключите готовый баннер из пакета.

Версия 0.4.0 beta от 13 октября 2026 года. Начните с тестового сайта. Независимый аудит безопасности и нагрузочное испытание ещё не проводились.

Подключение к Tilda и CRM

Счётчик можно встроить в опубликованный сайт, а серверные события принимать через отдельный защищённый endpoint. Настройки и ключи принадлежат владельцу установки.

Tilda

JavaScript-счётчик подключается в код сайта, PHP-коллектор работает на вашем HTTPS-хостинге. Адаптер учитывает успешную передачу формы в сервис Tilda после согласия посетителя.

Нужен тариф с пользовательским HTML. Событие формы не подтверждает доставку в CRM или оплату. Проверка на настоящем аккаунте Tilda ещё не проводилась.

Инструкция для Tilda

CRM и собственный backend

Защищённый webhook принимает разрешённое событие и его метки. Например, ваш сервер может учесть подтверждённую заявку или заданную стадию сделки. Ключ хранится на сервере; контакты и тексты заявок endpoint отклоняет.

Для Битрикс24, amoCRM и других систем нужен адаптер формата. Готовой OAuth-авторизации и синхронизации сделок в этой версии нет. Повторы должен отсекать отправитель.

Настроить серверные события

Что попадёт в отчёт

Новые данные хранятся как суммы за час UTC с сочетанием меток страницы, источника, экрана, кампании, канала, объявления, переданной фразы с её типом и события. Идентификаторы посетителей, сессии и индивидуальная история посещений не создаются.

Списки страниц, кампаний, каналов, объявлений и событий задаёт владелец. Из адреса выбираются только разрешённые рекламные метки; полный URL не сохраняется.

Подробно о данных и настройках
Просмотры
Количество просмотров по дням и их распределение по 24 часам суток UTC за выбранные даты.
Страницы
Разрешённые пути и группы, например /blog/*.
Источники
Категории поисковиков, Telegram, WhatsApp, MAX, Viber, Signal, Discord, Slack, VK и других переходов. При отсутствии метки и реферера источник остаётся неизвестным.
Кампании
Кампания utm_campaign, канал utm_medium и объявление utm_content из разрешённых списков.
События
Заданные названия кликов, отправленных заявок и других действий с теми же разрешёнными метками. Тексты форм не собираются.
Размер экрана
Три диапазона ширины. Полный User-Agent не записывается в аналитику.

Рекламные метки и мессенджеры

Конструктор в кабинете собирает ссылки с площадкой, каналом, кампанией и меткой объявления. По ним можно сравнить просмотры и события разных публикаций. Подключение к рекламным кабинетам, Search Console и Вебмастеру не требуется.

Если приложение скрыло источник, используйте размеченную ссылку. Метка отражает размещение ссылки: при пересылке она сохраняется, поэтому источник может отличаться от фактического приложения.

Какие фразы доступны

Владелец может отдельно включить сбор utm_term и фразы, доступной в реферере поисковика. Рекламная ключевая фраза может отличаться от фактического запроса человека. Скрытые запросы не восстанавливаются; расходы и показы рекламы счётчик не получает.

После согласия разрешённые метки перехода сохраняются в sessionStorage вкладки до 30 минут для внутренних переходов. Отзыв согласия очищает их. Фразы по умолчанию выключены: текст может содержать персональные данные.

Выбранные даты и связанные фильтры

Задайте диапазон внутри срока хранения и совместите страницу, источник, экран, кампанию, канал, объявление, переданную фразу и событие. Например, посмотрите клики по контактам со смартфонов, пришедших из Яндекса на нужную страницу.

При выборе события отчёт показывает его количество с учётом остальных фильтров. Просмотры, дневной график и профиль часов к этой выборке не относятся.

Для сравнения берётся предыдущий период такой же длины. Сравнение доступно, когда весь этот период ещё находится в пределах хранения; одинаковые фильтры применяются к обеим выборкам.

Обновление с версий 0.1 и 0.2

Прежние суточные итоги сохраняются. В них нет сочетаний меток и часа: эти детали задним числом не восстанавливаются. Почасовой профиль и совместные фильтры используют данные, собранные версиями 0.2 и 0.3. Новые рекламные поля появляются после обновления счётчика до 0.3; старые записи не дополняются догадками.

Демо выше показывает согласие и подсчёт тестовых событий. Полные отчёты доступны в устанавливаемых пакетах.

Пределы этой версии

Данные показывают обращения к счётчику. Отказ от аналитики, блокировщики, сбои сети и поддельные события влияют на цифры. Уникальные посетители и конверсия не вычисляются.

Вебвизор, тепловые карты, воронки, суммы заказов и несколько сайтов в одной панели в этой версии отсутствуют.

Хранение и защита

Срок хранения агрегатов — от 7 до 365 дней, по умолчанию 90. Есть ручное удаление, CSV и очистка по расписанию. Доступ к отчётам закрыт; публичный сбор ограничен по частоте и составу данных.

Веб-сервер видит IP при запросе. В аналитической таблице IP нет, в защитных лимитах временно используется HMAC. Журналы хостинга и бэкапы требуют отдельной настройки.

Размещение и требования РФ

Пакеты работают на выбранной вами инфраструктуре и не отправляют телеметрию разработчику. Размещение базы и резервных копий в РФ нужно обеспечить самостоятельно, когда для вашей обработки действует требование локализации.

Владелец определяет правовое основание, публикует политику, проверяет обязанность уведомить Роскомнадзор и настраивает согласие, если использует его как основание. Отсутствие tracking cookies само по себе не освобождает от требований 152-ФЗ.

В архивы включён PRIVACY.md с составом данных, настройками и заготовкой описания для политики. Установка пакета не является подтверждением юридического соответствия.

Основания: ст. 18 152-ФЗ, ст. 9, ст. 22.

Нужна установка под ваш сайт?

Могу связать аналитику с формами, существующим баннером и рабочими событиями, проверить размещение данных и технические настройки.

Обсудить задачу

Как устроен проект

Снимок кабинета

Демонстрационные данные тестовой установки.