MousePlayer и согласие
Для записи сеансов нужно согласие. Как установить MousePlayer, чтобы до согласия посетителя ничего не записывалось, и как доказать это впоследствии.
Почему требуется согласие
MousePlayer записывает движения мыши, клики, прокрутку и изменения DOM. Это наблюдение за поведением по преамбуле 24 GDPR и доступ к устройству по §25 TDDDG и аналогам. Нужно согласие. Законный интерес недостаточен.
Обязанность доказать действительное согласие лежит на вас как контролёре. Поэтому MousePlayer записывает не только то, что согласие было, но и источник сигнала, момент получения и действовавшую конфигурацию.
По умолчанию отказ. Без сигнала MousePlayer не создаёт ID сеанса, ничего не сохраняет, не ставит cookie и не соединяется. Ни тайм-аут, ни ошибка, ни отсутствие ответа не превращаются в «разрешено».
1Вариант 1 — блокировка скрипта инструментом согласия
Сниппет встраивается с type="text/plain" и атрибутом категории CMP. До согласия он вообще не выполняется. Ранние действия невозможны, поскольку ничего не работает. Только этот вариант не зависит от правильного получения сигнала.
| Инструмент согласия | Атрибут тега script |
|---|---|
| Usercentrics | type="text/plain" data-usercentrics="MousePlayer" |
| Cookiebot | type="text/plain" data-cookieconsent="statistics" |
| OneTrust | type="text/plain" class="optanon-category-C0002" |
| Consentmanager | type="text/plain" class="cmplazyload" data-cmp-purpose="1" |
| Borlabs | data-borlabs-cookie-blocker type="text/template" |
| Complianz | type="text/plain" data-category="statistics" |
<script type="text/plain" data-cookieconsent="statistics">
window.mp_config = {
channel: 'YOUR-CHANNEL-ID',
mode: 'web_only'
};
window.mp = window.mp || function() { (window.mp.q = window.mp.q || []).push(arguments); };
(function(w, d, s, id) {
w.mp_channelid = id;
var f = d.getElementsByTagName(s)[0], j = d.createElement(s);
j.async = true; j.src = 'https://www.mouseplayer.com/mp.js';
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'YOUR-CHANNEL-ID');
</script>Имена атрибутов меняются между основными версиями. Проверьте написание в документации CMP: неверный атрибут означает отсутствие записей, но будет казаться нашей ошибкой.
2Вариант 2 — ваш баннер
Используйте стандартный сниппет и сообщайте MousePlayer сами. Строка ниже работает до и после загрузки скрипта, порядок на странице не важен. Отзыв возможен в любое время, даже через несколько минут.
После согласия посетителя:
(window.mp_q = window.mp_q || []).push(['consent', true]);
При отзыве в любое время:
(window.mp_q = window.mp_q || []).push(['consent', false]);
Всегда используйте форму (window.mp_q = window.mp_q || []) . Простое window.mp_q = [] заменит массив и сломает отзыв.
3Вариант 3 — автоопределение
Только стандартный сниппет. MousePlayer сам определяет Google Consent Mode v2, IAB TCF v2 и семь инструментов (Consented.eu, Usercentrics, Cookiebot, OneTrust, Consentmanager, Borlabs, Complianz), безусловно соблюдая Global Privacy Control. Используйте лишь при невозможности вариантов выше: определение зависит от ожидаемого поведения другого инструмента, и сбой вы не заметите.
Что происходит при отзыве
Остановка сразу, а не в конце страницы:
- все обработчики записи удаляются, оба наблюдателя отключаются; остаётся лишь ожидание нового согласия
- таймеры очищаются, соединение закрывается без переподключения
- буфер отбрасывается, а не отправляется — иначе закрытие вкладки передало бы именно отклонённые данные
- идентификаторы и метки записи MousePlayer в local и session storage удаляются; если после отзыва CMP полностью блокирует запуск скрипта, они остаются до очистки браузера, но не используются
- отзыв передаётся серверу ещё при открытом соединении и регистрируется, сохраняя доказуемость
Настройки проекта
В разделе Проект → Настройки → Согласие и регионы задаётся приём сервером записей только с согласием (рекомендуется) или также без него в явно разрешённых регионах. Сам скрипт без сигнала не соединяется: разрешение ослабляет только серверную проверку. ЕС/ЕЭЗ, Великобританию, Швейцарию, Бразилию и Канаду разрешить нельзя — по закону нужно предварительное согласие. Регион определяется сервером по IP; IP хранится сокращённо, без последнего октета или блока, вместе со страной.
Что включить в политику конфиденциальности
- MousePlayer как обработчик с целью анализа поведения через записи сеансов и тепловые карты
- необходимость согласия для записи и способ его отзыва
- согласованный срок хранения записей
Есть готовая формулировка. Текст политики конфиденциальности для вашего сайта содержит краткий и подробный абзацы для вставки, таблицу обзора cookie и три случая, когда после смены настройки текст перестаёт быть верным.
Записи не поступают?
- Сверьте атрибут категории с документацией CMP: неверный навсегда блокирует скрипт
- Проверьте выполнение строки согласия до или после сниппета, а не внутри никогда не запускаемого блока
- Global Privacy Control в браузере посетителя отменяет любое «да» везде и безусловно
- Страницы списка исключений никогда не записываются независимо от согласия