Iubenda logo
Generér

Dokumentation

Indhold

Sådan migrerer du samtykker fra en tidligere udbyder til Privacy Controls and Cookie Solution

Hvis du skifter fra en anden cookie-administrationsløsning til vores, kan det være en god idé at overføre de samtykker, du allerede har indsamlet. Dette er nyttigt for at sikre, at brugere, der allerede har givet deres samtykke i henhold til den tidligere løsning, ikke præsenteres for cookiebanneret og den tilhørende anmodning om samtykke igen.

Der er to måder at gøre det på, afhængigt af om den “gamle” platform leverer en cookie(synkron metode) eller kræver et kald til dens API(asynkron metode).

Synkron metode

Før du integrerer Privacy Controls and Cookie Solution, skal du definere en synkron funktion (f.eks. isConsentGivenByOtherPlatform) for at få samtykke fra den anden platform:

<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>
Vigtigt

Du skal ikke kopiere og indsætte koden ovenfor – det er bare et eksempel på kode, som vi har givet dig for at hjælpe dig med at forstå fremgangsmåden.

Tilføj derefter snippet Privacy Controls and Cookie Solution, og påkald tilbagekaldet onReady:

<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>

Tilbagekaldet til onReady kontrollerer, om der allerede er givet samtykke på en anden platform, og gemmer det i så fald ved at kalde metoden _iub.cs.api.setPreferences().

Samtykke pr. kategori

_iub.cs.api.storeConsent() gør det også muligt at tilpasse formål i argumentet, som kan være {consent: true}, {consent: false} eller {purposes: {1: true, 2: false, …}}.

Asynkron metode

Før du indlejrer koden til Privacy Controls and Cookie Solution, skal du definere en funktion, der:

  1. accepterer et tilbagekald;
  2. opdager samtykket;
  3. gemmer samtykket i en global variabel; og
  4. påkalder tilbagekaldelsen bagefter.

Her er et eksempel:

<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>
Vigtigt

Du skal ikke kopiere og indsætte koden ovenfor – det er bare et eksempel på kode, som vi har givet dig for at hjælpe dig med at forstå fremgangsmåden.

Tilføj derefter snippet Privacy Controls and Cookie Solution, og påkald onReady callback:

<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>

Tilbagekaldet til onReady tjekker, om der allerede er givet samtykke på en anden platform, og gemmer det i så fald ved at kalde metoden _iub.cs.api.setPreferences().

Samtykke pr. kategori

_iub.cs.api.storeConsent() gør det også muligt at tilpasse formål i argumentet, som kan være {consent: true}, {consent: false} eller {purposes: {1: true, 2: false, …}}.

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

Metoden _iub.cs.api.setPreferences forventer to argumenter: consentObj (påkrævet) og hideBanner (valgfrit).

consentObj

Det er et objekt med følgeindstillinger:

  • samtykke – påkrævet – accepterer true eller false – Det refererer til generelt samtykke
  • ccpa – påkrævet, hvis CCPA er aktiveret – accepterer true eller false – det henviser til amerikansk privatliv, og det vil kun blive anvendt, hvis CCPA er aktiveret i Cookie Solution
  • uspr – påkrævet, hvis USPR er aktiveret – accepterer et objekt med følgende muligheder – det henviser til USPR-samtykke, og det vil kun blive anvendt, hvis USPR er aktiveret i Cookieløsningen
    • all – accepterer true eller false – denne indstilling indstiller den samme værdi til alle formål
uspr: {
   all: true // or false
}
  • [purposeId] – accepterer true eller false – denne indstilling indstiller værdien til specifikke ID-formål
uspr: {
   's': true, // or false
   'sh': false, // or true
   'adv': false // or true
}
  • formål – påkrævet, hvis perPurposeConsent er aktiveret – accepterer et objekt med følgende muligheder – det henviser til samtykke til formål, og det vil kun blive anvendt, hvis perPurposeConsent er aktiveret i Cookie Solution
    • all – accepterer true eller false – denne indstilling indstiller den samme værdi til alle formål
purposes: {
   all: true // or false
}
  • [purposeId] – accepterer true eller false – denne indstilling indstiller værdien til specifikke ID-formål
purposes: {
   '1': true, // or false
   '2': false, // or true
   '4': false // or true
}
  • tcfv2 – påkrævet, hvis TCF er aktiveret – accepterer et objekt med følgende muligheder – det henviser til TCF-samtykke, og det vil kun blive anvendt, hvis TCF er aktiveret i Cookieløsningen
    • all – accepterer true eller false – denne indstilling indstiller den samme værdi til alle TCF-formål
tcfv2: {
   all: true // or false
}
  • [string] – accepterer en TCF-streng
tcfv2: 'CP9rVEAP9rVEAB7FGCENAyEgAAAAAAAAAAAAAAAUHgJAA4AM-AjwBKoDfAHbAO5AgoBIgCSgEowJaATHAmSBNICfYFBAKDgAAAAA'
  • gac – påkrævet, hvis Google Aditional Consent er aktiveret – accepterer et objekt med følgende muligheder – det henviser til GAC-samtykke, og det anvendes kun, hvis GAC er aktiveret i Cookie Solution
    • all – accepterer true eller false – denne indstilling indstiller den samme værdi for alle GAC-leverandører
gac: {
   all: true // or false
}
  • [string] – accepterer en GAC-streng
gac: '1~1584.2292.2392'

hideBanner

Det er en boolean for at skjule eller ikke skjule banneret efter præferencelageret, i dette tilfælde skal det altid være 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

Se også