Evita sanzioni implementando un popup di consenso per la conformità al GDPR. Transparency and Consent Framework 2.0 (TCF2.0) Guida alla conformità per gli editori MonetizeMore

Pubblicato: 2020-10-12
Guida alla conformità TCF per i publisher MonetizeMore

Questo post è stato aggiornato di recente il 18 novembre 2022

A partire dal 15 ottobre 2020 - I fornitori di annunci sosterranno l'iniziativa TCF2.0 e potrebbero interrompere le offerte per gli utenti dell'UE su siti in cui non vengono rilevati segnali di consenso. Pertanto, tutti gli editori devono essere conformi a TCF2.0 o prevedere un calo delle entrate pubblicitarie. Leggi l'articolo del Centro assistenza di Google qui.

Leggi le nostre FAQ qui:
https://www.monetizemore.com/blog/frequently-asked-questions-gdpr-and-eprivacy-directive/

Se disponi di codici hardcoded come AdSense, Ad Exchange, intestazione e corpo GAM o Google Analytics, gli utenti dell'UE devono dare il consenso esplicito prima che uno qualsiasi di questi tag, che raccolgono informazioni personali, possa essere pubblicato.

Se lavori con MonetizeMore, ecco una guida rapida su come convertire i tuoi codici on-page in modo che siano conformi a TCF2.0:

Tutto ciò che riguarda la pubblicità va nella funzione pg.atq .

Google Analytics, i pixel di Facebook o qualsiasi codice di tracciamento dell'utente devono entrare nella funzione pg.acq in tutti gli scenari, indipendentemente dal fatto che l'editore stia eseguendo TC o meno.

Controlla il tuo codice sorgente se hai ancora questo tag:

<script src ="https://cdn.pubguru.com/pg.js" />

Se sì, disabilitalo o rimuovilo! Quindi procedi di seguito a seconda dei codici onpage che stai eseguendo:

AdSense

Esempio di codice non elaborato (non compatibile con TCF2.0):

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"</script>
<!– adsense_320x50 –>
<ins class=”adsbygoogle”
style=”display:inline-block;width:320px;height:50px”
data-ad-client=”ca-pub-12345″
data-ad-slot=”123″></ins>
<copione>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

Codice conforme a TCF2.0:

Può andare nell'intestazione o nel corpo (ti verrà fornito da MonetizeMore):

<script src="//m2d.m2.ai/PUBDOMAIN.js" async></script>

Corpo:

<ins class=”adsbygoogle”
style=”display:inline-block;width:320px;height:50px”
data-ad-client=”ca-pub-12345″
data-ad-slot=”123″></ins>

Cosa è cambiato nel codice per renderlo conforme?

AdSense TCF

Annunci automatici AdSense

Esempio di codice non elaborato (non compatibile con TCF2.0):

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script type="text/javascript">
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client : "ca-pub-XXXXXXXXXXXXXXX",
enable_page_level_ads : vero
});
</script>

Codice conforme a TCF2.0:

<script type="text/javascript">
window.pg=window.pg||[];pg.atq=pg.atq||[];
pg.atq.push(funzione() {
// Annunci automatici di Google Adsense
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-XXXXXXXXXXXXXXXX",
enable_page_level_ads: vero
});
});
</script>
<script src="//m2d.m2.ai/PUBDOMAIN.js" async></script>

Cosa è cambiato nel codice per renderlo conforme?

AdSense annunci automatici TCF

Scambio di annunci

Esempio di codice non elaborato (non compatibile con TCF2.0):

<script type="text/javascript">
google_ad_client = "ca-pub-12345";
/* sample.com_desktop_300X250 */
google_ad_slot = "123";
google_ad_width = 300;
google_ad_height = 250;
</script>
<script type=”text/javascript” src="//pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

Codice conforme a TCF2.0:

Può andare nell'intestazione o nel corpo (ti verrà fornito da MonetizeMore):

<script src="//m2d.m2.ai/PUBDOMAIN.js" async></script>

Corpo:

<ins class=”adsbygoogle”
style=”display:inline-block;width:300px;height:250px”
data-ad-client=”ca-pub-12345″
data-ad-slot=”123″></ins>

Cosa è cambiato nel codice per renderlo conforme?

