MousePlayer і згода

Для записів сеансів потрібна згода. Ось як установити MousePlayer, щоб до згоди відвідувача нічого не записувалося, і як згодом це довести.

Чому потрібна згода

MousePlayer записує рухи миші, кліки, прокручування та зміни DOM. Це спостереження за поведінкою в розумінні пункту 24 преамбули GDPR і доступ до пристрою відвідувача за § 25 TDDDG та відповідними нормами інших країн. Для цього потрібна згода. Законний інтерес не є достатньою підставою.

Обов’язок довести наявність дійсної згоди лежить на вас як контролері даних. Тому MousePlayer записує не лише факт наявності згоди, а й джерело сигналу, час його надходження та конфігурацію, що діяла на той момент.

За замовчуванням — відмова. Без сигналу MousePlayer не створює ідентифікатор сеансу, нічого не записує у сховище, не встановлює cookie та не відкриває з’єднання. Немає жодного шляху, за якого тайм-аут, помилка чи відсутня відповідь призводять до дозволу.

1Варіант 1 — нехай ваш засіб керування згодою блокує скрипт

Фрагмент коду вбудовується з type="text/plain" та атрибутом категорії вашої CMP. До згоди він узагалі не виконується. Нічого не може статися завчасно, адже нічого не працює. Це єдиний варіант, який не залежить від правильного надходження сигналу.

Засіб керування згодоюАтрибут тега скрипту
Usercentricstype="text/plain" data-usercentrics="MousePlayer"
Cookiebottype="text/plain" data-cookieconsent="statistics"
OneTrusttype="text/plain" class="optanon-category-C0002"
Consentmanagertype="text/plain" class="cmplazyload" data-cmp-purpose="1"
Borlabsdata-borlabs-cookie-blocker type="text/template"
Complianztype="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, збережені для запису в локальному сховищі та сховищі сеансу, видаляються; якщо після відкликання ваш засіб керування згодою повністю блокує скрипт і той більше не запускається, вони залишаються до очищення даних браузера, але більше не використовуються
  • відкликання повідомляється серверу, поки з’єднання ще відкрите, і фіксується, тож подію можна довести

Налаштування проєкту

У розділі Проєкт → Налаштування → Згода й регіони ви визначаєте, чи сервер прийматиме записи лише із сигналом згоди (рекомендовано), чи також без нього в явно дозволених регіонах. Сам скрипт без сигналу згоди не відкриває з’єднання: дозвіл послаблює лише серверну перевірку, а не цю. ЄС/ЄЕЗ, Велику Британію, Швейцарію, Бразилію та Канаду дозволити не можна — закон вимагає попередньої згоди. Регіон визначається на сервері за IP-адресою; IP-адреса зберігається лише в усіченому вигляді (без останнього октету чи блоку) разом із країною.

Що слід зазначити в політиці приватності

  • MousePlayer як обробника даних і мету: аналіз поведінки користувачів за допомогою записів сеансів і теплових карт
  • те, що для запису потрібна згода, і спосіб її відкликання відвідувачами
  • погоджений строк зберігання записів

Є готове формулювання. Текст політики приватності для вашого сайту містить короткий і докладний абзаци для вставлення, таблицю для огляду cookie та три пункти, які перестають відповідати дійсності після зміни налаштувань.

Записи не надходять?

  • Звірте атрибут категорії з документацією вашої CMP: неправильний атрибут назавжди блокує скрипт
  • Переконайтеся, що рядок згоди виконується до або після фрагмента коду, а не в блоці, який ніколи не виконується
  • Global Privacy Control у браузері відвідувача має перевагу над будь-якою згодою, у всьому світі й безумовно
  • Сторінки зі списку виключень ніколи не записуються незалежно від згоди