Programmazione Cookiebot

Lo script di Cookiebot carica e costruisce un oggetto Javascript secondario del client chiamato 'Cookiebot', il quale espone le seguenti proprietà pubbliche, i metodi, gli eventi e le funzioni di richiamo. Vedi il tutorial su come implementare lo script di Cookiebot sul modello del tuo sito web.
Proprietà
Nome Tipo Predefinito Descrizione
consent.necessary bool true True, se l'utente corrente ha accettato i cookie necessari.
La proprietà è di sola lettura.
consent.preferences bool false True, se l'utente corrente ha accettato i cookie di preferenza.
La proprietà è di sola lettura.
consent.statistics bool false True, se l'utente corrente ha accettato i cookie statistici.
La proprietà è di sola lettura.
consent.marketing bool false True, se l'utente corrente ha accettato i cookie di marketing.
La proprietà è di sola lettura.
consented bool false True, se l'utente ha accettato i cookie.
La proprietà è di sola lettura.
declined bool false True, se l'utente ha rifiutato l'uso dei cookie,
La proprietà è di sola lettura.
hasResponse bool false True, se l'utente ha risposto alla finestra di dialogo con 'accetta' o 'rifiuta'.
La proprietà è di sola lettura.
doNotTrack bool false True, se l'utente ha attivato l'impostazione 'Non seguire' (DNT) del browser web. Se DNT è abilitato, Cookiebot non imposterà il cookie di terze parti CookieConsentBulkTicket utilizzato per il consenso di massa.
La proprietà è di sola lettura.
Metodi
Nome Parametri Descrizione
show Nessuno Forza la visualizzazione della finestra di dialogo di consenso dei cookie.
hide Nessuno Forza il nascondimento della finestra di dialogo del consenso.
renew Nessuno Elimina qualsiasi consenso registrato nel sito web dal browser dell'utente e mostra la finestra del consenso per l'uso dei cookie all'utente del sito web per rinnovare o modificare lo stato del consenso rilasciato dall'utente.
getScript string URL,
bool async,
func callback
Carica un file JavaScript. URL: percorso assoluto al file JavaScript.
async (facoltativo): Determina se lo script si deve caricare in modo asincrono.
callback (facoltativo): Funzione JavaScript da eseguire quando lo script ha finito di caricarsi.
runScripts Nessuno Valuta tutti i tag script caricati del tipo "text/plain" con l'attributo "data-cookieconsent" ed esegue gli script in base al tipo di consenso stabilito dall'utente. Per un uso sui siti che caricano i contenuti dinamicamente, ad esempio, nelle applicazioni a pagina singola. Gli script sono eseguiti solamente una volta, pertanto questa funzione è sicura da utilizzare più volte, ad esempio, ogni volta che vengono caricati dei nuovi contenuti.
withdraw Nessuno Revoca il consenso per questo sito internet.
Esempio: Crea un link che renda possibile per l'utente modificare o rinnovare un autorizzazione per i cookie.
<a href=”javascript: Cookiebot.renew()”>Rinnova o modifica la tua autorizzazione ai cookie</a>
Richiami (Gestione dell'evento asincrono)
Nome Descrizione
CookiebotCallback_OnLoad Il callback asincrono viene attivato a fronte del caricamento del cookie banner per ottenere il consenso dell'utente.
CookiebotCallback_OnAccept Il richiamo asincrono è attivato quando l'utente fa clic sul pulsante di accettazione del cookie, situato nella finestra di dialogo del consenso, e ogni volta che viene caricata una pagina da un utente che abbia espresso il suo consenso.
CookiebotCallback_OnDecline Il richiamo asincrono è innescato quando l'utente declina l'uso dei cookie cliccando il pulsante di rifiuto nella finestra di dialogo del consenso. Il richiamo viene anche attivato ogni volta che un utente che ha rifiutato l'uso dei cookie carica una pagina.
Esempio: Carica Google Analytics se l'utente ha accettato i Cookie
<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>
Attributi dati tag dello script
Nome Tipo Obbligatorio Descrizione
data-cbid string L'ID univoco per il tuo abbonamento a Cookiebot.
data-type string no Sostituisci il tipo di finestra di dialogo predefinito con uno dei seguenti valori:
"optin", "optout", "optinout", "leveloptin", "inlineoptin"
data-level string no Sostituisci il metodo di consenso predefinito con uno dei seguenti valori: "implicito", "categorico"
data-culture string no Per forzare una specifica variante linguistica della finestra di dialogo del consenso, imposta il valore di questo attributo a un codice linguistico ISO 639-1 neutrale a livello culturale, come "EN" per la lingua inglese. L'impostazione di questo attributo con una lingua valida annulla l'impostazione "Rilevamento automatico della lingua dell'utente" in Cookiebot manager.
Esempio: Forza la finestra di dialogo di autorizzazione a mostrarsi in inglese
<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 server secondario

Se il tuo sito web imposta cookie lato server, puoi determinare che tipo di cookie sei autorizzato ad impostare verificando lo stato del consenso degli utenti attraverso la gestione dei cookie standard.

using System.Web.Script.Serialization;
...

HttpCookie CurrentUserConsent = Request.Cookies["CookieConsent"];

if (CurrentUserConsent != null)
{
    switch (CurrentUserConsent.Value)
    {
        case "0":
            //L'utente non ha accettato i cookie - imposta solo i cookie strettamente necessari
            break;

        case "-1":
            //L'utente non è in una regione che richiede consenso - tutti i cookie sono accettati
            break;

        default: //L'utente ha accettato uno o più tipi di cookie
            
            //Leggi il consenso dell'utente attuale nel formato codificato JavaScript
            JavaScriptSerializer CookieConsentSerializer = new JavaScriptSerializer();
            dynamic CookieConsent = CookieConsentSerializer.Deserialize<object>(HttpUtility.UrlDecode(CurrentUserConsent.Value));

            if (CookieConsent["preferences"])
            {
                //L'utente corrente accetta cookie di preferenza
            }
            else
            {
                //L'utente corrente NON accetta cookie di preferenza
            }

            if (CookieConsent["statistics"])
            {
                //L'utente corrente accetta cookie di statistica
            }
            else
            {
                //L'utente corrente NON accetta cookie di statistica
            }

            if (CookieConsent["marketing"])
            {
                //L'utente corrente accetta cookie di marketing
            }
            else
            {
                //L'utente corrente NON accetta cookie di marketing
            }   
    }
}
else
{
    //L'utente non ha accettato i cookie - imposta solo i cookie strettamente necessari
}
if (isset($_COOKIE["CookieConsent"]))
{
    switch ($_COOKIE["CookieConsent"])
    {
        case "0":
            //L'utente non ha accettato i cookie - imposta solo i cookie strettamente necessari
            break;

        case "-1":
            //L'utente non è in una regione che richiede consenso - tutti i cookie sono accettati
            break;

        default: //L'utente ha accettato uno o più tipi di cookie
            
            //Leggi il consenso dell'utente attuale nel formato codificato JavaScript
            $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))
            {
                //L'utente corrente accetta cookie di preferenza
            }
            else
            {
                //L'utente corrente NON accetta cookie di preferenza
            }

            if (filter_var($CookieConsent->statistics, FILTER_VALIDATE_BOOLEAN))
            {
                //L'utente corrente accetta cookie di statistica
            }
            else
            {
                //L'utente corrente NON accetta cookie di statistica
            }

            if (filter_var($CookieConsent->marketing, FILTER_VALIDATE_BOOLEAN))
            {
                //L'utente corrente accetta cookie di marketing
            }
            else
            {
                //L'utente corrente NON accetta cookie di marketing
            }   
    }
}
else
{
    //L'utente non ha accettato i cookie - imposta solo i cookie strettamente necessari
}
Imports System.Web.Script.Serialization
...

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

