Согласие на использование cookie и анонимные проактивные Триггеры
Согласие на сайте и виджет разделены
Ваш сайт самостоятельно отвечает за собственный баннер согласия и уведомление о конфиденциальности. Интерфейс согласия виджета не заменяет вашу платформу управления согласием (CMP), а WebChatAgent не добавляет второй баннер внутри встроенного виджета.
Виджет запускается в анонимном режиме конфиденциальности, когда tracking-consent опущен или установлен в значение unknown. В этом режиме локальные решения по триггерам остаются в памяти и не отправляются в WebChatAgent.
<!-- tracking-consent is optional; omitted means unknown -->
<web-chat-agent chatbot-id="YOUR_ID"></web-chat-agent>
Что работает без сигнала согласия
| Возможность | Без сигнала согласия |
|---|---|
| Время на странице | Работает локально в памяти |
| Глубина прокрутки | Работает локально в памяти |
| Намерение уйти | Работает локально в памяти |
| Бездействие | Работает локально в памяти |
| Совпадение URL | Работает для текущей страницы |
| Видимость раздела | Работает локально в памяти |
| Серия кликов в гневе | Работает локально в памяти |
| Просмотрено страниц | Работает во время навигации SPA в рамках одного документа; сбрасывается после полной перезагрузки |
| Вернувшийся посетитель | Отключён |
| Проактивное приветствие, сгенерированное ИИ | Использует настроенный статический резервный вариант |
| Аналитика триггеров до взаимодействия с чатом | Отключён |
| Постоянный/ежедневный период ожидания | Переключается на время жизни текущего документа |
| Постоянное отклонение | Действует только до перезагрузки документа |
До того как посетитель начнет взаимодействовать с чатом, анонимная оценка триггеров не создает идентификатор посетителя, не записывает состояние проактивных функций в хранилище браузера и не отправляет поведенческие события в WebChatAgent.
Интерфейс согласия
Используйте необязательный атрибут, когда менеджер согласий уже знает выбор посетителя:
<web-chat-agent
chatbot-id="YOUR_ID"
tracking-consent="granted"
></web-chat-agent>
Разрешенные значения: unknown, denied и granted. Отсутствующие и недопустимые значения обрабатываются как unknown.
Для изменения согласия без перезагрузки страницы отправьте событие:
window.dispatchEvent(
new CustomEvent('webchatagent:consent', {
detail: { tracking: 'granted' }
})
)
Отправляйте denied, когда согласие отклонено или отозвано. В этом случае WebChatAgent прекращает необязательное отслеживание и удаляет состояние проактивных триггеров, а также персонализацию интерфейса, зависящую от согласия. Хранилище функциональных сессий чата остается доступно после того, как посетитель начинает активно использовать чат.
В White-label развертываниях нейтральное к бренду имя события chat-widget:consent работает аналогично, используйте его, если на странице со встраиванием не должно упоминаться название платформы.
granted только после того, как CMP зафиксирует действительный выбор для категории, покрывающей каждую включенную вами функцию. Приветствия от ИИ, распознавание посетителей и аналитика триггеров могут требовать других описаний или категорий в вашей конфигурации. Подтвердите сопоставление с вашим консультантом по конфиденциальности.Универсальный адаптер CMP
function updateWebChatAgentConsent(isGranted) {
window.dispatchEvent(
new CustomEvent('webchatagent:consent', {
detail: { tracking: isGranted ? 'granted' : 'denied' }
})
)
}
// Call this from your CMP's consent-ready and consent-change callbacks.
updateWebChatAgentConsent(false)
Cookiebot
Cookiebot предоставляет текущие решения по категориям через Cookiebot.consent и сообщает об изменениях через события браузера. Выберите категорию, которая соответствует вашим задокументированным целям:
function syncWebChatAgentWithCookiebot() {
const consent = window.Cookiebot?.consent
const granted = Boolean(consent?.preferences && consent?.statistics)
updateWebChatAgentConsent(granted)
}
window.addEventListener('CookiebotOnConsentReady', syncWebChatAgentWithCookiebot)
window.addEventListener('CookiebotOnAccept', syncWebChatAgentWithCookiebot)
window.addEventListener('CookiebotOnDecline', syncWebChatAgentWithCookiebot)
Актуальные свойства категорий и события приведены в справочнике разработчика Cookiebot.
Complianz
Complianz предоставляет метод cmplz_has_consent(category) и хуки статуса/отзыва:
function syncWebChatAgentWithComplianz() {
const granted = typeof window.cmplz_has_consent === 'function'
&& window.cmplz_has_consent('marketing')
updateWebChatAgentConsent(granted)
}
jQuery(document).on(
'cmplz_status_change cmplz_revoke cmplz_enable_category',
syncWebChatAgentWithComplianz
)
Замените marketing, если в задокументированной конфигурации вашей CMP используется другая категория. Смотрите справочник по интеграции Complianz.
Borlabs Cookie 3
Создайте службу WebChatAgent в соответствующей группе служб Borlabs и используйте идентификатор этой группы:
function syncWebChatAgentWithBorlabs() {
const granted = Boolean(
window.BorlabsCookie?.Consents?.hasConsentForServiceGroup('marketing')
)
updateWebChatAgentConsent(granted)
}
window.addEventListener('borlabs-cookie-after-init', syncWebChatAgentWithBorlabs)
window.addEventListener('borlabs-cookie-consent-saved', syncWebChatAgentWithBorlabs)
Замените marketing на идентификатор группы служб, используемый в вашей конфигурации Borlabs. Смотрите JavaScript API Borlabs Cookie.
Справочник хранилища браузера
| Ключ | Хранилище | Когда создается | Назначение |
|---|---|---|---|
chatSessionId_<chatbotId> | localStorage | Посетитель активно использует чат | Возобновление функционального диалога |
chatRecentSessions_<chatbotId> | localStorage | Посетитель использует функции недавних чатов | Локальный список известных сессий чата |
chatEndedSessions_<chatbotId> | localStorage | Посетитель завершает чат | Исключение завершенных сессий из активного вида |
chatWidgetIsOpen | localStorage | Посетитель открывает или закрывает плавающий виджет | Восстановление функционального состояния интерфейса |
livechat_timeout_<chatbotId>_<sessionId> | localStorage | Посетитель запрашивает живой чат | Возобновление таймаута живого чата |
chatThumbRatings_<chatbotId> | localStorage | Согласие на отслеживание предоставлено, отзыв отправлен | Сохранение локального выбора оценки |
wca_privacy_box_dismissed_<chatbotId> | sessionStorage | Согласие на отслеживание предоставлено, уведомление отклонено | Скрытие уведомления в текущей вкладке |
wca_speech_bubble_dismissed_<chatbotId> | sessionStorage | Согласие на отслеживание предоставлено, всплывающее сообщение отклонено | Скрытие всплывающего сообщения в текущей вкладке |
wca_triggers_<chatbotId>_* | localStorage/sessionStorage | Согласие на отслеживание предоставлено | Повторные визиты, счетчики, периоды ожидания и состояние отклонения |
Ваше уведомление о конфиденциальности должно описывать хранилище и обработку на стороне сервера, фактически включенные в вашей конфигурации. Эта документация является техническим руководством и не заменяет юридическую консультацию.
