Iubenda logo
Crie Agora

Documentação

Tabela de conteúdos

Modo de consentimento do Google: como gerenciar cookies para anúncios e estatísticas

Para ajudar os anunciantes a gerenciar cookies para fins de publicidade e estatística, o Google introduziu o Modo de Consentimento, um recurso que permite ajustar o comportamento de suas tags do Google com base no status de consentimento de seus usuários.

Não confunda o Modo de Consentimento com o Modo de Consentimento Adicional, um recurso que permite obter consentimento para parceiros de anúncios do Google que ainda não fazem parte da Transparency and Consent Framework, mas estão na lista de Provedores de tecnologia de anúncios [Ad Tech Providers (ATP)] do Google.

Você pode indicar se o consentimento foi concedido para cookies de publicidade e analíticos. Os tipos ad_storage e analytics_storage de consentimento do Google se adaptarão de forma dinâmica, utilizando cookies apenas para os fins descritos, quando o consentimento for dado pelo usuário:

  • quando o consentimento é concedido, as respectivas tags funcionam normalmente;
  • quando o consentimento para o armazenamento de anúncios ou de análise é negado, as respectivas tags do Google implantadas através do gtag.js ou do Google Tag Manager, desta forma, ajustam seu comportamento.

Por exemplo, se um usuário não der consentimento para cookies de publicidade (portanto, as finalidades de publicidade estiverem desativadas), mas fornecer consentimento para cookies analíticos, ainda assim você poderá medir o comportamento do site e as conversões nas Estatísticas, pois a configuração analytics_storage será ativada.

Os produtos não compatíveis com o Modo de Consentimento incluem:

  • Google Ads (incluindo o Google Ads Conversion Tracking and Remarketing)
  • Google Analytics
  • Floodlight
  • Conversion Linker

O Modo de Consentimento requer a execução do gtag.js ou do Google Tag Manager. Se você usar uma tag mais antiga, como ga.js, analytics.js ou conversion.js, você primeiro terá que atualizar para gtag.js ou Google Tag Manager.

Você pode usar o Modo de Consentimento como alternativa ao bloqueio prévio. Implementá-lo com nossa Cookie Solution requer a adição de algumas linhas de código à tag global do seu site (gtag.js) ou ao contêiner do Tag Manager.

Se você estiver usando o método de implementação anterior (aquele que requer a adição de um callback ao snippet da Cookie Solution), é recomendável mudar para esta abordagem mais simples. Ademais, embora atualmente compatível, não podemos garantir que a implementação anterior permanecerá funcionando no futuro.

1. Inicialize a camada de dados para o Google Tag Manager

Primeiro, você precisa inicializar a camada de dados para o Google Tag Manager. Se você usa Google Analytics, provavelmente tem este código no <head> das suas páginas:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());
    gtag('config', 'GA_MEASUREMENT_ID');
</script>

Ele precisa ser:

<script>
    // Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Cookie Solution is loaded)
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }

    // Default consent mode is "denied" for both ads and analytics, but delay for 2 seconds until the Cookie Solution is loaded
    gtag("consent", "default", {
        ad_storage: "denied",
        analytics_storage: "denied",
        wait_for_update: 2000 // milliseconds
    });

    // Improve ad click measurement quality (optional)
    gtag('set', 'url_passthrough', true);

    // Further redact your ads data (optional)
    gtag("set", "ads_data_redaction", true);
</script>

// Global site tag (gtag.js) - Google Analytics 
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());
    gtag('config', 'GA_MEASUREMENT_ID'); //replace GA_MEASUREMENT_ID with the ID of your Google Analytics property
</script>

Se você usar o Google Tag Manager em seu lugar, o código tem que se tornar:

<script>
    // Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Cookie Solution is loaded)
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }

    // Default consent mode is "denied" for both ads and analytics, but delay for 2 seconds until the Cookie Solution is loaded
    gtag("consent", "default", {
        ad_storage: "denied",
        analytics_storage: "denied",
        wait_for_update: 2000 // milliseconds
    });

    // Improve ad click measurement quality (optional)
    gtag('set', 'url_passthrough', true);

    // Further redact your ads data (optional)
    gtag("set", "ads_data_redaction", true);
    
    // Google Tag Manager
    (function(w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-XXXXXX'); //replace GTM-XXXXXX with the ID of your Google Analytics property
</script>

2. Adicione o snippet da Cookie Solution

Por fim, adicione o snippet da Cookie Solution e seu código será:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script>
    // Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Cookie Solution is loaded)
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }

    // Default consent mode is "denied" for both ads and analytics, but delay for 2 seconds until the Cookie Solution is loaded
    gtag("consent", "default", {
        ad_storage: "denied",
        analytics_storage: "denied",
        wait_for_update: 2000 // milliseconds
    });

    // Improve ad click measurement quality (optional)
    gtag('set', 'url_passthrough', true);

    // Further redact your ads data (optional)
    gtag("set", "ads_data_redaction", true);
    
    // Google Tag Manager
    (function(w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-XXXXXX'); //replace GTM-XXXXXX with the ID of your Google Analytics property
</script>

<!-- iubenda Cookie Solution -->
<script>    
    var _iub = _iub || [];
    
    _iub.csConfiguration = {
        lang: "en",
        siteId: 12345678, //use your siteId
        cookiePolicyId: 12345678, //use your cookiePolicyId
        countryDetection: true,
        perPurposeConsent: true,
        purposes: "1,4,5",
        consentOnContinuedBrowsing: false,
        banner: {
            position: "float-top-center",
            acceptButtonDisplay: true,
            customizeButtonDisplay: true,
            rejectButtonDisplay: true
        }
    };
</script>
<script src="https://cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>

Para saber mais sobre o Modo de Consentimento, verifique o blog oficial da Google Marketing Platform, a Ajuda do Google Analytics ou o manual gtag.js.

Need to manage cookies on your site?

Generate a Cookie banner

Veja também