If CurrentUserConsent IsNot Nothing Then
    Select Case CurrentUserConsent.Value
        Case "0"
            REM L'utente non ha accettato i cookie - imposta solo i cookie strettamente necessari
            Exit Select

        Case "-1"
            REM L'utente non è in una regione che richiede consenso - tutti i cookie sono accettati
            Exit Select

        Case Else REM L'utente ha accettato uno o più tipi di cookie
            
            REM Leggi il consenso dell'utente attuale nel formato codificato JavaScript
            Dim CookieConsentSerializer As New JavaScriptSerializer()
            Dim CookieConsent As dynamic = CookieConsentSerializer.Deserialize(Of Object)(HttpUtility.UrlDecode(CurrentUserConsent.Value))

            If CookieConsent("preferences") Then
                REM L'utente corrente accetta cookie di preferenza
            Else
                REM L'utente corrente NON accetta cookie di preferenza
            End If

            If CookieConsent("statistics") Then
                REM L'utente corrente accetta cookie di statistica
            Else
                REM L'utente corrente NON accetta cookie di statistica
            End If

            If CookieConsent("marketing") Then
                REM L'utente corrente accetta cookie di marketing
            Else
                REM L'utente corrente NON accetta cookie di marketing
            End If
    End Select
Else
    REM L'utente non ha accettato i cookie - imposta solo i cookie strettamente necessari
End If


Caricamento in corso…
Anteprima dell'Informativa sui cookie
La versione finale dell'informativa sarà visualizzata come contenuto incluso nella tua pagina web. Il contenuto è formattato automaticamente secondo il foglio di stile CSS del tuo sito, inclusi i caratteri e colori.
Austria20,00 %
Belgio21,00 %
Bulgaria20,00 %
Croazia25,00 %
Cipro19,00 %
Repubblica Ceca21,00 %
Danimarca25,00 %
Estonia20,00 %
Finlandia24,00 %
Francia20,00 %
Germania19,00 %
Grecia24,00 %
Ungheria27,00 %
Irlanda23,00 %
Italia22,00 %
Lettonia21,00 %
Lituania21,00 %
Lussemburgo17,00 %
Malta18,00 %
Paesi Bassi21,00 %
Polonia23,00 %
Portogallo23,00 %
Romania20,00 %
Slovacchia20,00 %
Slovenia22,00 %
Spagna21,00 %
Svezia25,00 %
Regno Unito20,00 %
Top