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. |
consent.method | string | null | Il modo in cui è stato dato il consenso. “Implicito” quando il consenso viene fornito automaticamente o “esplicito” quando viene fornito dall’utente. Se non vi è consenso, il valore è nullo. Se il metodo di consenso è sconosciuto (vecchi consensi), questo viene considerato “implicito”. 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. |
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 | 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”. |
Esempio: Se preferisci non usare il Menù di consenso Cookiebot CMP, potresti voler creare un link personalizzato che permette all’utente di modificare o rinnovare il consenso ai cookie. Suggeriamo comunque di utilizzare il Menù di consenso Cookiebot CMP per ottenere la migliore esperienza per l’utente.
<a href="javascript: Cookiebot.renew()">Rinnova o modifica la tua autorizzazione ai cookie</a>
Gestione dell’evento
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. |
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 | 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”. |
data-consentmode | string | no | Ti 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.
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