Cookiebot

Programmation de Cookiebot

Vous trouverez ci-dessous des informations techniques avancées, principalement destinées aux développeurs. Si vous cherchez notre guide d’installation par défaut sur la façon de démarrer avec Cookiebot, vous pouvez le trouver ici.

Sur cette page, vous trouverez notre documentation sur le kit de développement logiciel (SDK) permettant de créer des installations personnalisées des bandeaux et du contrôle des cookies. Ainsi que les options pour la substitution manuelle des mécanismes automatisés de notre bandeau de consentement aux cookies.

Pour que le SDK ci-dessous fonctionne, le script Cookiebot doit être installé sur votre site web. 

Chargez le script de consentement du cookie via :

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

Ou :

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

(avec l’attribut data-cbid=’00000000-0000-0000-0000-000000000000′)

N’oubliez pas de remplacer 00000000-0000-0000-0000-00000000000000 par votre propre ID de groupe de domaines se trouvant sous « Vos scripts » sur votre compte Cookiebot. 

Le script Cookiebot charge et construit un objet JavaScript côté client nommé « Cookiebot » qui expose les propriétés publiques, méthodes, événements et fonctions de rappel suivants. 

Propriétés


NomTypePar défautDescription
consent.necessarybooltrueVrai si l’utilisateur actuel a accepté les cookies nécessaires. Propriété en lecture seule.
consent.preferencesboolfalseVrai si l’utilisateur actuel a accepté les cookies de préférences. Propriété en lecture seule.
consent.statisticsboolfalseVrai si l’utilisateur actuel a accepté les cookies statistiques. Propriété en lecture seule.
consent.marketingboolfalseVrai si l’utilisateur actuel a accepté les cookies marketing. Propriété en lecture seule.
consentedboolfalseVrai si l’utilisateur a accepté les cookies. Propriété en lecture seule.
declinedboolfalseVrai si l’utilisateur a refusé l’utilisation des cookies. Propriété en lecture seule.
hasResponseboolfalseVrai si l’utilisateur a répondu “J’accepte” ou “Je n’accepte pas” dans la boîte de dialogue. Propriété en lecture seule.
doNotTrackboolfalseVrai si l’utilisateur a activé le paramètre “Do not track” (DNT) dans le navigateur. Si DNT est activé, le cookie tiers CookieConsentBulkTicket utilisé pour le consentement en bloc ne sera pas installé par Cookiebot. Propriété en lecture seule.
regulations.gdprAppliesboolfalseVous permet de déterminer si le RGPD s’applique en fonction de la géolocalisation de l’utilisateur. La propriété est en lecture seule.
regulations.ccpaAppliesboolfalseVous permet de déterminer si le CCPA s’applique en fonction de la géolocalisation de l’utilisateur. La propriété est en lecture seule.
regulations.lgpdAppliesboolfalseVous permet de déterminer si le LGPD s’applique en fonction de la géolocalisation de l’utilisateur. La propriété est en lecture seule.

Méthodes


NomParamètresDescription
showAucunForce l’affichage de la boîte de dialogue de consentement aux cookies.
hideAucunAffiche la boîte de dialogue de consentement aux cookies sur le site Web utilisateur pour renouveler ou modifier l’état du consentement de l’utilisateur.
getScriptstring URL,
bool async,
func callback
Charge un fichier Javascript. URL : chemin d’accès absolu vers le fichier Javascript.
async (Optionnel): Détermine si le script devrait se charger de manière asynchrone.
callback (Optionnel): Fonction JavaScript à exécuter lorsque le script a fini de se charger.
runScriptsAucunÉvalue toutes les balises de scripts chargés de type “text/plain” avec l’attribut “data-cookieconsent” et exécute les scripts conformément à l’état de consentement de l’utilisateur. À utiliser pour les sites Web dont le contenu est chargé de façon dynamique, p. ex. les applications de page unique. Les scripts n’étant exécutés qu’une seule fois, cette fonction peut être appelée plusieurs fois en toute sécurité, notamment chaque fois qu’un nouveau contenu est chargé.
withdrawAucunSupprimer mon accord pour ce site.
submitCustomConsentbool optinPreferences,
bool optinStatistics,
bool optinMarketing
Utilisez ceci en dehors du contexte du bandeau cookie, comme un bouton dans l’en-tête/le pied de page de votre site pour activer ou désactiver les cookies – ou pour ajouter un bouton à votre bandeau qui permet un consentement partiel, par exemple “Accepter les préférences et les statistiques”.

Exemple de valeur: Si vous préférez de ne pas utiliser le widget Cookiebot CMP, vous pourriez vouloir créer un lien personnalisé permettant à l’utilisateur de modifier ou de renouveler le consentement aux cookies. Nous conseillons toujours d’utiliser le widget Cookiebot CMP pour obtenir la meilleure expérience utilisateur

<a href="javascript: Cookiebot.renew()">Renouveler ou modifier votre consentement aux cookies</a>

Gestion d’événement


