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-000000000000O 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.
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. |
regulations.gdprApplies | bool | false | Consente di determinare se il GDPR sia applicabile sulla base della geolocalizzazione dell'utente. La proprietà è di sola lettura. |
regulations.ccpaApplies | bool | false | Consente di determinare se il CCPA sia applicabile sulla base della geolocalizzazione dell'utente. La proprietà è di sola lettura. |
regulations.lgpdApplies | bool | false | Consente di determinare se la LGPD sia applicabile sulla base della geolocalizzazione dell'utente. La proprietà è di sola lettura. |
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 |
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>
Nome | Descrizione |
CookiebotOnConsentReady | L'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. |
CookiebotOnLoad | L'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. |
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. |
<script type="text/javascript">
window.addEventListener('CookiebotOnAccept', function (e) {
if (Cookiebot.consent.marketing)
{
//Execute code that sets marketing cookies
}
}, false);
</script>
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. |
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>
Nome | Tipo | Obbligatorio | Descrizione |
data-cbid | string | sì | 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", "optionaloptin" |
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". |
<script id="Cookiebot" data-culture="EN" src="https://consent.cookiebot.com/uc.js" data-cbid="00000000-0000-0000-0000-000000000000" type="text/javascript"></script>
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 conforme l'uso dei cookie e del tracciamento online sul tuo sito ora!
Provalo gratuitamente