Programmering af Cookiebot

Nedenfor finder du avanceret teknisk information primært til udviklere. Hvis du leder efter vores standard implementeringsguide for at komme i gang med Cookiebot, kan den findes her.

På denne side vil du finde vores SDK dokumentation til at bygge tilpassede implementeringer af banner og cookiekontrol. Ligesom mulighederne for at tilsidesætte de automatiske mekanismer i vores cookie samtykkebanner med dine manuelle.  

For at nedenstående SDK skal virke, skal Cookiebot-scriptet være implementeret på din hjemmeside.

Indlæs cookie samtykke-scriptet via:

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

Eller som:

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

(med attributtet data-cbid=’00000000-0000-0000-0000-000000000000′)

Husk at erstatte 00000000-0000-0000-0000-000000000000 med dit domænegruppe-ID som kan findes under ”Dine scripts” på din Cookiebot-konto.

Cookiebot-scriptet indlæses og bygger et klientside-JavaScript-objekt kaldet ”Cookiebot”, som viser de følgende offentlige egenskaber, metoder, events og callback-funktioner.

Egenskaber

NavnTypeStandardBeskrivelse
consent.necessarybooltrueSand hvis den aktuelle bruger har accepteret nødvendige cookies. Egenskaben kan ikke ændres.
consent.preferencesboolfalseSand hvis den aktuelle bruger har accepteret præference-cookies. Egenskaben kan ikke ændres.
consent.statisticsboolfalseSand hvis den aktuelle bruger har accepteret statistik-cookies. Egenskaben kan ikke ændres.
consent.marketingboolfalseSand hvis den aktuelle bruger har accepteret marketing-cookies. Egenskaben kan ikke ændres.
consent.methodstringnullDen måde, hvorpå samtykket blev givet. Enten “underforstået”, når samtykket gives automatisk, eller “udtrykkeligt”, når det gives af brugeren. Hvis der ikke foreligger noget samtykke, er værdien nul. Hvis samtykkeformen er ukendt (gamle samtykker), betragtes den som “underforstået”. Egenskaben er skrivebeskyttet.
consentedboolfalseSand, hvis brugeren har accepteret cookies. Egenskaben kan ikke ændres.
declinedboolfalseSand, hvis brugeren har afslået brugen af ​​cookies. Egenskaben kan ikke ændres.
hasResponseboolfalseSand, hvis brugeren har svaret på dialog med enten accept eller afslag. Egenskaben kan ikke ændres.
doNotTrackboolfalseSand, hvis brugeren har aktiveret browserens ‘Do not track’-indstilling (DNT). Hvis DNT er aktiveret sætter Cookiebot ikke tredjeparts-cookien CookieConsentBulkTicket, som anvendes til massesamtykke. Egenskaben kan ikke ændres.
regulations.gdprAppliesboolfalseGør dig i stand til at se om GDPR gælder baseret på brugerens geolokation. Egenskaben kan ikke ændres.
regulations.ccpaAppliesboolfalseGør dig i stand til at se om CCPA gælder baseret på brugerens geolokation. Egenskaben kan ikke ændres.
regulations.lgpdAppliesboolfalseGør dig i stand til at se om LGPD gælder baseret på brugerens geolokation. Egenskaben kan ikke ændres.

Metoder

NavnParametreBeskrivelse
showIngenTvinger cookie-samtykke-dialogen til at blive vist.
hideIngenTvinger cookie-samtykke-dialogen til at blive skjult.
renewIngenViser samtykke-dialogboksen, så brugeren kan forny eller ændre sit samtykke.
getScriptstring URL,
bool async,
func callback
Indlæser en JavaScript-fil. URL: Absolut sti til JavaScript-fil.
async (Valgfri): Bestemmer om scriptet skal indlæses asynkront.
callback (Valgfri): Javascript-funktion, som skal eksekveres, når scriptet er indlæst.
runScriptsIngenEvaluerer alle indlæste script-tags af typen “text/plain” med attributten “data-cookieconsent” og eksekverer disse scripts i overensstemmelse med brugerens samtykke-tilstand. Til brug for websteder, der indlæser indhold dynamisk, f.eks. single page applications. Scripts eksekveres kun én gang, så denne funktion er sikker at kalde flere gange, f.eks hver gang nyt indhold er indlæst.
withdrawIngenTilbagekald mit samtykke for denne hjemmeside.
submitCustomConsentbool optinPreferences,
bool optinStatistics,
bool optinMarketing
Brug dette uden for cookiebannerets kontekst, f.eks. som en knap på din hjemmesides sidehoved/-fod til at til- eller fravælge cookies – Eller for at tilføje en knap til dit banner, der muliggør delvist samtykke, f.eks. til “Acceptér Præferencer og Statistikker”.
<a href="javascript: Cookiebot.renew()">Ændring af dit samtykke</a>

Eventhåndtering

