Evite penalidades implementando um pop-up de consentimento para conformidade com o GDPR. Guia de conformidade do Transparency and Consent Framework 2.0 (TCF2.0) para MonetizeMore Publishers
Publicados: 2022-06-06Esta postagem foi atualizada pela última vez em 17 de novembro de 2022
A partir de 15 de outubro de 2020 – os provedores de anúncios apoiarão a iniciativa TCF2.0 e poderão interromper os lances para usuários da UE em sites onde os sinais de consentimento não são detectados. Portanto, todos os editores devem estar em conformidade com TCF2.0 ou esperar uma queda nas receitas de anúncios. Leia o artigo da Central de Ajuda do Google aqui.
Leia nossas perguntas frequentes aqui:
https://www.monetizemore.com/blog/frequently-asked-questions-gdpr-and-eprivacy-directive/
Se você tiver códigos codificados como AdSense, Ad Exchange, cabeçalho e corpo GAM ou Google Analytics, os usuários da UE devem dar consentimento explicitamente antes que qualquer uma dessas tags, que coletam informações pessoais, possam ser veiculadas.
Se você trabalha com MonetizeMore, aqui está um guia rápido sobre como você pode converter seus códigos na página para serem compatíveis com TCF2.0:
Verifique seu código-fonte se ainda tiver esta tag:
<script src =”https://cdn.pubguru.com/pg.js” />
Se sim, desative ou remova-o! Em seguida, prossiga abaixo, dependendo de quais códigos onpage você está executando:
AdSense
Exemplo de código bruto (não compatível com TCF2.0):
<script async src=”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”</script>
<!– adsense_320x50 –>
<ins class=”adsbygoogle”
style=”exibição:bloco embutido;largura:320px;altura:50px”
data-ad-client=”ca-pub-12345″
data-ad-slot=”123″></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Código compatível com TCF2.0:
Pode ir tanto no cabeçalho quanto no corpo (será fornecido a você pela MonetizeMore):
<script src=”//m2d.m2.ai/PUBDOMAIN.js” async></script>
Corpo:
<ins class=”adsbygoogle”
style=”exibição:bloco embutido;largura:320px;altura:50px”
data-ad-client=”ca-pub-12345″
data-ad-slot=”123″></ins>
O que mudou no código para torná-lo compatível?
Anúncios automáticos do AdSense
Exemplo de código bruto (não compatível com TCF2.0):
<script async src=”//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></script>
<tipo de script=”texto/javascript”>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: “ca-pub-XXXXXXXXXXXXXXX”,
enable_page_level_ads: verdadeiro
});
</script>
Código compatível com TCF2.0:
<tipo de script=”texto/javascript”>
janela.pg=janela.pg||[];pg.atq=pg.atq||[];
pg.atq.push(function() {
// Anúncios automáticos do Google Adsense
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: “ca-pub-XXXXXXXXXXXXXXXX”,
enable_page_level_ads: verdadeiro
});
});
</script>
<script src=”//m2d.m2.ai/PUBDOMAIN.js” async></script>
O que mudou no código para torná-lo compatível?
Ad Exchange
Exemplo de código bruto (não compatível com TCF2.0):
<tipo de script=”texto/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>
Código compatível com TCF2.0:
Pode ir tanto no cabeçalho quanto no corpo (será fornecido a você pela MonetizeMore):
<script src=”//m2d.m2.ai/PUBDOMAIN.js” async></script>
Corpo:
<ins class=”adsbygoogle”
estilo=”display:bloco embutido;largura:300px;altura:250px”
data-ad-client=”ca-pub-12345″
data-ad-slot=”123″></ins>
O que mudou no código para torná-lo compatível?
Google Ad Manager
Exemplo de código bruto (não compatível com TCF2.0):
Cabeça:
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
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′>
<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 compatível com TCF2.0:
Qualquer coisa relacionada ao anúncio vai para a função pg.atq se o editor estiver executando o Traffic Cop (bloqueio).
Cabeça:
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
janela.pg=janela.pg||[];pg.atq=pg.atq||[]; // construir fila de consentimento
pg.atq.push(function() {
//Tag GAM
googletag.cmd.push(função () {
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′>
<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>
O que mudou no código para torná-lo compatível?
Google Analytics
Exemplo de código bruto (não compatível com TCF2.0):
<!– Tag global do site (gtag.js) – Google Analytics –>
<script async src=”https://www.googletagmanager.com/gtag/js?id=UA-12345-1″</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(argumentos);}
gtag('js', new Date());
gtag('config', 'UA-12345-1');
</script>
Código compatível com TCF2.0:
<script>
janela.pg=janela.pg||[];pg.acq=pg.acq||[]; // construir fila de consentimento
pg.acq.push(function() {
// Tag global do site (gtag.js)
pg.loadJS(“https://www.googletagmanager.com/gtag/js?id=UA-12345-1”);
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(argumentos);}
gtag('js', new Date());
gtag('config', 'UA-12345-1');
});
</script>
O que mudou no código para torná-lo compatível?
GAM + Google Analytics
Código compatível com TCF2.0:
Cabeça:
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
janela.pg=janela.pg||[];pg.acq=pg.acq||[];
pg.acq.push(function() {
//Tag GAM
googletag.cmd.push(função () {
googletag.defineSlot('/55555/sample_ad1', [[728, 90], [300, 250]], 'div-gpt-ad-22222-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
//Google Analytics
pg.loadJS(“https://www.googletagmanager.com/gtag/js?id=UA-147580335-1″); window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(argumentos);}
gtag('js', new Date());
gtag('config', 'UA-147580335-1');
});
</script>
<script src=”//m2d.m2.ai/PUBDOMAIN.js” async></script>
Corpo:
<div id='div-gpt-ad-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 ou qualquer código de rastreamento de usuário precisa entrar na função pg.acq em todos os cenários, esteja o editor executando o TC ou não.
Como testar corretamente o PubGuru DataGuard:
https://www.monetizemore.com/blog/how-properly-test-pubguru-dataguard-gdpr-consent-management/