Cookiebot

Programmazione Cookiebot

Di seguito sono riportate informazioni tecniche avanzate, principalmente per gli sviluppatori. Se stai cercando la nostra guida all'implementazione predefinita su come iniziare con Cookiebot, puoi trovarla qui.

In questa pagina troverai la nostra documentazione SDK per creare implementazioni personalizzate di banner e controllo di cookie. Cosi come le opzioni per le sostituzioni manuali dei meccanismi automatizzati del nostro banner di consenso sui cookie. 

Perché il SDK di seguito funzioni, lo script Cookiebot deve essere implementato sul tuo sito web. 

Carica lo script di consenso sui cookie tramite:

https://consent.cookiebot.com/uc.js?cbid=00000000-0000-0000-0000-000000000000

O come:

https://consent.cookiebot.com/uc.js

(con l’attributo data-cbid='00000000-0000-0000-0000-000000000000')

Ricorda di sostituire 00000000-0000-0000-0000-000000000000 con il tuo ID di gruppo di dominio trovato sotto "I tuoi script" sul tuo conto Cookiebot. 

Lo script Cookiebot carica e costruisce un oggetto JavaScript sul lato cliente denominato "Cookiebot" che espone le seguenti proprietà pubbliche, metodi, eventi e funzioni di callback.

Proprietà


NomeTipoPredefinitoDescrizione
consent.necessarybooltrueTrue, se l'utente corrente ha accettato i cookie necessari. La proprietà è di sola lettura.
consent.preferencesboolfalseTrue, se l'utente corrente ha accettato i cookie di preferenza. La proprietà è di sola lettura.
consent.statisticsboolfalseTrue, se l'utente corrente ha accettato i cookie statistici. La proprietà è di sola lettura.
consent.marketingboolfalseTrue, se l'utente corrente ha accettato i cookie di marketing. La proprietà è di sola lettura.
consentedboolfalseTrue, se l'utente ha accettato i cookie. La proprietà è di sola lettura.
declinedboolfalseTrue, se l'utente ha rifiutato l'uso dei cookie, La proprietà è di sola lettura.
hasResponseboolfalseTrue, se l'utente ha risposto alla finestra di dialogo con 'accetta' o 'rifiuta'. La proprietà è di sola lettura.
doNotTrackboolfalseTrue, 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.
regulations.gdprAppliesboolfalseConsente di determinare se il GDPR sia applicabile sulla base della geolocalizzazione dell'utente. La proprietà è di sola lettura.
regulations.ccpaAppliesboolfalseConsente di determinare se il CCPA sia applicabile sulla base della geolocalizzazione dell'utente. La proprietà è di sola lettura.
regulations.lgpdAppliesboolfalseConsente di determinare se la LGPD sia applicabile sulla base della geolocalizzazione dell'utente. La proprietà è di sola lettura.

Metodi


NomeParametriDescrizione
showNessunoForza la visualizzazione della finestra di dialogo di consenso dei cookie.
hideNessunoForza il nascondimento della finestra di dialogo del consenso.
renewNessunoMostra 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.
getScriptstring 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.
runScriptsNessunoValuta 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.
withdrawNessunoRevoca il consenso per questo sito internet.
submitCustomConsentbool optinPreferences,
bool optinStatistics,
bool optinMarketing
Va utilizzato al di fuori del contesto del cookie banner, ad esempio come pulsante nell'intestazione/piè di pagina (header/footer) del tuo sito per scegliere se accettare o meno i cookie - Oppure può servire per aggiungere al tuo banner un pulsante che permetta un consenso parziale, ad esempio "Accetta le preferenze e le statistiche".
<a href="javascript: Cookiebot.renew()">Rinnova o modifica la tua autorizzazione ai cookie</a>

Gestione dell'evento


