MousePlayer и съгласието

Записите на сесии изискват съгласие. Ето как да инсталирате MousePlayer така, че нищо да не се записва, преди посетителят да се е съгласил — и как да го докажете впоследствие.

Защо е необходимо съгласие

MousePlayer записва движения на мишката, кликвания, превъртане и DOM промени. Това е наблюдение на поведението по съображение 24 GDPR и достъп до устройството на посетителя по § 25 TDDDG и еквивалентните му разпоредби. Изисква съгласие. Легитимният интерес не е достатъчен.

Тежестта да докажете валидно съгласие е ваша като администратор на данни. Затова MousePlayer записва не само че е имало съгласие, но и откъде е дошъл сигналът, кога е пристигнал и коя конфигурация е била в сила тогава.

По подразбиране е отказ. Без сигнал MousePlayer не създава идентификатор на сесия, не записва нищо в хранилището, не задава бисквитка и не отваря връзка. Няма път, по който изтичане на време, грешка или липсващ отговор водят до „разрешено“.

1Вариант 1 — нека инструментът ви за съгласие блокира скрипта

Кодът се вгражда с type="text/plain" и атрибута за категория на вашата CMP. Преди съгласие изобщо не се изпълнява. Нищо не може да се случи твърде рано, защото нищо не работи. Това е единственият вариант, който не зависи от правилното пристигане на сигнал.

Инструмент за съгласиеАтрибут за script тага
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 като обработващ лични данни, с цел: анализ на поведението при използване чрез записи на сесии и топлинни карти
  • че записването изисква съгласие и как посетителите могат да го оттеглят
  • договореният срок на съхранение на записите

Има готова формулировка. Текст за поверителност за вашия сайт ви дава абзаца за поставяне — кратък и подробен — плюс таблицата за прегледа на бисквитките и трите места, където той престава да е верен след промяна на настройка.

Не пристигат записи?

  • Сравнете атрибута за категория с документацията на вашата CMP — грешният блокира скрипта постоянно
  • Уверете се, че редът за съгласие се изпълнява преди или след кода, а не в блок, който никога не се изпълнява
  • Global Privacy Control в браузъра на посетителя има предимство пред всяко „да“, навсякъде по света и безусловно
  • Страниците в списъка ви с изключения никога не се записват, независимо от съгласието