Iubenda logo
Crie Agora

Documentação

Tabela de conteúdos

Bloqueio prévio de Cookies: Google AdSense e Ad Manager

Google AdSense

Veja abaixo o procedimento original, que permite a adição de duas tags de script às suas 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 certificar-se de que os banners do Google AdSense não salvam cookies antes do consentimento do usuário, é necessário realizar as seguintes alterações:

Defina a função iubenda_adsense_unblock associando-a ao 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>

Você deve inserir o código acima logo após configurar a Cookie Solution da iubenda no seu HTML.

Crie seções div para cada banner, fornecendo então os atributos do tipo data- e adicionando a 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

Para garantir que o Google Ad Manager (antigo DFP – DoubleClick for Publishers) possa instalar cookies somente após a obtenção do consentimento do usuário, você deve usar o método descrito abaixo para que a Cookie Solution da iubenda possa interagir com o Google Ad Manager por meio do bloqueio do rastreamento, quando o cookie de preferência da iubenda não estiver presente no navegador do usuário.

Código sem modificações

Inclusão do script 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>

Os elementos únicos do banner do Google Ad Manager:

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

Modificações necessárias para o devido funcionamento da Cookie Solution da iubenda

Acrescente a classe _iub_cs_activate e o atributo data-iub-purposes="5" (necessário para o consentimento por categoria) ao script do 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 do Google Ad Manager recebe um _iub_cs_activate-inline e um 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>

Veja também