NomeDescrizione
CookiebotOnConsentReadyL'evento viene attivato quando lo stato di consenso dell'utente è disponibile, sia che venga inviato, sia che venga caricato da un cookie esistente. Presta attenzione a questo evento se hai bisogno di recuperare il consenso dell'utente ed eseguire quanto prima altri script, sulla base dei parametri del consenso.
CookiebotOnLoadL'evento viene attivato contemporaneamente all'evento window.onload una volta che il consenso dell'utente è stato caricato - ovvero quando l'utente invia il proprio consenso o quando l'utente naviga verso una pagina in cui il consenso è già stato espresso.
CookiebotOnAcceptL'evento viene attivato se l'utente accetta l'utilizzo dei cookie. L'evento viene attivato anche se l'utente ha acconsentito in occasione di una precedente visita al sito web.
CookiebotOnDeclineL'evento viene attivato se l'utente rifiuta l'utilizzo dei cookie, facendo clic sul pulsante 'rifiuta' nella finestra di dialogo dei cookie. L'evento viene attivato anche se l'utente ha già rifiutato in occasione di una precedente visita al sito web.
CookiebotOnDialogInitSi attiva quando il banner di consenso dei cookie viene inizializzato, prima di compilare il contenuto del banner.
CookiebotOnDialogDisplaySi attiva quando il banner di consenso dei cookie viene visualizzato all'utente finale.
CookiebotOnTagsExecutedSi attiva quando i tag contrassegnati per consenso preventivo (ad esempio l'attributo "data-cookieconsent") sono stati attivati.
<script type="text/javascript">

      window.addEventListener('CookiebotOnAccept', function (e) {
      if (Cookiebot.consent.marketing)
          {
          //Execute code that sets marketing cookies
          }
      }, false);

</script>

Richiami


NomeDescrizione
CookiebotCallback_OnLoadIl callback asincrono viene attivato a fronte del caricamento del cookie banner per ottenere il consenso dell'utente.
CookiebotCallback_OnAcceptIl 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_OnDeclineIl 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.
CookiebotCallback_OnDialogInitSi attiva quando il banner di consenso dei cookie viene inizializzato, prima di compilare il contenuto del banner.
CookiebotCallback_OnDialogDisplaySi attiva quando il banner di consenso dei cookie viene visualizzato all'utente finale.
CookiebotCallback_OnTagsExecutedSi attiva quando i tag contrassegnati per consenso preventivo (ad esempio l'attributo "data-cookieconsent") sono stati attivati.

Nota che questo esempio è rilevante solo se il data-blockingmode non è stato impostato su "auto", e se lo script per il data-cookieconsent non è stato contrassegnato.

<script type="text/javascript">
   function CookiebotCallback_OnAccept() {
         if (Cookiebot.consent.statistics)            
{      
enableStatisticsCookies();              
}
}
function enableStatisticsCookies() {  
        //Esegue il codice che imposta i cookie statistici
      }  
</script>

Attributi dati tag dello script


NomeTipoObbligatorioDescrizione
data-cbidstringL'ID univoco per il tuo gruppo di dominio Cookiebot.
data-typestringnoSostituisci il tipo di finestra di dialogo predefinito con uno dei seguenti valori:
"optin", "optout", "optinout", "leveloptin", "inlineoptin", "optionaloptin"
data-levelstringnoSostituisci il metodo di consenso predefinito con uno dei seguenti valori: "implicito", "categorico"
data-culturestringnoPer 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.
data-frameworkstringnoabilita che Cookiebot può segnalare consentimento ad altri quadri di consentimento, implementati su un sito web - in aggiunta al quadro di consentimento standard contenuto in Cookiebot. Il valore dell'attributo deve corrispondere all'abbreviazione per il quadro esterno. Attualmente sono supportati i seguenti quadri di consentimento di terze parti: Abbreviazione "IAB": IAB Europe Transparency & Consent Framework
data-blockingmodestringnoDefinisce se Cookiebot deve bloccare automaticamente tutti i cookie fino a quando un utente non ha acconsentito, valore: "auto". In caso contrario, (valore: "none") gli script di impostazione dei cookie devono essere contrassegnati manualmente come descritto nella nostra guida all'implementazione manuale. Se si omette questo attributo, il comportamento sarà uguale al valore: "none".
data-consentmodestringnoTi permette di disabilitare Google Consent Mode facendo passare il valore "disabled".

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.

  • C#
  • PHP
  • VB
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