Задача
На нашем сайте Яндекс Метрика запускается только после согласия на cookie — так требует 152-ФЗ, и так работает наш плагин Cookie Consent Mascot. Обратная сторона честного баннера: посетители, которые нажали «Отказаться», из статистики пропадают целиком. Нужна была статистика, которая видит всех, но не собирает персональных данных и потому не требует согласия.
Что сделали
- Счётчик без cookie и без записи чего-либо в браузер. Скрипт отправляет только адрес страницы, источник перехода, ширину экрана и время на странице.
- IP-адрес и строка браузера используются в момент визита для обезличенного идентификатора — хэша с суточной солью — и не сохраняются. Соль удаляется в конце дня: связать визиты разных дней невозможно.
- Отчёты: визиты, посетители, просмотры, отказы, время на сайте, страницы, источники, UTM-метки, устройства, браузеры, цели.
- Цели без cookie: звонки, мессенджеры, скачивания и формы считаются автоматически.
- Доля визитов с согласием на cookie — по отметке из Cookie Consent Mascot.
- Яндекс Метрика по API: поисковые фразы, города, возраст и пол, цели — рядом с собственной статистикой. График показывает, какую часть визитов видит Метрика.
- Виджет в консоли WordPress, еженедельный отчёт на почту, выгрузка в CSV.
- Плагин бесплатный и обновляется с нашего сайта, как обычный плагин WordPress.
Стек
- WordPress, PHP 7.4+, собственные таблицы с суточной агрегацией
- JavaScript без зависимостей, sendBeacon
- Chart.js — локально, без внешних CDN
- API Яндекс Метрики, OAuth