Iubenda logo
Générer dès maintenant

Documentation

Sommaire

Blocage préalable des cookies : Google AdSense et Ad Manager

Google AdSense

Voici la procédure originale, qui consiste à ajouter deux scripts à vos pages :

<script>
    google_ad_client = "ca-pub-00000000";
    google_ad_slot = "XXXXXXXXXX";
    google_ad_width = 728;
    google_ad_height = 90;
</script>
<script src="//pagead2.googlesyndication.com/pagead/show_ads.js"></script>

Pour vous assurer que les bannières de Google AdSense ne déposent aucun cookie tant que l’utilisateur n’a pas donné son consentement, vous devez procéder aux modifications suivantes :

Définissez la fonction iubenda_adsense_unblock et associez-la à la fonction de rappel onConsentGiven :

<script>
    function iubenda_adsense_unblock() {
        var t = 1;
        $('._iub_cs_activate_google_ads').each(function() {
            var banner = $(this);
            setTimeout(function() {
                var client = banner.data('client');
                var slot = banner.data('slot');
                var width = banner.data('width');
                var height = banner.data('height');
                var adsense_script = '<scr' + 'ipt type="text/javascript">\n' +
                    'google_ad_client = "' + client + '";\n' +
                    'google_ad_slot = "' + slot + '";\n' +
                    'google_ad_width = ' + width + ';\n' +
                    'google_ad_height = ' + height + ';\n' +
                    '</scr' + 'ipt>';
                var script = document.createElement('script');
                var ads = document.createElement('ads');
                var w = document.write;

                // override and replace with our version
                document.write = (function(params) {
                    // replace our placeholder with real ads
                    ads.innerHTML = params;
                    // put the old implementation back in place
                    // Aristos, add this check because called more than ones
                    //  and ends, with this symbol.
                    if (params.indexOf("</ins>") != -1)
                        document.write = w;
                });
                script.setAttribute('type', 'text/javascript');
                script.setAttribute('src', 'http://pagead2.googlesyndication.com/pagead/show_ads.js');
                script.setAttribute('async', 'async');
                banner.html(adsense_script).append(ads).append(script);
            }, t);
            t += 200;
        });
    }

    if ('callback' in _iub.csConfiguration) {
        _iub.csConfiguration.callback.onConsentGiven = iubenda_adsense_unblock;
    } else {
        _iub.csConfiguration.callback = {};
        _iub.csConfiguration.callback.onConsentGiven = iubenda_adsense_unblock;
    }
</script>

Vous devriez insérer le code ci-dessus juste après la configuration de la Cookie Solution de iubenda dans votre code HTML.

Créez des sections div pour chaque bannière et affectez-leur les attributs de type data- ainsi que la classe _iub_cs_activate_google_ads :

<div style="width: 728px; height:90px;" class="_iub_cs_activate_google_ads"
    data-client="ca-pub-00000000"
    data-slot="XXXXXXXXXX"
    data-width="728"
    data-height="90">
</div>

Google Ad Manager

Pour vous assurer que Google Ad Manager (qui s’appelait auparavant DFP, soit DoubleClick for Publishers) ne peut installer des cookies qu’après l’obtention du consentement de l’utilisateur, vous devez utiliser la méthode décrite ci-dessous. La Cookie Solution de iubenda pourra alors interagir avec Google Ad Manager afin de bloquer le suivi lorsqu’elle ne détectera pas le cookie de préférence iubenda dans le navigateur de l’utilisateur.

Code avant modifications

Le premier code permet d’inclure les scripts de Google Ad Manager :

<script async src="//securepubads.g.doubleclick.net/tag/js/gpt.js"></script>  
<script>var googletag = window.googletag || {cmd: []};</script>
<script>
    googletag.cmd.push(function() {
        googletag.pubads().set("adsense_background_color", "FFFFFF");
    });
</script>
<script>
    googletag.cmd.push(function() {
        googletag.defineSlot('/1010125/Prontoimprese/Ros/300x250Top-ProntoImprese-Ros', [
            [300, 250],
            [300, 600]
        ], 'div-gpt-ad-1330418177496-1').addService(googletag.pubads());
        googletag.pubads().enableSingleRequest();
        googletag.enableServices();
    });
</script>

Le second code permet d’intégrer les éléments d’une bannière Google Ad Manager :

<div id="div-gpt-ad-1330418177496-1">
    <script>
        googletag.cmd.push(function() {
            googletag.display("div-gpt-ad-1330418177496-1");
        });
    </script>
</div>

Modifications nécessaires au bon fonctionnement de la Cookie Solution de iubenda

Ajoutez aux scripts de Google Ad Manager la classe _iub_cs_activate et l’attribut data-iub-purposes="5" (nécessaire au consentement par catégorie) :

<script async type="text/plain" class="_iub_cs_activate" data-iub-purposes="5" src="//securepubads.g.doubleclick.net/tag/js/gpt.js"></script>  
<script>var googletag = window.googletag || {cmd: []};</script>
<script type="text/plain" class="_iub_cs_activate" data-iub-purposes="5">
    googletag.cmd.push(function () {
        googletag.pubads().set("adsense_background_color", "FFFFFF");
    });
</script>
<script type="text/plain" class="_iub_cs_activate" data-iub-purposes="5">
    googletag.cmd.push(function() {
        googletag.defineSlot('/1010125/Prontoimprese/Ros/300x250Top-ProntoImprese-Ros', [[300, 250], [300, 600]], 'div-gpt-ad-1330418177496-1').addService(googletag.pubads());
        googletag.pubads().enableSingleRequest();
        googletag.enableServices();
    });
</script>

Ajoutez à chaque bannière de Google Ad Manager la classe _iub_cs_activate-inline et l’attribut data-iub-purposes="5" :

<div id="div-gpt-ad-1330418177496-1" style="width: 728px; height: 90px">
    <script type="text/plain" class="_iub_cs_activate-inline" data-iub-purposes="5">
        googletag.cmd.push(function () {
            googletag.display("div-gpt-ad-1330418177496-1");
        });
    </script>
</div>

Voir aussi