NavnBeskrivelse
CookiebotOnConsentReadyUdløses, når brugerens samtykkestatus er klar, enten fordi det er blevet afgivet, eller lastet fra en eksisterende cookie. Lyt efter dette event, hvis du skal tilbagetrække brugerens samtykke og køre yderligere scripts snarest muligt baseret på samtykkeværdier.
CookiebotOnLoadUdløses på samme tid som window.onload eventet når brugerens samtykke er blevet lastet – enten når brugeren afgiver samtykke eller når brugeren navigerer til en side, hvor samtykke allerede er afgivet.
CookiebotOnAcceptEventen udløses, hvis brugeren accepterer brugen af ​​cookies. Eventen udløses også, hvis brugeren har givet sit samtykke ved et tidligere besøg på hjemmesiden.
CookiebotOnDeclineEventen udløses, hvis brugeren afviser brugen af ​​cookies ved at klikke på afslå-knappen i cookie-samtykke-dialogen. Eventen udløses også, hvis brugeren allerede har afslået cookies ved et tidligere besøg på hjemmesiden.
CookiebotOnDialogInitUdløses, når cookie-samtykkebanneret initialiseres, før kompilering af bannerindholdet.
CookiebotOnDialogDisplayUdløses, når cookie-samtykkebanneret vises til slutbrugeren.
CookiebotOnTagsExecutedUdløses, når tags markeret for forudgående samtykke (f.eks. attributten “data-cookieconsent”) er blevet udløst.

Eksempel: Load marketing-cookies, hvis brugeren har accepteret

<script type="text/javascript">

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

</script>

Callbacks

NavnBeskrivelse
CookiebotCallback_OnLoadDet asynkrone callback udløses, når cookiebanneret er blevet indlæst for at få brugerens samtykke.
CookiebotCallback_OnAcceptDet asynkrone callback udløses når en bruger klikker på accepter-knappen på samtykke-dialogen og hver gang en bruger, der tidligere har afgivet positivt samtykke, indlæser en side.
CookiebotCallback_OnDeclineDet asynkrone callback udløses når en bruger afviser brugen af ​​cookies ved at klikke på afslå-knappen i cookie-samtykke-dialogen. Funktionen udløses også hver gang en bruger, der tidligere har afvist brugen af cookies, indlæser en side.
CookiebotCallback_OnDialogInitUdløses, når cookie-samtykkebanneret initialiseres, før kompilering af bannerindholdet.
CookiebotCallback_OnDialogDisplayUdløses, når cookie-samtykkebanneret vises til slutbrugeren.
CookiebotCallback_OnTagsExecutedUdløses, når tags markeret for forudgående samtykke (f.eks. attributten “data-cookieconsent”) er blevet udløst.

Eksempel: Indlæs statistik-cookies hvis brugeren har givet samtykke til disse

Bemærk, at dette eksempel kun er relevant, hvis du ikke har sat data-blockingmode til “auto”, og hvis du ikke har opmærket dit script til kontrol med data-cookieconsent.

<script type="text/javascript">
      function CookiebotCallback_OnAccept() { 
            if (Cookiebot.consent.statistics)            
{       
enableStatisticsCookies();              
} 
} 
function enableStatisticsCookies() {  
           //Eksekvér kode, der sætter statistik-cookies 
         }  
</script> 

Script-tag dataattributter

NavnTypeObligatoriskBeskrivelse
data-cbidstringjaDet unikke ID for din Cookiebot domænegruppe.
data-typestringnejTilsidesætter standard-dialogboks-type med en af ​​følgende værdier:
“optin” (accepter), “optout” (afslå), “optinout” (accepter og afslå), “leveloptin” (multi-niveau på banner), “inlineoptin” (multi-niveau på detalje-panel), “optionaloptin” (opt-out som foreskrevet i California Consumer Privacy Act)
data-levelstringnejTilsidesætter standard-samtykke-metoden med en af ​​følgende værdier: “implied” (underforstået), “strict” (udtrykkeligt)
data-culturestringnejHvis du vil gennemtvinge et bestemt sprog, når samtykke-dialogen vises, sættes værdien af ​​denne attribut til en kultur-neutral ISO 639-1 sprogkode, f.eks. “DA” for dansk. Indstilling af denne egenskab med en gyldig sprogkode tilsidesætter indstillingen “Auto-detekter brugerens sprog” i Cookiebots manager.
data-frameworkstringnejGør det muligt for Cookiebot at signalere samtykke til andre samtykke-frameworks, som er implementeret på et website – ud over standard samtykke-frameworket indeholdt i Cookiebot. Værdien af attributten skal matche forkortelsen for det eksterne framework. For øjeblikket understøttes følgende tredjeparts samtykke-frameworks: Forkortelse “IAB”: IAB Europe Transparency & Consent Framework
data-blockingmodestringnejDefinerer, om Cookiebot automatisk skal blokere alle cookies indtil en bruger har givet sit samtykke: værdi: “auto”. Hvis ikke, (værdi: “none”) bør cookiesættende scripts opmærkes manuelt som beskrevet i vores manuelle implementeringsguide. Hvis du udelader denne attribut, vil handlingen være lig med værdien: “none”.
data-consentmodestringnejGiver dig mulighed for at deaktivere Google Consent Mode, ved at anvende værdien “disabled”.

Eksempel: Fremtving den engelsksprogede udgave af samtykke-dialogen

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

Server-side brug

Hvis dit websted sætter cookies server side, kan du aflæse hvilken type cookies, du har lov til at sætte, ved at kontrollere brugernes aktuelle samtykke-tilstand gennem standard cookie-håndtering.

  • 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

    Hold dig informeret

    Bliv en del af vores voksende community af databesky­ttelses­entusiaster nu. Tilmeld dig Cookiebot™-nyhedsbrevet for at få alle de seneste opdateringer direkte i din indbakke.

    Ved at klikke på "Abonner" bekræfter jeg, at jeg ønsker at abonnere på Cookiebot™-nyhedsbrevet. Jeg kan nemt opsige mit abonnement på Cookiebot™-nyhedsbrevet og tilbagekalde mit samtykke til at bruge mine data ved at klikke på afmeldingslinket. Alternativt kan jeg skrive til [email protected] for at fremsætte anmodningen. Privatlivspolitik.