Programando Cookiebot

El script de Cookiebot carga y construye un objeto de JavaScript llamado 'Cookiebot' para el cliente, tiene asociado las siguientes propiedades públicas, métodos, eventos y funciones callback. Mira el tutorial sobre cómo implementar el script de Cookiebot en la plantilla de tu sitio web.
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.
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.
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 Elimina cualquier consentimiento almacenado en el navegador web del usuario y 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.
Ejemplo: Crear un enlace que permite al usuario cambiar o renovar su consentimiento de cookies
<a href=”javascript: Cookiebot.renew()”>Renovar o cambiar el consentimiento de las cookies</a>
Callbacks (Gestión de eventos asíncronos)
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.
Ejemplo: Cargar Google Analytics si el usuario ha aceptado el uso de cookies
<script type="text/javascript">

    function CookiebotCallback_OnAccept() {
        if (Cookiebot.consent.statistics)
        {
            enableGoogleAnalytics();
        }
    }

    var _gaq = [];
    function enableGoogleAnalytics() {
        _gaq.push(['_setAccount', 'UA-00000000-0']);
        _gaq.push(['_trackPageview']);
        (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    }

</script>
Script para la atribución de etiquetas de datos
Nombre Tipo Obligatorio Descripción
data-cbid string El número de identificación único para tu suscripción en Cookiebot.
data-type string no Anula el tipo de diálogo por defecto con uno de los siguientes valores:
"optin", "optout", "optinout", "leveloptin", "inlineoptin"
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.
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 "0":
            //El usuario no ha aprobado el uso de cookies - configurar únicamente las cookies que sean estrictamente necesarias
            break;

        case "-1":
            //El usuario no está en una región que requiera consentimiento - todas las cookies aceptadas por defecto
            break;

        default: //El usuario ha aceptado uno o más tipos de cookies
            
            //Leer el actual consentimiento de usuario en formato JavaScript codificado
            JavaScriptSerializer CookieConsentSerializer = new JavaScriptSerializer();
            dynamic CookieConsent = CookieConsentSerializer.Deserialize<object>(HttpUtility.UrlDecode(CurrentUserConsent.Value));

            if (CookieConsent["preferences"])
            {
                //El usuario actual acepta cookies de preferencias
            }
            else
            {
                //El usuario actual NO acepta cookies de preferencias
            }

            if (CookieConsent["statistics"])
            {
                //El usuario actual acepta cookies estadísticas 
            }
            else
            {
                //El usuario actual NO acepta cookies estadísticas
            }

            if (CookieConsent["marketing"])
            {
                //El usuario actual acepta cookies de marketing
            }
            else
            {
                //El usuario actual NO acepta cookies de marketing
            }   
    }
}
else
{
    //El usuario no ha aprobado el uso de cookies - configurar únicamente las cookies que sean estrictamente necesarias
}
if (isset($_COOKIE["CookieConsent"]))
{
    switch ($_COOKIE["CookieConsent"])
    {
        case "0":
            //El usuario no ha aprobado el uso de cookies - configurar únicamente las cookies que sean estrictamente necesarias
            break;

        case "-1":
            //El usuario no está en una región que requiera consentimiento - todas las cookies aceptadas por defecto
            break;

        default: //El usuario ha aceptado uno o más tipos de cookies
            
            //Leer el actual consentimiento de usuario en formato JavaScript codificado
            $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))
            {
                //El usuario actual acepta cookies de preferencias
            }
            else
            {
                //El usuario actual NO acepta cookies de preferencias
            }

            if (filter_var($CookieConsent->statistics, FILTER_VALIDATE_BOOLEAN))
            {
                //El usuario actual acepta cookies estadísticas 
            }
            else
            {
                //El usuario actual NO acepta cookies estadísticas
            }

            if (filter_var($CookieConsent->marketing, FILTER_VALIDATE_BOOLEAN))
            {
                //El usuario actual acepta cookies de marketing
            }
            else
            {
                //El usuario actual NO acepta cookies de marketing
            }   
    }
}
else
{
    //El usuario no ha aprobado el uso de cookies - configurar únicamente las cookies que sean estrictamente necesarias
}
Imports System.Web.Script.Serialization
...

Dim CurrentUserConsent As HttpCookie = Request.Cookies("CookieConsent")

If CurrentUserConsent IsNot Nothing Then
    Select Case CurrentUserConsent.Value
        Case "0"
            REM El usuario no ha aprobado el uso de cookies - configurar únicamente las cookies que sean estrictamente necesarias
            Exit Select

        Case "-1"
            REM El usuario no está en una región que requiera consentimiento - todas las cookies aceptadas por defecto
            Exit Select

        Case Else REM El usuario ha aceptado uno o más tipos de cookies
            
            REM Leer el actual consentimiento de usuario en formato JavaScript codificado
            Dim CookieConsentSerializer As New JavaScriptSerializer()
            Dim CookieConsent As dynamic = CookieConsentSerializer.Deserialize(Of Object)(HttpUtility.UrlDecode(CurrentUserConsent.Value))

            If CookieConsent("preferences") Then
                REM El usuario actual acepta cookies de preferencias
            Else
                REM El usuario actual NO acepta cookies de preferencias
            End If

            If CookieConsent("statistics") Then
                REM El usuario actual acepta cookies estadísticas 
            Else
                REM El usuario actual NO acepta cookies estadísticas
            End If

            If CookieConsent("marketing") Then
                REM El usuario actual acepta cookies de marketing
            Else
                REM El usuario actual NO acepta cookies de marketing
            End If
    End Select
Else
    REM El usuario no ha aprobado el uso de cookies - configurar únicamente las cookies que sean estrictamente necesarias
End If


Cargando…
Vista previa de la declaración de cookies
La declaración final estará integrada en el contenido de tu propio sitio web. El contenido se formatea automáticamente con el diseño global de tu web (CSS), incluyendo fuentes y colores.
Austria20,00 %
Bélgica21,00 %
Bulgaria20,00 %
Croacia25,00 %
Chipre19,00 %
República Checa21,00 %
Dinamarca25,00 %
Estonia20,00 %
Finlandia24,00 %
Francia20,00 %
Alemania19,00 %
Grecia24,00 %
Hungría 27,00 %
Irlanda23,00 %
Italia22,00 %
Letonia21,00 %
Lituania21,00 %
Luxemburgo17,00 %
Malta18,00 %
Países Bajos21,00 %
Polonia23,00 %
Portugal23,00 %
Rumanía20,00 %
Eslovaquia20,00 %
Eslovenia22,00 %
España21,00 %
Suecia25,00 %
Reino Unido20,00 %
Top