Google AdSense
Riportiamo di seguito la procedura originale che prevede l’inclusione di due tag script:
<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>
Per evitare che i banner Google AdSense registrino cookie prima del consenso è necessario apportare queste modifiche:
Definire la funzione iubenda_adsense_unblock
associandola alla 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>
È consigliabile inserire il codice appena riportato subito dopo la configurazione della iubenda Privacy Controls and Cookie Solution.
Creare un tag div per ogni banner, trasponendo i parametri su attributi di tipo data-
e inserendoci 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
Affinché Google Ad Manager (evoluzione di DFP, DoubleClick for Publishers) possa installare cookie solo dopo la raccolta del consenso dell’utente, bisogna adottare il metodo descritto in questo articolo per far sì che la iubenda Privacy Controls and Cookie Solution possa interagire con Google Ad Manager, in particolare bloccandone il tracciamento quando il cookie di preferenza di iubenda non è presente nel browser dell’utente.
Codice senza modifiche
Inclusione dello 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>
I singoli banner Google Ad Manager:
<div id="div-gpt-ad-1330418177496-1">
<script>
googletag.cmd.push(function() {
googletag.display("div-gpt-ad-1330418177496-1");
});
</script>
</div>
Modifiche necessarie al corretto funzionamento di Privacy Controls and Cookie Solution
Aggiungi la classe _iub_cs_activate
e l’attributo data-iub-purposes="5"
(necessario per il consenso per categoria) agli script di 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>
Aggiungi ad ogni banner Google Ad Manager la classe _iub_cs_activate-inline
e l’attributo 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>
Leggi anche
- Per spiegazioni e esempi su come modificare altri codici e script di terza parte, segui la nostra guida al blocco preventivo dei cookie
- Raccolta del consenso ai cookie: paesi UE a confronto
- Guida di Google per la disabilitazione dei cookie su richiesta
- Abbiamo preparato un’infografica sugli adempimenti richiesti dalla Cookie Law per facilitare l’analisi dei cookie ed in particolare per capire quando siano richiesti banner, consenso preventivo, notifica al Garante etc. a seconda del tipo di cookie utilizzato.