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ística | Sin señal de consentimiento |
|---|---|
| Tiempo en la página | Funciona localmente en la memoria |
| Profundidad de desplazamiento | Funciona localmente en la memoria |
| Intención de salida | Funciona localmente en la memoria |
| Inactividad | Funciona localmente en la memoria |
| Coincidencia de URL | Funciona para la página actual |
| Visibilidad de la sección | Funciona localmente en la memoria |
| Clics de frustración | Funciona localmente en la memoria |
| Páginas visitadas | Funciona durante la navegación SPA en el mismo documento; se restablece tras una recarga completa |
| Visitante recurrente | Desactivado |
| Saludo proactivo generado por IA | Utiliza la alternativa estática configurada |
| Analítica de activadores antes de la interacción con el chat | Desactivado |
| Período de enfriamiento diario/persistente | Recurre a la duración del documento actual |
| Descarte permanente | Dura 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.
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.
Borlabs Cookie 3
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
| Clave | Almacenamiento | Creado cuando | Propósito |
|---|---|---|---|
chatSessionId_<chatbotId> | localStorage | El visitante utiliza activamente el chat | Reanudar la conversación funcional |
chatRecentSessions_<chatbotId> | localStorage | El visitante utiliza las funciones de chats recientes | Lista local de sesiones de chat conocidas |
chatEndedSessions_<chatbotId> | localStorage | El visitante finaliza un chat | Mantener las sesiones finalizadas fuera de la vista activa |
chatWidgetIsOpen | localStorage | El visitante abre o cierra el widget flotante | Restaurar el estado funcional de la interfaz de usuario |
livechat_timeout_<chatbotId>_<sessionId> | localStorage | El visitante solicita chat en vivo | Reanudar el tiempo de espera del chat en vivo |
chatThumbRatings_<chatbotId> | localStorage | Se concede el consentimiento de seguimiento y se envían comentarios | Recordar la selección local de comentarios |
wca_privacy_box_dismissed_<chatbotId> | sessionStorage | Se concede el consentimiento de seguimiento y se descarta el aviso | Ocultar el aviso en la pestaña actual |
wca_speech_bubble_dismissed_<chatbotId> | sessionStorage | Se concede el consentimiento de seguimiento y se descarta el globo | Ocultar el globo en la pestaña actual |
wca_triggers_<chatbotId>_* | localStorage/sessionStorage | Se concede el consentimiento de seguimiento | Visitas 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.