Google Ad Manager

Esempio di codice non elaborato (non compatibile con TCF2.0):

Testa:

<copione>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(funzione() {

googletag.defineSlot('/55555/ad1_sample', [[728, 90], [300, 250]], 'div-gpt-ad-22222-0').addService(googletag.pubads());

googletag.defineSlot('/55555/ad2_sample', [[970, 90], [728, 90]], 'div-gpt-ad-33333-0').addService(googletag.pubads());

googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>

Corpo:

<div id='div-gpt-ad-22222-0′>
<copione>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-22222-0'); });
</script>
</div>

<div id='div-gpt-ad-33333-0′>
<copione>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-33333-0'); });
</script>
</div>

Codice conforme a TCF2.0:

Testa:

<copione>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
window.pg=window.pg||[];pg.atq=pg.atq||[]; // costruisce la coda di consenso
pg.atq.push(funzione() {
//Etichetta GAM
googletag.cmd.push(funzione () {

googletag.defineSlot('/12345/ad1_sample', [[728, 90], [300, 250]], 'div-gpt-ad-22222-0').addService(googletag.pubads());

googletag.defineSlot('/12345/ad2_sample', [[970, 90], [728, 90]], 'div-gpt-ad-33333-0').addService(googletag.pubads());

googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
});
</script>
<script src="//m2d.m2.ai/pghb.domain.com.js" async></script>

Corpo:

<div id='div-gpt-ad-22222-0′>
<copione>
pg.atq.push(function() {window.googletag.cmd.push(function() {googletag.display('div-gpt-ad-22222-0');})});
</script>
</div>

<div id='div-gpt-ad-33333-0′>
<copione>
pg.atq.push(function() {window.googletag.cmd.push(function() {googletag.display('div-gpt-ad-33333-0');})});
</script>
</div>

Cosa è cambiato nel codice per renderlo conforme?

TCF di Google Ad Manager2

statistiche di Google

Esempio di codice non elaborato (non compatibile con TCF2.0):

<!– Tag globale del sito (gtag.js) – Google Analytics –>
<script async src=”https://www.googletagmanager.com/gtag/js?id=UA-12345-1″</script>
<copione>
window.dataLayer = window.dataLayer || [];
funzione gtag(){dataLayer.push(argomenti);}
gtag('js', new Data());
gtag('config', 'UA-12345-1');
</script>

Codice conforme a TCF2.0:

<copione>
window.pg=window.pg||[];pg.acq=pg.acq||[]; // costruisce la coda di consenso
pg.acq.push(funzione() {
// Tag globale del sito (gtag.js)
pg.loadJS(“https://www.googletagmanager.com/gtag/js?id=UA-12345-1”);
window.dataLayer = window.dataLayer || [];
funzione gtag(){dataLayer.push(argomenti);}
gtag('js', new Data());
gtag('config', 'UA-12345-1');
});
</script>

Cosa è cambiato nel codice per renderlo conforme?

google analytics TCF

GAM + Google Analytics

Codice conforme a TCF2.0:

Testa:
<copione>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
window.pg=window.pg||[];pg.acq=pg.acq||[];
pg.acq.push(funzione() {
//Etichetta GAM
googletag.cmd.push(funzione () {
googletag.defineSlot('/55555/sample_ad1', [[728, 90], [300, 250]], 'div-gpt-ad-22222-0').addService(googletag.pubads());

googletag.pubads().enableSingleRequest();
googletag.enableServices();
});

//Statistiche di Google
pg.loadJS(“https://www.googletagmanager.com/gtag/js?id=UA-147580335-1″); window.dataLayer = window.dataLayer || [];
funzione gtag(){dataLayer.push(argomenti);}
gtag('js', new Data());
gtag('config', 'UA-147580335-1');
});
</script>
<script src="//m2d.m2.ai/PUBDOMAIN.js" async></script>

Corpo:
<div id='div-gpt-ad-22222-0′>
<copione>
pg.acq.push(function() {window.googletag.cmd.push(function() {googletag.display('div-gpt-ad-22222-0');})});
</script>
<div>

Come testare correttamente PubGuru DataGuard:

https://www.monetizemore.com/blog/how-properly-test-pubguru-dataguard-gdpr-consent-management/