Consentimiento de cookies y activadores proactivos anónimos

El consentimiento del sitio web y el widget son independientes

Tu sitio web sigue siendo responsable de su propio banner de consentimiento y aviso de privacidad. La interfaz de consentimiento del widget no sustituye a tu plataforma de gestión de consentimiento (CMP), y WebChatAgent no añade un segundo banner dentro del widget incrustado.

El widget se inicia en modo de privacidad anónimo cuando se omite tracking-consent o se establece en unknown. En este modo, las decisiones de activación locales permanecen en la memoria y no se envían a WebChatAgent.

<!-- tracking-consent is optional; omitted means unknown -->
<web-chat-agent chatbot-id="YOUR_ID"></web-chat-agent>

Qué funciona sin una señal de consentimiento

CaracterísticaSin señal de consentimiento
Tiempo en la páginaFunciona localmente en la memoria
Profundidad de desplazamientoFunciona localmente en la memoria
Intención de salidaFunciona localmente en la memoria
InactividadFunciona localmente en la memoria
Coincidencia de URLFunciona para la página actual
Visibilidad de la secciónFunciona localmente en la memoria
Clics de frustraciónFunciona localmente en la memoria
Páginas visitadasFunciona durante la navegación SPA en el mismo documento; se restablece tras una recarga completa
Visitante recurrenteDesactivado
Saludo proactivo generado por IAUtiliza la alternativa estática configurada
Analítica de activadores antes de la interacción con el chatDesactivado
Período de enfriamiento diario/persistenteRecurre a la duración del documento actual
Descarte permanenteDura solo hasta que se recarga el documento

Antes de que un visitante interactúe con el chat, la evaluación anónima del activador no crea un ID de visitante, no escribe el estado proactivo en el almacenamiento del navegador ni envía eventos de comportamiento a WebChatAgent.

Interfaz de consentimiento

Utiliza el atributo opcional cuando tu gestor de consentimiento ya conozca la elección del visitante:

<web-chat-agent
  chatbot-id="YOUR_ID"
  tracking-consent="granted"
></web-chat-agent>

Los valores permitidos son unknown, denied y granted. Los valores ausentes y no válidos se tratan como unknown.

Para cambios de consentimiento sin recargar la página, envía:

window.dispatchEvent(
  new CustomEvent('webchatagent:consent', {
    detail: { tracking: 'granted' }
  })
)

Envía denied cuando el consentimiento sea rechazado o revocado. WebChatAgent detiene entonces el seguimiento opcional y elimina el estado de los activadores proactivos junto con la personalización de la interfaz de usuario sujeta a consentimiento. El almacenamiento funcional de las sesiones de chat sigue estando disponible después de que el visitante utilice activamente el chat.

En implementaciones de marca blanca, el nombre de evento neutral chat-widget:consent funciona de forma idéntica, utilízalo cuando la página que realiza la incrustación no deba hacer referencia al nombre de la plataforma.

Envía granted únicamente después de que tu CMP haya registrado una elección válida para la categoría que cubre cada característica habilitada. Los saludos generados por IA, el reconocimiento de visitantes y la analítica de activadores pueden requerir descripciones o categorías diferentes en tu configuración. Confirma la asignación con tu asesor de privacidad.

Adaptador genérico para 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 expone las decisiones de categoría actuales mediante Cookiebot.consent y anuncia los cambios con eventos del navegador. Selecciona la categoría que coincida con los propósitos documentados:

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)

Consulta la referencia para desarrolladores de Cookiebot para conocer sus propiedades y eventos de categoría actuales.

Complianz

Complianz proporciona cmplz_has_consent(category) y enlaces de estado/revocación:

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
)

Reemplaza marketing si tu configuración documentada de la CMP utiliza otra categoría. Consulta la referencia de integración de Complianz.

Crea un servicio de WebChatAgent en el grupo de servicios de Borlabs adecuado y utiliza el ID de dicho grupo:

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)

Reemplaza marketing por el ID del grupo de servicios utilizado en tu configuración de Borlabs. Consulta la API de JavaScript de Borlabs Cookie.

Referencia de almacenamiento del navegador

ClaveAlmacenamientoCreado cuandoPropósito
chatSessionId_<chatbotId>localStorageEl visitante utiliza activamente el chatReanudar la conversación funcional
chatRecentSessions_<chatbotId>localStorageEl visitante utiliza las funciones de chats recientesLista local de sesiones de chat conocidas
chatEndedSessions_<chatbotId>localStorageEl visitante finaliza un chatMantener las sesiones finalizadas fuera de la vista activa
chatWidgetIsOpenlocalStorageEl visitante abre o cierra el widget flotanteRestaurar el estado funcional de la interfaz de usuario
livechat_timeout_<chatbotId>_<sessionId>localStorageEl visitante solicita chat en vivoReanudar el tiempo de espera del chat en vivo
chatThumbRatings_<chatbotId>localStorageSe concede el consentimiento de seguimiento y se envían comentariosRecordar la selección local de comentarios
wca_privacy_box_dismissed_<chatbotId>sessionStorageSe concede el consentimiento de seguimiento y se descarta el avisoOcultar el aviso en la pestaña actual
wca_speech_bubble_dismissed_<chatbotId>sessionStorageSe concede el consentimiento de seguimiento y se descarta el globoOcultar el globo en la pestaña actual
wca_triggers_<chatbotId>_*localStorage/sessionStorageSe concede el consentimiento de seguimientoVisitas recurrentes, contadores, períodos de enfriamiento y estado de descarte

Tu aviso de privacidad debe describir el almacenamiento y el procesamiento en el servidor realmente habilitados en tu configuración. Esta documentación ofrece orientación técnica y no sustituye el asesoramiento legal.