Logo Logo
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à


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 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.
submitCustomConsent bool optinPreferences,
bool optinStatistics,
bool optinMarketing
Invia il consenso tramite javascript. Questo può essere utile se desideri utilizzare un banner personalizzato.

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>

Gestione dell'evento


Nome Descrizione
CookiebotOnLoad L'evento viene attivato a fronte del caricamento del cookie banner per ottenere il consenso dell'utente.
CookiebotOnAccept L'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.
CookiebotOnDecline L'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.
CookiebotOnDialogInit Si attiva quando il banner di consenso dei cookie viene inizializzato, prima di compilare il contenuto del banner.
CookiebotOnDialogDisplay Si attiva quando il banner di consenso dei cookie viene visualizzato all'utente finale.
CookiebotOnTagsExecuted Si attiva quando i tag contrassegnati per consenso preventivo (ad esempio l'attributo "data-cookieconsent") sono stati attivati.

Esempio: Carica i cookie per il marketing se l'utente ha accettato

<script type="text/javascript">

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

Richiami


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.
CookiebotCallback_OnDialogInit Si attiva quando il banner di consenso dei cookie viene inizializzato, prima di compilare il contenuto del banner.
CookiebotCallback_OnDialogDisplay Si attiva quando il banner di consenso dei cookie viene visualizzato all'utente finale.
CookiebotCallback_OnTagsExecuted Si attiva quando i tag contrassegnati per consenso preventivo (ad esempio l'attributo "data-cookieconsent") sono stati attivati.

Esempio: Caricare i cookie statistici se l'utente li ha attivati in precedenza


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


Nome Tipo Obbligatorio Descrizione
data-cbid string L'ID univoco per il tuo gruppo di dominio 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.
data-framework string no abilita 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-blockingmode string no Definisce 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".

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 "-1":
                    //L'utente non è in una regione che richiede consenso - tutti i cookie sono accettati
                    break;
              default: //L'utente ha dato il consenso
                    //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"] && !CookieConsent["statistics"] && !CookieConsent["marketing"])
                     {
                         //L'utente ha disattivato i cookie; impostare solo i cookie strettamente necessari
                     }
                     else
                     {
                     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 "-1":
                  //L'utente non è in una regione che richiede consenso - tutti i cookie sono accettati
                  break;
            default: //L'utente ha dato il consenso
                  //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)
&& !filter_var($CookieConsent->statistics, FILTER_VALIDATE_BOOLEAN) && !
filter_var($CookieConsent->marketing, FILTER_VALIDATE_BOOLEAN))
                  {
                         //L'utente ha disattivato i cookie; impostare solo i cookie strettamente necessari
                  }
                  else
                  {
                  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 "-1"
                  REM L'utente non è in una regione che richiede consenso - tutti i cookie sono accettati
                  Exit Select
            Case Else REM L'utente ha dato il consenso
                  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 Not CookieConsent("preferences") And Not
CookieConsent("statistics") And Not CookieConsent("marketing") Then
                  REM L'utente ha disattivato i cookie; impostare solo i cookie strettamente necessari
                  Else
                  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 If
      End Select
Else
      REM L'utente non ha accettato i cookie - imposta solo i cookie strettamente necessari
End If

Rendi l'uso dei cookie e del tracciamento online sul tuo sito conforme al GDPR/ePR oggi stesso

Provalo gratuitamente