A continuación, hay información técnica avanzada, principalmente para programadores. Si buscas nuestra guía de implementación por defecto de cómo iniciase en Cookiebot CMP, pudes encontrarla aquí:
En esta página encontrarás documentación de SDK para construir implementaciones personalizadas de banners y control de cookies. Además, también encontrarás las opciones para anular manualmente los mecanismos automáticos de nuestro banner de consentimiento de cookies.
Para que funcione nuestro SDK, el script de Cookiebot CMP necesita ser implementado en tu web.
Carga el script de consentimiento de cookies a través de:
https://consent.cookiebot.com/uc.js?cbid=00000000-0000-0000-0000-000000000000
O como:
https://consent.cookiebot.com/uc.js
(con el atributo data-cbid=’00000000-0000-0000-0000-000000000000′)
Recuerda sustituir 00000000-0000-0000-0000-000000000000 por tu propio identificador de tu grupo de dominio, que se encuentra bajo “Sus scripts”, en tu cuenta de Cookiebot CMP.
El script de Cookiebot CMP se carga y construye un objeto de JavaScript del lado del cliente, denominado “Cookiebot,” que presenta las siguientes propiedades públicas, métodos, eventos y funciones de retrollamada (callback).
Propiedades
Nombre | Tipo | Por defecto | Descripción |
---|---|---|---|
consent.necessary | bool | true | Verdadero si el usuario actual ha aceptado las cookies necesarias. La propiedad es de solo lectura. |
consent.preferences | bool | false | Verdadero si el usuario actual ha aceptado las cookies de preferencias. La propiedad es de solo lectura. |
consent.statistics | bool | false | Verdadero si el usuario actual ha aceptado las cookies estadísticas. La propiedad es de solo lectura. |
consent.marketing | bool | false | Verdadero si el usuario actual ha aceptado las cookies de marketing. La propiedad es de solo lectura. |
consent.method | string | null | La forma en que se dio el consentimiento. Puede ser “implied” cuando se da implícita o automáticamente, o “explicit” cuando es el usuario quien lo da explícitamente. Si no hay consentimiento, el valor es “null”. Si no se sabe la forma en la que se dio el consentimiento (los consentimientos antiguos), se da el valor “implied”. La propiedad es de solo lectura. |
consented | bool | false | Verdadero si el usuario ha aceptado el uso de cookies. La propiedad es de solo lectura. |
declined | bool | false | Verdadero si el usuario no ha aceptado el uso de cookies. La propiedad es de solo lectura. |
hasResponse | bool | false | Verdadero si el usuario ha respondido al diálogo de consentimiento con un “aceptar” o un “rechazar”. La propiedad es de solo lectura. |
doNotTrack | bool | false | Verdadero si el usuario ha habilitado la opción “No rastreo” (DNT). Si está activada, Cookiebot no activará la cookie CookieConsentBulkTicket (se usa para dar un consentimiento masivo). La propiedad es de solo lectura. |
regulations.gdprApplies | bool | false | Te permite determinar si se aplica el RGPD basándose en la geolocalización del usuario. La propiedad es solo de lectura. |
regulations.ccpaApplies | bool | false | Te permite determinar si la CCPA se aplica basada en la geolocalización del usuario. La propiedad es solo de lectura. |
regulations.lgpdApplies | bool | false | Te permite determinar si la LGPD se aplica basada en la geolocalización del usuario. La propiedad es solo de lectura. |
Métodos
Nombre | Parámetros | Descripción |
---|---|---|
show | Ninguno | Fuerza la aparición del diálogo de consentimiento de cookies. |
hide | Ninguno | Fuerza al diálogo de consentimiento de cookies a ocultarse. |
renew | Ninguno | Muestra de nuevo el diálogo de consentimiento de cookies para que el usuario lo renueve o cambie su estado. |
getScript | string URL, bool async, func callback | Carga un archivo de tipo JavaScript. URL: Ruta absoluta del archivo JavaScript. async (Opcional): Determina si el script debería cargar asincrónicamente. callback (Opcional): Función JavaScript para ejecutar cuando el script ha terminado de cargar. |
runScripts | Ninguno | Evalúa todas las etiquetas de script cargadas del tipo “text/plain” con el atributo “data-cookieconsent” y ejecuta los scripts de acuerdo con el estado del consentimiento del usuario. Para usarlo en sitios web que cargan el contenido dinámicamente, p. ej., en aplicaciones de una sola página. Los scripts solo se ejecutan una vez, por lo que es seguro llamar a esta función varias veces, p. ej., cada vez que se carga nuevo contenido. |
withdraw | Ninguno | Retirar mi consentimiento para este sitio web. |
submitCustomConsent | bool optinPreferences, bool optinStatistics, bool optinMarketing | Usa esto fuera del contexto del banner de cookies, como por ejemplo, un botón en el encabezado/pie de página de tu web para elegir si aceptar o no – O para añadir un botón en tu banner que permita el consentimiento partical, por ejemplo, “Aceptar Preferencias y Estadísticas”. |
Ejemplo: Si prefieres no emplear el Menú de Consentimiento de Cookiebot CMP, puede que quieras crear un enlace personalizado que permita al usuario cambiar o renovar su consentimiento de cookies. Aun así, nosotros seguimos recomendando usar el Menú de Consentimiento de Cookiebot CMP para lograr la mejor experiencia de usuario posible.
<a href="javascript: Cookiebot.renew()">Renovar o cambiar el consentimiento de las cookies</a>
Gestión de eventos
Nombre | Descripción |
---|---|
CookiebotOnConsentReady | El evento se dispara cuando la declaración de consentimiento del usuario está lista, ya sea porque se haya enviado o porque se haya cargado de una cookie preexistente. Emplea este evento si necesitas recuperar el consentimiento del usuario y ejecutar scripts adicionales lo antes posible en función de los valores de consentimiento. |
CookiebotOnLoad | El evento se activa cuando el consentimiento del usuario se ha cargado – ya sea cuando el usuario envíe el consentimiento o cuando el usuario navegue por una página donde dicho consentimiento ya ha sido presentado. |
CookiebotOnAccept | El evento se activa si el usuario acepta el uso de cookies. El evento también se activa si el usuario ha dado su consentimiento en una visita anterior al sitio web. |
CookiebotOnDecline | El evento se activa si el usuario rechaza el uso de cookies haciendo clic en el botón rechazar del diálogo de consentimiento de cookies. El evento también se activa si el usuario ya había rechazado el uso de cookies en una visita anterior al sitio web. |
CookiebotOnDialogInit | Se activa cuando se inicializa el banner de consentimiento de cookies, antes de compilar el contenido del banner. |
CookiebotOnDialogDisplay | Se attiva cuando el banner de consentimiento de cookies se muestra al usuario final. |
CookiebotOnTagsExecuted | Se attiva cuando las etiquetas marcadas para consentimiento previo (por ejemplo, el atributo “data-cookieconsent”) se han activado. |
Ejemplo: cargar cookies de marketing si el usuario ha aceptado
<script type="text/javascript">
window.addEventListener('CookiebotOnAccept', function (e) {
if (Cookiebot.consent.marketing)
{
//Execute code that sets marketing cookies
}
}, false);
</script>
Callbacks
Nombre | Descripción |
---|---|
CookiebotCallback_OnLoad | La llamada asíncrona se activa cuando el banner de cookies se ha cargado para obtener el contenido de usuario. |
CookiebotCallback_OnAccept | El callback asíncrono se activa cuando algún usuario hace clic en el botón de aceptar del diálogo de consentimiento de cookies y cada vez que algún usuario que haya dado su consentimiento carga una página. |
CookiebotCallback_OnDecline | El callback asíncrono se activa cuando algún usuario rechaza el uso de cookies haciendo clic en el botón de rechazar del diálogo de consentimiento de cookies. También se activa cada vez que un usuario que ha rechazado el uso de cookies carga una página. |
CookiebotCallback_OnDialogInit | Se activa cuando se inicializa el banner de consentimiento de cookies, antes de compilar el contenido del banner. |
CookiebotCallback_OnDialogDisplay | Se attiva cuando el banner de consentimiento de cookies se muestra al usuario final. |
CookiebotCallback_OnTagsExecuted | Se attiva cuando las etiquetas marcadas para consentimiento previo (por ejemplo, el atributo “data-cookieconsent”) se han activado. |
Ejemplo: Carga cookies estadísticas si el usuario ha aceptado las cookies estadísticas
Por favor, ten en cuenta que este ejemplo es relevante sólo si no has establecido el modo “auto” para el data-blockingmode y si no has marcado tu script para control con data-cookieconsent.
<script type="text/javascript">
function CookiebotCallback_OnAccept() {
if (Cookiebot.consent.statistics)
{
enableStatisticsCookies();
}
}
function enableStatisticsCookies() {
//Ejecuta código que establece cookies de estadísticas
}
</script>
Script para la atribución de etiquetas de datos
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
data-cbid | string | sí | El identificador único para su grupo de dominio Cookiebot. |
data-type | string | no | Anula el tipo de diálogo por defecto con uno de los siguientes valores: “optin”, “optout”, “optinout”, “leveloptin”, “inlineoptin”, “optionaloptin” |
data-level | string | no | Anula el método de consentimiento por defecto con los siguientes valores “implicit”, “strict” |
data-culture | string | no | Para establecer un idioma específico en el diálogo de consentimiento, establece el valor de este atributo a un código de lenguaje de cultura neutral ISO 639-1, por ejemplo, “EN” para inglés. Al establecer este atributo con un lenguaje válido, se anula la opción “detección automática del idioma” establecida en el gestor de Cookiebot. |
data-framework | string | no | Permite a Cookiebot señalar el consentimiento a otros marcos (frameworks) de consentimiento implementados en un sitio web además del marco de consentimiento estándar contenido en Cookiebot. El valor del atributo debe coincidir con el código abreviado del marco externo. Marcos de consentimiento de terceros actualmente admitidos: Código abreviado “IAB”: Marco de transparencia y consentimiento de IAB Europa |
data-blockingmode | string | no | Define si Cookiebot debería bloquear de manera automática todas las cookies hasta que el usuario hay consentido, valor: “auto”. En caso contrario, (valor: “none”) los scripts de establecimiento de cookies deberían ser marcados manualmente como se ha descrito en nuestra guía de implementación manual. Si omite este atributo, el comportamiento equivaldría al valor: “none”. |
data-consentmode | string | no | Te permite deshabilitar el Modo de Consentimiento de Google al pasar un valor “disabled”. |
Ejemplo: Forzar el consentimiento del cuadro de diálogo mostrarse en inglés
<script id="Cookiebot" data-culture="EN" src="https://consent.cookiebot.com/uc.js" data-cbid="00000000-0000-0000-0000-000000000000" type="text/javascript"></script>
Uso del servidor
Si tu sitio web va a utilizar cookies en el servidor, puedes averiguar qué tipo de cookies puedes utilizar en función del estado actual del diálogo de consentimiento de cookies del usuario.
using System.Web.Script.Serialization;
...
HttpCookie CurrentUserConsent = Request.Cookies["CookieConsent"];
if (CurrentUserConsent != null)
{
switch (CurrentUserConsent.Value)
{
case "-1":
//The user is not within a region that requires consent - all cookies are accepted
break;
default: //The user has given their consent
//Read current user consent in encoded JavaScript format
JavaScriptSerializer CookieConsentSerializer = new JavaScriptSerializer();
dynamic CookieConsent = CookieConsentSerializer.Deserialize<object>(HttpUtility.UrlDecode(CurrentUserConsent.Value));
if (!CookieConsent["preferences"] && !CookieConsent["statistics"] && !CookieConsent["marketing"])
{
//The user has opted out of cookies, set strictly necessary cookies only
}
else
{
if (CookieConsent["preferences"])
{
//Current user accepts preference cookies
}
else
{
//Current user does NOT accept preference cookies
}
if (CookieConsent["statistics"])
{
//Current user accepts statistics cookies
}
else
{
//Current user does NOT accept statistics cookies
}
if (CookieConsent["marketing"])
{
//Current user accepts marketing cookies
}
else
{
//Current user does NOT accept marketing cookies
}
}
}
}
else
{
//The user has not accepted cookies - set strictly necessary cookies only
}
if (isset($_COOKIE["CookieConsent"]))
{
switch ($_COOKIE["CookieConsent"])
{
case "-1":
//The user is not within a region that requires consent - all cookies are accepted
break;
default: //The user has given their consent
//Read current user consent in encoded JavaScript format
$valid_php_json = preg_replace('/\s*:\s*([a-zA-Z0-9_]+?)([}\[,])/', ':"$1"$2', preg_replace('/([{\[,])\s*([a-zA-Z0-9_]+?):/', '$1"$2":', str_replace("'", '"',stripslashes($_COOKIE["CookieConsent"]))));
$CookieConsent = json_decode($valid_php_json);
if (!filter_var($CookieConsent->preferences, FILTER_VALIDATE_BOOLEAN)
&& !filter_var($CookieConsent->statistics, FILTER_VALIDATE_BOOLEAN) && !
filter_var($CookieConsent->marketing, FILTER_VALIDATE_BOOLEAN))
{
//The user has opted out of cookies, set strictly necessary cookies only
}
else
{
if (filter_var($CookieConsent->preferences, FILTER_VALIDATE_BOOLEAN))
{
//Current user accepts preference cookies
}
else
{
//Current user does NOT accept preference cookies
}
if (filter_var($CookieConsent->statistics, FILTER_VALIDATE_BOOLEAN))
{
//Current user accepts statistics cookies
}
else
{
//Current user does NOT accept statistics cookies
}
if (filter_var($CookieConsent->marketing, FILTER_VALIDATE_BOOLEAN))
{
//Current user accepts marketing cookies
}
else
{
//Current user does NOT accept marketing cookies
}
}
}
}
else
{
//The user has not accepted cookies - set strictly necessary cookies only
}
Imports System.Web.Script.Serialization
...
Dim CurrentUserConsent As HttpCookie = Request.Cookies("CookieConsent")
If CurrentUserConsent IsNot Nothing Then
Select Case CurrentUserConsent.Value
Case "-1"
REM The user is not within a region that requires consent - all cookies are accepted
Exit Select
Case Else REM The user has given their consent
REM Read current user consent in encoded JavaScript format
Dim CookieConsentSerializer As New JavaScriptSerializer()
Dim CookieConsent As dynamic = CookieConsentSerializer.Deserialize(Of Object)(HttpUtility.UrlDecode(CurrentUserConsent.Value))
If Not CookieConsent("preferences") And Not
CookieConsent("statistics") And Not CookieConsent("marketing") Then
REM The user has opted out of cookies, set strictly necessary cookies only
Else
If CookieConsent("preferences") Then
REM Current user accepts preference cookies
Else
REM Current user does NOT accept preference cookies
End If
If CookieConsent("statistics") Then
REM Current user accepts statistics cookies
Else
REM Current user does NOT accept statistics cookies
End If
If CookieConsent("marketing") Then
REM Current user accepts marketing cookies
Else
REM Current user does NOT accept marketing cookies
End If
End If
End Select
Else
REM The user has not accepted cookies - set strictly necessary cookies only
End If