Iubenda logo
Generator starten

Anleitungen

INHALTSÜBERSICHT

Wie Sie Einwilligungen, welche bei einem früheren Anbieter verarbeitet wurden, auf die Cookie Solution übertragen können

Wenn Sie von einer anderen Cookie-Verwaltungslösung zu unserer Lösung wechseln, möchten Sie vielleicht Ihre bereits gesammelten Einwilligungen übertragen. Dies ist sinnvoll, damit Nutzer, die bereits unter der vorherigen Lösung ihre Einwilligung gegeben haben, nicht ein weiteres Mal mit dem Cookie-Banner und der damit verbundenen Aufforderung zur Einwilligung, konfrontiert werden.

Dafür gibt es zwei Möglichkeiten, je nachdem, ob die „alte“ Plattform entweder ein Cookie zur Verfügung gestellt hatte („synchrone“ Methode) oder die API aufgerufen werden musste („asynchrone“ Methode).

Synchrone Methode

Vor der Einbettung der Cookie Solution müssen Sie eine synchrone Funktion definieren (z. Bsp. isConsentGivenByOtherPlatform) um die Einwilligung der anderen Plattform einzuholen:

<script type="text/javascript">
    function readLocalCookie(cookieName) {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) { 
            var e=cookies[i].split('=');
            if (e[0] === cookieName) {
                return e[1];
            }
        }
        return null;
    }

    function isConsentGivenByOtherPlatform() {
        var otherPlatformCookieName = 'cookie_from_other_platform'; // use the actual cookie name saved by the other platform 
        var prevConsent = readLocalCookie(otherPlatformCookieName); 
        if (prevConsent) { 
            return true; 
        } else { 
            return false; 
        } 
    }
</script>
WICHTIG

Bitte kopieren Sie den oben dargestellten Code nicht – es handelt sich lediglich um Beispielcode, den wir Ihnen zum besseren Verständnis des Konzepts zur Verfügung gestellt haben.

Als Nächstes fügen Sie den Cookie Solution-Snippet hinzu und rufen den onBeforePreload-Callback auf:

<script type="text/javascript">
    var _iub = _iub || [];
    _iub.csConfiguration = {
        "lang": "en",
        "siteId": XXXXXX, // use your siteId
        "cookiePolicyId": YYYYYY, // use your cookiePolicyId
        "banner": {
            "acceptButtonDisplay": true,
            "customizeButtonDisplay": true,
            "position": "float-top-center"
        },
        "callback": {
            onBeforePreload: function() {
                if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) {
                    _iub.cs.api.storeConsent();
                }
            }
        }
    };
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>

Der onBeforePreload-Callback prüft, ob die Einwilligung bereits auf einer anderen Plattform erteilt wurde. Wenn dies der Fall ist, wird diese durch Aufruf der _iub.cs.api.storeConsent() -Methode gespeichert.

„Per-Kategorie“ Einwilligung

_iub.cs.api.storeConsent() erlaubt auch die Festlegung des Zwecks und akzeptiert ein optionales Argument, das {consent: true}, {consent: false} oder {purposes: {1: true, 2: false, …}}. Wenn kein Argument angegeben wird, verhält es sich, als ob {consent: true} übermittelt wurde.

Asynchrone Methode

Vor der Einbettung des Cookie Solution-Codes müssen Sie eine Funktion definieren, die

  1. einen Callback akzeptiert;
  2. die Einwilligung festlegen;
  3. die Einwilligung in einer globalen Variablen speichert; und
  4. den Callback danach aufruft.

Hier ist ein Beispiel:

<script type="text/javascript">
    // fetch consent asynchronously from 3rd party 
    function getConsentByOtherPlatform(cb) {
        $.getJSON('http://otherplatform.com/api/get-consent', function(result) {
            if (result.given) {
                window.consentByOtherPlatform = true;
            } else {
                window.consentByOtherPlatform = false;
            }
            cb();
        });
    }

    function isConsentGivenByOtherPlatform() {
        return !!window.consentByOtherPlatform;
    }
</script>
WICHTIG

Bitte kopieren Sie den oben dargestellten Code nicht – es handelt sich lediglich um Beispielcode, den wir Ihnen zum besseren Verständnis des Konzepts zur Verfügung gestellt haben.

Fügen Sie als Nächstes das Cookie Solution-Snippet hinzu und rufen Sie denonBeforePreload-Callback auf:

<script type="text/javascript">
    var _iub = _iub || [];
    _iub.csConfiguration = {
        "lang": "en",
        "siteId": XXXXXX, // use your siteId
        "cookiePolicyId": YYYYYY, // use your cookiePolicyId
        "banner": {
            "acceptButtonDisplay": true,
            "customizeButtonDisplay": true,
            "position": "float-top-center"
        },
        "callback": {
            onBeforePreload: function() {
                if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) {
                    _iub.cs.api.storeConsent();
                }
            }
        }
    };
</script>
<script type="text/javascript">
    // ask for 3rd party consent before including the CS
    getConsentByOtherPlatform(function() {
        var s = document.createElement('script');
        s.src = '//cdn.iubenda.com/cs/iubenda_cs.js';
        document.head.appendChild(s);
    });
</script>

Der onBeforePreload-Callback prüft, ob die Einwilligung bereits auf einer anderen Plattform erteilt wurde. Wenn dies der Fall ist, wird diese durch Aufruf der_iub.cs.api.storeConsent() -Methode gespeichert.

„Per-Kategorie“ Einwilligung

_iub.cs.api.storeConsent() erlaubt auch die Festlegung des Zwecks und akzeptiert ein optionales Argument, das {consent: true}, {consent: false} oder {purposes: {1: true, 2: false, …}}. Wenn kein Argument angegeben wird, verhält es sich, als ob {consent: true} übermittelt wurde.

Sehen Sie auch