Iubenda logo
Generator starten

Anleitungen

INHALTSÜBERSICHT

Wie Sie Einwilligungen von einem früheren Anbieter zur Privacy Controls and Cookie Solution migrieren

Wenn Sie von einer anderen Cookie-Verwaltungslösung zu unserer wechseln, möchten Sie vielleicht die bereits gesammelten Einwilligungen migrieren. Dies ist nützlich, um sicherzustellen, dass Benutzer, die ihre Zustimmung bereits im Rahmen der vorherigen Lösung gegeben haben, nicht erneut das Cookie-Banner und die damit verbundene Bitte um Zustimmung angezeigt bekommen.

Es gibt zwei Möglichkeiten, dies zu tun, je nachdem, ob die “alte” Plattform ein Cookie bereitstellt(synchrone Methode) oder einen Aufruf ihrer API erfordert(asynchrone Methode).

Synchrone Methode

Bevor Sie die Privacy Controls and Cookie Solution einbetten, müssen Sie eine synchrone Funktion (z.B. isConsentGivenByOtherPlatform) definieren, um die Zustimmung von der anderen Plattform zu erhalten:

<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

Kopieren Sie den oben gezeigten Code nicht und fügen Sie ihn nicht ein – es ist nur ein Beispielcode, den wir Ihnen zur Verfügung gestellt haben, damit Sie den Ansatz verstehen.

Als nächstes fügen Sie das Privacy Controls and Cookie Solution-Snippet hinzu und rufen den onReady 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": {
            "onReady": function() {
                if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) {
                    _iub.cs.api.setPreferences({
                        consent: true,
                        ccpa: true,
                        uspr: {
                            'all': true,
                            'sd8': true,
                            'sd9': true,
                        },
                        purposes: {
                            '1': true,
                            '2': true,
                            '3': true,
                            '4': true,
                            '5': true,
                        },
                        tcfv2: {
                            'all': true,
                        },
                        gac: {
                            'all': true,
                        },
                    }, true);
                }
            }
        }
    };
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>

Der onReady Callback prüft, ob die Zustimmung bereits auf einer anderen Plattform erteilt wurde, und speichert sie, falls dies der Fall ist, indem er die Methode _iub.cs.api.setPreferences() aufruft.

Kategoriebezogene Einwilligung

_iub.cs.api.storeConsent() erlaubt es auch, den Zweck im Argument {consent: true}, {consent: false} oder {purposes: {1: true, 2: false, …}} anzupassen.

Asynchrone Methode

Bevor Sie den Code für Privacy Controls and Cookie Solution einbetten, müssen Sie eine Funktion definieren, die:

  1. akzeptiert einen Rückruf;
  2. erkennt die Zustimmung;
  3. speichert die Zustimmung in einer globalen Variablen; und
  4. ruft den Rückruf im Anschluss auf.

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

Kopieren Sie den oben gezeigten Code nicht und fügen Sie ihn nicht ein – es ist nur ein Beispielcode, den wir Ihnen zur Verfügung gestellt haben, damit Sie den Ansatz verstehen.

Als nächstes fügen Sie das Privacy Controls and Cookie Solution Snippet hinzu und rufen den onReady 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": {
            "onReady": function() {
                if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) {
                    _iub.cs.api.setPreferences({
                        consent: true,
                        ccpa: true,
                        uspr: {
                            'all': true,
                            'sd8': true,
                            'sd9': true,
                        },
                        purposes: {
                            '1': true,
                            '2': true,
                            '3': true,
                            '4': true,
                            '5': true,
                        },
                        tcfv2: {
                            'all': true,
                        },
                        gac: {
                            'all': true,
                        },
                    }, true);
                }
                }
            }
        }
    };
</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 onReady Callback prüft, ob die Zustimmung bereits auf einer anderen Plattform erteilt wurde und speichert sie, falls dies der Fall ist, indem er die Methode _iub.cs.api.setPreferences() aufruft.

Kategoriebezogene Einwilligung

_iub.cs.api.storeConsent() erlaubt es auch, den Zweck im Argument {consent: true}, {consent: false} oder {purposes: {1: true, 2: false, …}} anzupassen.

_iub.cs.api.setPreferences(consentObj, hideBanner)

Die Methode _iub.cs.api.setPreferences, die zwei Argumente erwartet: consentObj (erforderlich) und hideBanner (optional)

consentObj

Es ist ein Objekt mit folgenden Einstellungen:

  • Zustimmung – erforderlich – akzeptiert true oder false – Es handelt sich um eine allgemeine Zustimmung
  • ccpa – erforderlich, wenn CCPA aktiviert ist – akzeptiert true oder false – es bezieht sich auf den US-Datenschutz und wird nur angewendet, wenn CCPA in Cookie Solution aktiviert ist
  • uspr – erforderlich, wenn USPR aktiviert ist – akzeptiert ein Objekt mit den folgenden Optionen – es bezieht sich auf die USPR-Zustimmung und wird nur angewendet, wenn USPR in Cookie Solution aktiviert ist
    • all – akzeptiert true oder false – diese Option setzt den gleichen Wert für alle Zwecke
uspr: {
   all: true // or false
}
  • [purposeId] – akzeptiert true oder false – diese Option legt den Wert für bestimmte ID-Zwecke fest
uspr: {
   's': true, // or false
   'sh': false, // or true
   'adv': false // or true
}
  • purposes – erforderlich, wenn perPurposeConsent aktiviert ist – akzeptiert ein Objekt mit den folgenden Optionen – es bezieht sich auf die Zustimmung zu den Zwecken und wird nur angewendet, wenn perPurposeConsent in Cookie Solution aktiviert ist
    • all – akzeptiert true oder false – diese Option setzt den gleichen Wert für alle Zwecke
purposes: {
   all: true // or false
}
  • [purposeId] – akzeptiert true oder false – diese Option legt den Wert für bestimmte ID-Zwecke fest
purposes: {
   '1': true, // or false
   '2': false, // or true
   '4': false // or true
}
  • tcfv2 – erforderlich, wenn TCF aktiviert ist – akzeptiert ein Objekt mit den folgenden Optionen – es bezieht sich auf die TCF-Zustimmung und wird nur angewendet, wenn TCF in Cookie Solution aktiviert ist
    • all – akzeptiert true oder false – diese Option setzt den gleichen Wert für alle TCF-Zwecke
tcfv2: {
   all: true // or false
}
  • [string] – akzeptiert eine TCF-Zeichenkette
tcfv2: 'CP9rVEAP9rVEAB7FGCENAyEgAAAAAAAAAAAAAAAUHgJAA4AM-AjwBKoDfAHbAO5AgoBIgCSgEowJaATHAmSBNICfYFBAKDgAAAAA'
  • gac – erforderlich, wenn Google Aditional Consent aktiviert ist – akzeptiert ein Objekt mit folgenden Optionen – es bezieht sich auf die GAC-Zustimmung und wird nur angewendet, wenn GAC in Cookie Solution aktiviert ist
    • all – akzeptiert true oder false – diese Option setzt den gleichen Wert für alle GAC-Anbieter
gac: {
   all: true // or false
}
  • [string] – akzeptiert eine GAC-Zeichenfolge
gac: '1~1584.2292.2392'

hideBanner

Es handelt sich um einen Booleschen Wert, mit dem Sie das Banner nach der Speicherung der Einstellungen ausblenden oder nicht ausblenden können, in diesem Fall sollte es immer true

_iub.cs.api.setPreferences({ ... }, true); // hide the banner after the preference storage

_iub.cs.api.setPreferences({ ... }, false); // keep the banner after the preference storage

Siehe auch