NomDescription
CookiebotOnConsentReadyL’événement est déclenché lorsque l’état de consentement de l’utilisateur est prêt, qu’il soit soumis ou chargé à partir d’un cookie existant. Recherchez cet événement si vous avez besoin de récupérer le consentement de l’utilisateur et d’exécuter des scripts supplémentaires dès que possible en fonction des valeurs de consentement.
CookiebotOnLoadL’événement est déclenché en même temps que l’événement window.onload lorsque le consentement de l’utilisateur a été chargé – soit lorsque l’utilisateur donne son consentement, soit lorsqu’il navigue sur une page où le consentement a déjà été donné.
CookiebotOnAcceptL’événement se déclenche si l’utilisateur accepte l’usage des cookies. Il se déclenche également si l’utilisateur a donné son consentement lors d’une visite précédente.
CookiebotOnDeclineL’événement se déclenche si l’utilisateur refuse l’usage des cookies en cliquant sur le bouton de refus dans la boîte de dialogue de consentement. L’événement se déclenche également si l’utilisateur a déjà refusé cet usage lors d’une visite précédente.
CookiebotOnDialogInitSe déclenche lorsque la bannière de consentement des cookies est initialisée, avant de compiler le contenu de la bannière.
CookiebotOnDialogDisplaySe déclenche lorsque la bannière de consentement des cookies est affichée pour l’utilisateur final.
CookiebotOnTagsExecutedSe déclenche lorsque des balises marquées pour un consentement préalable (par exemple, l’attribut “data-cookieconsent”) ont été déclenchées.

Exemple de valeur: Charger des cookies marketing si l’utilisateur a accepté

<script type="text/javascript">

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

</script>

Rappels


NomDescription
CookiebotCallback_OnLoadLe rappel asynchrone est déclenché lorsque la bannière du cookie a été chargée pour obtenir le consentement de l’utilisateur.
CookiebotCallback_OnAcceptLe rappel asynchrone se déclenche lorsque l’utilisateur clique sur le bouton d’acceptation dans la boîte de dialogue de consentement aux cookies et chaque fois qu’un utilisateur ayant donné son consentement charge une page.
CookiebotCallback_OnDeclineLe rappel asynchrone se déclenche lorsque l’utilisateur refuse l’utilisation des cookies en cliquant sur le bouton de refus dans la boîte de dialogue de consentement aux cookies. Le rappel se déclenche également chaque fois qu’un utilisateur ayant refusé l’utilisation des cookies charge une page.
CookiebotCallback_OnDialogInitSe déclenche lorsque la bannière de consentement des cookies est initialisée, avant de compiler le contenu de la bannière.
CookiebotCallback_OnDialogDisplaySe déclenche lorsque la bannière de consentement des cookies est affichée pour l’utilisateur final.
CookiebotCallback_OnTagsExecutedSe déclenche lorsque des balises marquées pour un consentement préalable (par exemple, l’attribut “data-cookieconsent”) ont été déclenchées.

Exemple de valeur: Charger les cookies de statistiques si l’utilisateur les a choisis


Veuillez noter que cet exemple est pertinent uniquement si vous n’avez pas défini le data-blockingmode sur “auto” et si vous n’avez pas balisé votre script pour le contrôle avec data-cookieconsent.

<script type="text/javascript">
     function CookiebotCallback_OnAccept() {
           if (Cookiebot.consent.statistics)            
{      
enableStatisticsCookies();              
}
}
function enableStatisticsCookies() {  
          //Exécuter le code qui installe des cookies de statistiques 
        }  
</script>

Attributs des données de balise du script


NomTypeObligatoireDescription
data-cbidstringouiL’identifient unique de votre groupe de domaines Cookiebot.
data-typestringnonRemplace le type de boîte de dialogue par défaut par l’une des valeurs suivantes :
“optin”, “optout”, “optinout”, “leveloptin”, “inlineoptin”, “optionaloptin”
data-levelstringnonRemplace la méthode de consentement par défaut par l’une des valeurs suivantes : “implicite”, “explicite”
data-culturestringnonPour forcer une variante de langue spécifique dans la boîte de dialogue, définissez la valeur de cet attribut selon un code de langue neutre ISO 639-1, par exemple “EN” pour l’anglais. La définition de cet attribut avec une langue valide remplace le paramètre “Détection automatique de la langue de l’utilisateur” dans le gestionnaire Cookiebot.
data-frameworkstringnonPermet à Cookiebot de signifier le consentement à d’autres cadres de consentement mis en œuvre sur un site Web – en plus du cadre de consentement standard contenu dans Cookiebot. La valeur de l’attribut doit correspondre à l’abréviation du cadre externe. Actuellement, les cadres de consentement de tierces parties suivants sont pris en charge : Abréviation “IAB” : IAB Europe Transparent & Consent Framework
data-blockingmodestringnonDéfinit si Cookiebot doit automatiquement bloquer tous les cookies jusqu’à ce qu’un utilisateur y consente, valeur : “auto”. Si ce n’est pas le cas (valeur : “none”), les scripts de configuration des cookies doivent être manuellement balisés comme décrit dans notre guide d’implémentation manuelle. Si vous omettez cet attribut, le comportement sera égal à la valeur : “none”.
data-consentmodestringnonVous permet de désactiver le Mode Consentement de Google en passant une valeur “disabled”.

Exemple de valeur: Forcer l’affichage en anglais de la boîte de dialogue de consentement

<script id="Cookiebot" data-culture="EN" src="https://consent.cookiebot.com/uc.js" data-cbid="00000000-0000-0000-0000-000000000000" type="text/javascript"></script>

Utilisation côté serveur


Si des cookies sont paramétrés côté serveur par votre site web, vous pouvez déterminer le type de cookies que vous êtes autorisé à installer en vérifiant le statut de consentement actuel des utilisateurs via la gestion standard des cookies.

  • 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