Mostrare i banner di Google AdSense solo dopo l'accettazione all'invio dei cookie

11.06.2015 08:52

In un recente approfondimento dedicato alla tanto attesa (e temuta) cookie law abbiamo accennato circa alcune ambiguità della normativa in merito a trattamento dei cookie di terze parti. L'ambiguità della norma, in concreto, sta nel non chiarire se anche questa tipologia di cookie sia soggetta o meno al consenso preventivo: se così fosse (come sostiene l'opinione ad oggi prevalente) ogni sito web che fa uso dei banner di Google AdSense dovrebbe bloccarli in attesa di ricevere il consenso dall'utente.

E' bene ricordare, infatti, che ogni banner di AdSense è accompagnato dalla trasmissione di cookie per finalità varie tra cui la profilazione dell'utente ed il retargeting e pertanto, secondo questo orientamento, il gestore del sito dovrebbe - in qualche modo - bloccarli in attesa di ricevere il consenso informato dell'utente in merito all'utilizzo di tali cookie anche se non direttamente emanati dal sito web ma da Google.

Ma come fare a bloccare i cookie di AdSense? Semplice... basta non mostrare il banner.

La soluzione lato server: bloccare AdSense alla prima pagina vista

Una eventuale soluzione lato server del problema sarebbe piuttosto semplice da un punto di vista tecnico: si tratta, semplicemente, di non mostrare i banner di AdSense alla prima pagina vista di ciascun utente ma solo a partire dalla eventuale seconda pagina sfogliata. Nella prima pagina, infatti, l'utente avrà trovato un'informativa breve nella quale gli verrà precisato che la prosecuzione della navigazione equivale all'accettazione dei cookie.

Peccato che una simile soluzione (tecnicamente semplice) si rivelerebbe drammatica per molti siti web: è giusto ricordare, infatti, che moltissimi siti e blog "vivono di AdSense" è un sistema del genere comporterebbe cali, anche notevoli, degli introiti pubblicitari mettendo di fatto a rischio l'esistenza di migliaia di piccole realtà editoriali on-line.

Se pensiamo che l'utente medio di un blog sfoglia due o tre pagine capiamo fin da subito che il blocco della prima pagina equivarrebbe ad un calo compreso tra il 50% ed il 33% delle impressions pubblicitarie (e, corrispondentemente, dei guadagni).

La soluzione lato-client: mostrare i banner di AdSense dinamicamente

Decisamente più efficiente (ma molto più complessa da un punto di vista tecnico) sarebbe una soluzione lato client che sia in grado di "bloccare" il caricamento del banner in attesa dell'accettazione del cookie da parte dell'utente che, come sappiamo, può avvenire sia con il click sull'eventuale bottone di accettazione presente all'interno dell'informativa breve che mediante una semplice interazione con la pagina come, ad esempio, un click su un elemento oppure lo scroll dei contenuti.

La soluzione che abbiamo elaborato e che vi presentiamo consiste, appunto, nell'attivazione "ritardata" dei banner di AdSense al momento in cui l'utente compie un click sulla pagina o un piccolo scroll accettando di fatto (se specificato nell'informativa breve) l'utilizzo dei cookie.

Implementare l'avvio condizionale dei banner AdSense

Per prima cosa cliccate qui per scaricate lo ZIP contenente il nostro script. Scompattate l'archivio e caricate il file adsense-cookie-law.js all'interno del vostro spazio web.

Come abbiamo detto si tratta di una soluzione lato client; per implementarla abbiamo sfruttato la potenza di jQuery e pertanto, per poter adottare questa tecnica sul vostro sito web avete, prima di tutto, bisogno di importare questa libreria:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

Dopo l'inclusione di jQuery procediamo a quella dello script (facendo attenzione, ovviamente, di specificare il giusto percorso):

<script src="adsense-cookie-law.js"></script>

A questo punto dobbiamo modificare il codice di invocazione dei singoli banner che abbiamo inserito all'interno della nostra pagina web. In pratica dovremo togliere il codice di AdSense e sostituirlo con un semplice DIV così formattato:

<div class="adsense-cookie-law"
   data-client="ca-pub-0000000000000000"
   data-slot="0000000000"
   data-width="300"
   data-height="250"
   >
</div>

Ovviamente dobbiamo modificare questo codice inserendo i dati della nostra unità pubblicitaria, precisamente:

  • il valore di data-client corrisponde al valore della variabile google_ad_client;
  • il valore di data-slot corrisponde al valore della variabile google_ad_slot;
  • il valore di data-width corrisponde al valore della variabile google_ad_width e corrisponde alla larghezza dell'annuncio;
  • il valore di data-height corrisponde al valore della variabile google_ad_height e corrisponde all'altezza dell'annuncio.

Potete recuperare tutti questi valori dal codice tradizionale di AdSense, cioè dal codice che andremo a sostituire.

Una volta terminato proviamo ad accedere al nostro sito: potremo notare che, inizialmente, i banner di Google AdSense sono sostituiti da dei semplici rettangoli grigi... ma dopo aver effettuato un click o un piccolo scroll (abbiamo impostato 100 pixel, ma il valore è facilmente modificabile) i banner si caricano dinamicamente.

Contestualmente lo script genera un cookie nel quale viene memorizzata l'azione dell'utente: in questo modo, al successivo caricamento, i banner di AdSense appariranno immediatamente essendo il consenso già stato espresso.

Alcune importanti precisazioni in merito all'utilizzo dello script di adeguamento dei banner di AdSense alla Cookie Law

In merito all'utilizzo di questo codice ritengo importante sottolineare alcune cose:

  1. affinché il click su un elemento della pagina o lo scrolling dei contenuti siano considerati una valida forma di accettazione dei cookie, è necessario che ciò sia chiaramente indicato all'interno del banner con l'informativa breve;
  2. Google non apprezza molto che il suo codice venga alterato anzi, nelle policy del servizio vieta esplicitamente ai webmaster di apportare modifiche al codice. In questo caso, però, il codice di fatto non viene modificato in nessun modo (il nostro codice Javascript lancia il codice di Google esattamente com'è) ma viene solo implementato un meccanismo che ne ritarda il rendering dopo un seppur piccolo scrolling di pagina; a mio personalissimo avviso l'utilizzo di questo codice non dovrebbe creare problemi con Google, tuttavia NON offriamo nessun tipo di garanzia in tal senso, pertanto ogni webmaster che deciderà di utilizzarlo lo farà assumendosi ogni responsabilità in merito alla propria decisione;
  3. lo script è stato ampiamente testato tuttavia, al fine di rilasciarlo in tempo utile, non è stato possibile effettuare tutti i test del caso: non possiamo garantire, pertanto, che lo script funzioni correttamente in ogni situazione.

In attesa di chiarimenti

Come detto, il blocco dei cookie di terze parti è uno degli aspetti più controversi della nuova normativa. Ci auguriamo che il Garante si esprima presto in merito alla questione fornendo un'indicazione chiara circa il da farsi, con la speranza che i webmaster siano sollevati da oneri e responsabilità che - ad avviso di chi scrive - appaiono eccessivi in merito ad attività (i cookie di terze parti) che esulano dal controllo diretto del gestore del sito il quale, talvolta, ne ingnora del tutto anche l'esistenza.