Iubenda logo
Genera tus documentos

Documentación

Tabla de contenidos

Bloqueo previo de las cookies: Google AdSense y Ad Manager

Google AdSense

A continuación se muestra el procedimiento original, que permite incluir dos etiquetas de script a tus páginas:

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

Para asegurarte de que los banners de Google AdSense no guarden cookies antes de que se obtenga el consentimiento del usuario, tienes que hacer estos cambios:

Define la función iubenda_adsense_unblock asociándola al callback 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>

Deberías insertar el código anterior después de configurar la Cookie Solution de iubenda en tu html.

Crea secciones div para cada banner, dándoles atributos del tipo data y añadiendo la clase _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

Para asegurarte de que Google Ad Manager (previamente conocido como DFP, DoubleClick for Publishers) tan solo pueda instalar cookies después de obtener el consentimiento del usuario, tienes que utilizar el método descrito a continuación, para que la Cookie Solution de iubenda pueda conectarse con Google Ad Manager, bloqueando el seguimiento cuando la cookie de preferencia de iubenda no esté presente en el navegador del usuario.

Código sin modificaciones

Inserción del script 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>

Elementos únicos del banner de Google Ad Manager:

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

Modificaciones necesarias para el funcionamiento de la Cookie Solution de iubenda

Añade la clase _iub_cs_activate y el atributo data-iub-purposes="5" (necesario para habilitar el consentimiento por categoría) al script de Google Ad Manager:

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

Cada banner de Google Ad Manager tiene un _iub_cs_activate-inline y un 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>

Más información