Evite sanciones implementando una ventana emergente de consentimiento para el cumplimiento de GDPR. Marco de Transparencia y Consentimiento 2.0 (TCF2.0) Guía de cumplimiento para MonetizeMore Publishers
Publicado: 2022-06-06Esta publicación se actualizó por última vez el 17 de noviembre de 2022
A partir del 15 de octubre de 2020: los proveedores de anuncios apoyarán la iniciativa TCF2.0 y podrían dejar de ofertar por usuarios de la UE en sitios donde no se detectan señales de consentimiento. Por lo tanto, todos los editores deben cumplir con TCF2.0 o esperar una caída en los ingresos publicitarios. Lea el artículo del centro de ayuda de Google aquí.
Lea nuestras preguntas frecuentes aquí:
https://www.monetizemore.com/blog/preguntas-frecuentes-gdpr-and-eprivacy-directive/
Si tiene códigos codificados como AdSense, Ad Exchange, encabezado y cuerpo de GAM o Google Analytics, los usuarios de la UE deben dar su consentimiento explícito antes de que se pueda publicar cualquiera de estas etiquetas, que recopilan información personal.
Si trabaja con MonetizeMore, aquí hay una guía rápida sobre cómo puede convertir sus códigos en la página para que cumplan con TCF2.0:
Verifique su código fuente si todavía tiene esta etiqueta:
<script src =”https://cdn.pubguru.com/pg.js” />
En caso afirmativo, desactívelo o elimínelo. Luego proceda a continuación según los códigos en la página que esté ejecutando:
AdSense
Ejemplo de código sin procesar (no compatible con TCF2.0):
<script async src=”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”</script>
<!– adsense_320x50 –>
<ins class=”anuncios de google”
style=”display:inline-block;ancho:320px;alto:50px”
data-ad-client=”ca-pub-12345″
espacio publicitario de datos=”123″></ins>
<script>
(adsbygoogle = ventana.adsbygoogle || []).push({});
</script>
Código compatible con TCF2.0:
Puede ir en el encabezado o en el cuerpo (se lo proporcionará MonetizeMore):
<script src=”//m2d.m2.ai/PUBDOMAIN.js” asíncrono></script>
Cuerpo:
<ins class=”anuncios de google”
style=”display:inline-block;ancho:320px;alto:50px”
data-ad-client=”ca-pub-12345″
espacio publicitario de datos=”123″></ins>
¿Qué cambió en el código para hacerlo compatible?
Anuncios automáticos de AdSense
Ejemplo de código sin procesar (no compatible con TCF2.0):
<secuencia de comandos asíncrona src=”//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></secuencia de comandos>
<tipo de script=”texto/javascript”>
(adsbygoogle = ventana.adsbygoogle || []).push({
google_ad_client: "ca-pub-XXXXXXXXXXXXXXX",
enable_page_level_ads: verdadero
});
</script>
Código compatible con TCF2.0:
<tipo de script=”texto/javascript”>
ventana.pg=ventana.pg||[];pg.atq=pg.atq||[];
pg.atq.push(función() {
// Anuncios automáticos de Google Adsense
(adsbygoogle = ventana.adsbygoogle || []).push({
google_ad_client: “ca-pub-XXXXXXXXXXXXXXXXXX”,
enable_page_level_ads: verdadero
});
});
</script>
<script src=”//m2d.m2.ai/PUBDOMAIN.js” asíncrono></script>
¿Qué cambió en el código para hacerlo compatible?
Intercambio de anuncios
Ejemplo de código sin procesar (no compatible con TCF2.0):
<tipo de script=”texto/javascript”>
google_ad_client = “ca-pub-12345”;
/* muestra.com_desktop_300X250 */
google_ad_slot = "123";
ancho_anuncio_google = 300;
altura_del_anuncio_de_google = 250;
</script>
<script type=”text/javascript” src=”//pagead2.googlesyndication.com/pagead/show_ads.js”>
</script>
Código compatible con TCF2.0:
Puede ir en el encabezado o en el cuerpo (se lo proporcionará MonetizeMore):
<script src=”//m2d.m2.ai/PUBDOMAIN.js” asíncrono></script>
Cuerpo:
<ins class=”anuncios de google”
style=”display:inline-block;ancho:300px;alto:250px”
data-ad-client=”ca-pub-12345″
espacio publicitario de datos=”123″></ins>
¿Qué cambió en el código para hacerlo compatible?
Administrador de anuncios de Google
Ejemplo de código sin procesar (no compatible con TCF2.0):
Cabeza:
<script>
var etiqueta de google = etiqueta de google || {};
etiquetagoogle.cmd = etiquetagoogle.cmd || [];
googletag.cmd.push(función() {
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>
Cuerpo:
<div id='div-gpt-anuncio-22222-0′>
<script>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-22222-0'); });
</script>
</div>
<div id='div-gpt-ad-33333-0′>
<script>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-33333-0'); });
</script>
</div>
Código compatible con TCF2.0:
Todo lo relacionado con la publicidad entra en la función pg.atq si el editor ejecuta Traffic Cop (bloque).
Cabeza:
<script>
var etiqueta de google = etiqueta de google || {};
etiquetagoogle.cmd = etiquetagoogle.cmd || [];
ventana.pg=ventana.pg||[];pg.atq=pg.atq||[]; // construir cola de consentimiento
pg.atq.push(función() {
//Etiqueta GAM
googletag.cmd.push(función () {
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>
<guión src=”//m2d.m2.ai/pghb.dominio.com.js” asíncrono></guión>
Cuerpo:
<div id='div-gpt-anuncio-22222-0′>
<script>
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′>
<script>
pg.atq.push(function() {window.googletag.cmd.push(function() {googletag.display('div-gpt-ad-33333-0');})});
</script>
</div>
¿Qué cambió en el código para hacerlo compatible?
Google analitico
Ejemplo de código sin procesar (no compatible con TCF2.0):
<!– Etiqueta global del sitio (gtag.js) – Google Analytics –>
<script async src=”https://www.googletagmanager.com/gtag/js?id=UA-12345-1″</script>
<script>
ventana.dataLayer = ventana.dataLayer || [];
función gtag(){dataLayer.push(argumentos);}
gtag('js', nueva Fecha());
gtag('config', 'UA-12345-1');
</script>
Código compatible con TCF2.0:
<script>
ventana.pg=ventana.pg||[];pg.acq=pg.acq||[]; // construir cola de consentimiento
pg.acq.push(función() {
// Etiqueta de sitio global (gtag.js)
pg.loadJS(“https://www.googletagmanager.com/gtag/js?id=UA-12345-1”);
ventana.dataLayer = ventana.dataLayer || [];
función gtag(){dataLayer.push(argumentos);}
gtag('js', nueva Fecha());
gtag('config', 'UA-12345-1');
});
</script>
¿Qué cambió en el código para hacerlo compatible?
GAM + Google Analytics
Código compatible con TCF2.0:
Cabeza:
<script>
var etiqueta de google = etiqueta de google || {};
etiquetagoogle.cmd = etiquetagoogle.cmd || [];
ventana.pg=ventana.pg||[];pg.acq=pg.acq||[];
pg.acq.push(función() {
//Etiqueta GAM
googletag.cmd.push(función () {
googletag.defineSlot('/55555/sample_ad1', [[728, 90], [300, 250]], 'div-gpt-ad-22222-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
//Google analitico
pg.loadJS(“https://www.googletagmanager.com/gtag/js?id=UA-147580335-1″); ventana.dataLayer = ventana.dataLayer || [];
función gtag(){dataLayer.push(argumentos);}
gtag('js', nueva Fecha());
gtag('config', 'UA-147580335-1');
});
</script>
<script src=”//m2d.m2.ai/PUBDOMAIN.js” asíncrono></script>
Cuerpo:
<div id='div-gpt-anuncio-22222-0′>
<script>
pg.acq.push(function() {window.googletag.cmd.push(function() {googletag.display('div-gpt-ad-22222-0');})});
</script>
<div>
Google Analytics, Facebook Pixels o cualquier código de seguimiento de usuario debe estar dentro de la función pg.acq en todos los escenarios, ya sea que el editor esté ejecutando TC o no.
Cómo probar correctamente PubGuru DataGuard:
https://www.monetizemore.com/blog/how-correctly-test-pubguru-dataguard-gdpr-consent-management/