A tag global do site (gtag.js) agora se chama tag do Google. Saiba mais

Gerenciar configurações de consentimento (Web)

A forma como você ativa e usa o modo de consentimento depende da sua implementação para conseguir o consentimento e da plataforma de inclusão de tags (Gerenciador de tags do Google (GTM, na sigla em inglês) ou tag do Google) que você usa:

  • As plataformas de gerenciamento de consentimento (CMPs) compatíveis com o modo de consentimento do Google oferecem o seguinte:
    • Modelos do Gerenciador de tags na Galeria de modelos da comunidade que você precisa usar para criar tags de gerenciamento de consentimento.
    • Código JavaScript para sites que usam a gtag.js para gerenciar o consentimento.
  • Para implementações personalizadas e CMPs que não são compatíveis com o modo de consentimento:
    • Se você usa o GTM, recomendamos criar seu próprio modelo usando as APIs de consentimento do Gerenciador de tags. O exemplo a seguir está disponível como referência.
    • Se você usar a gtag.js, será necessário adicionar manualmente o código de consentimento a cada página do seu site como comandos diretos ou em um snippet HTML personalizado.

Este artigo descreve as práticas recomendadas e fornece exemplos de API. Para informações relacionadas, consulte:

Antes de começar

Considere o seguinte antes de implementar o modo de consentimento:

  • É recomendável ajustar as configurações de consentimento padrão como específicas da região, e não para todos os visitantes. Isso ajuda a evitar a perda na medição de usuários de regiões em que os banners de consentimento não são obrigatórios e que usam "negado" como padrão para o modo de consentimento. Consulte Comportamento específico da região.

  • Se você usa uma CMP, os comandos de atualização de consentimento precisam ser configurados para segmentar visitantes das mesmas regiões especificadas no comando de consentimento padrão. Com isso, os usuários vão poder atualizar o estado de consentimento se ele estiver definido como "negado" por padrão.

  • Se você cria seus próprios modelos ou tags HTML personalizadas, não há garantia de que os comandos executados em chamadas de retorno ou que usam gtag() vão estar disponíveis antes do disparo do próximo acionador. Para garantir que as informações de consentimento estejam disponíveis o mais rápido possível, use ou crie um modelo de tag que use as APIs de consentimento do Gerenciador de tags para definir estados de consentimento.

O estado de consentimento padrão precisa ser definido imediatamente no carregamento da página, de acordo com os padrões exigidos pela sua organização. A CMP ou a solução de gerenciamento de consentimento personalizada precisa solicitar ao visitante que conceda ou negue o consentimento para os tipos de consentimento aplicáveis. Como o modo de consentimento não armazena opções de consentimento, também é fundamental que a solução de gerenciamento emita um comando de atualização desse modo com base nas opções do usuário o mais cedo possível em todas as páginas.

gtag.js

As seções a seguir mostram exemplos de como usar a gtag.js para:

O valor padrão do estado de consentimento será granted se não estiver definido explicitamente. Recomendamos definir um valor padrão para cada tipo de armazenamento que você estiver usando. Os valores do estado de consentimento neste artigo são apenas exemplos. Você é responsável por garantir que o modo de consentimento padrão esteja definido para cada um dos produtos de medição de acordo com a política da sua organização.

Para ajustar os recursos de medição padrão, chame o comando gtag('consent', 'default', ...) em todas as páginas do seu site antes de qualquer comando que envie dados de medição (como config ou event). Por exemplo, para negar ad_storage e analytics_storage por padrão, especifique as configurações nos parâmetros consent:

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'analytics_storage': 'denied'
});

Atualize o comportamento de medição quando os usuários especificarem ou mudarem a escolha de consentimento. O status de consentimento só será alterado para os campos fornecidos para a chamada de update. No exemplo abaixo, somente o valor ad_storage foi alterado. Se analytics_storage fosse definido como denied, ele ainda seria negado após essa chamada. Cabe a você garantir que os valores corretos sejam definidos para todos os tipos de consentimento. Para ver todos os detalhes sobre os tipos compatíveis, consulte o consentimento na Referência da API.

Transmita atualizações assim que possível em todas as páginas. Depois que o usuário consentir, mantenha a opção escolhida e chame o comando de atualização nas páginas subsequentes. Como o modo de consentimento não armazena opções de consentimento, também é fundamental que a solução de gerenciamento emita um comando de atualização desse modo com base nas opções do usuário o mais cedo possível em todas as páginas.

O exemplo usa valores "concedidos"/"negados" codificados, mas, na prática, eles precisam ser determinados no ambiente de execução usando o consentimento real do usuário coletado pela solução de gerenciamento de consentimento. O código a seguir autoriza o usuário quando ele permite cookies de publicidade:

gtag('consent', 'update', {
  'ad_storage': 'granted'
});

Se a ferramenta de consentimento carregar de forma assíncrona, talvez ela não seja executada antes das suas tags do Google. Para lidar com essas situações, especifique wait_for_update com um valor em milissegundos para controlar quanto tempo é necessário esperar antes do envio dos dados.

Por exemplo, para negar ad_storage em uma página específica, mas permitir que sua CMP atualize o status de consentimento, use wait_for_update: No código a seguir, ad_storage é definido como denied por padrão, e a ferramenta de consentimento tem 500 milissegundos para chamar gtag('consent', 'update', ...) antes que as tags sejam disparadas:

gtag('consent', 'default', {
'ad_storage': 'denied',
'wait_for_update': 500
})

Gerenciador de tags

Para implementações do Gerenciador de tags, recomendamos usar um modelo do modo de consentimento da Galeria de modelos da comunidade. Consulte Criar um modelo do modo de consentimento para saber como criar seu próprio modelo usando as APIs de consentimento do Gerenciador de tags.

Observações:

  • As implementações do modo de consentimento em sites que usam o GTM para inclusão de tags precisam usar as APIs específicas do GTM para gerenciar os estados de consentimento, setDefaultConsentState e updateConsentState. A API gtagSet pode ser usada para definir as configurações de transferência de URL e ads_data_redaction conforme apropriado.

  • O método gtag('consent','update',...) não deve ser usado em vez de updateConsentState porque ele seria colocado em fila depois de todas as outras mensagens pendentes e pode não ser processado antes do início do próximo evento. Para mais informações, consulte Como as informações da camada de dados são processadas.

Exemplo de implementação

O exemplo a seguir define ad_storage como denied por padrão. Depois que o usuário indicar que concorda com os recursos relacionados ao ad_storage, ele será atualizado para granted.

gtag.js

A ordem do código é essencial. Quando o código de consentimento é chamado fora de ordem, seus padrões de consentimento não funcionam. Os requisitos variam dependendo de critérios específicos da empresa, mas o código deve ser executado na seguinte ordem:

  1. Carregue a tag do Google. Esse é o código do snippet padrão. O snippet padrão precisa ser atualizado (veja abaixo) para incluir uma chamada para gtag('consent', 'default', ...). Se você não definir um padrão, toda a funcionalidade de inclusão de tag será ativada.

  2. Carregue sua solução de consentimento. Se a solução de consentimento for carregada de maneira assíncrona, consulte Como integrar com plataformas de gerenciamento de consentimento assíncronas para saber como garantir que isso aconteça na ordem correta.

  3. Se a solução de consentimento não realizar o processamento, chame gtag('consent', 'update', ...) depois que o usuário decidir sobre o consentimento.

<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

// Default ad_storage to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
  'ad_storage': 'denied'
});
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID">
</script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  gtag('js', new Date());
  gtag('config', 'TAG_ID');
</script>

<!-- Update this section based on your business requirements. -->
<script>
  function consentGranted() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>

<body>
  ...
  <button onclick="consentGranted">Yes</button>
  ...
</body>

Gerenciador de tags

Para sites que usam o Gerenciador de tags, recomendamos usar uma CMP para atualizar as opções de consentimento dos visitantes. As CMPs fornecem modelos na Galeria de modelos da comunidade para criar uma tag de gerenciamento do modo de consentimento.

Se não for possível usar um modelo, atualize o código na sua página da seguinte maneira: A ordem do código é essencial. Se o código de consentimento for chamado fora de ordem, os padrões de consentimento não funcionarão.

<script>
  // Define dataLayer and the gtag function.
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Default ad_storage to 'denied'.
  gtag('consent', 'default', {
    'ad_storage': 'denied'
  });
</script>

<!-- Google Tag Manager -->
<script>(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');</script>
<!-- End Google Tag Manager -->

<!-- Update this section based on your business requirements -->
<script>
  function consentGranted() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>

<body>
  ...
  <button onclick="consentGranted">Yes</button>
  ...
</body>

Os recursos de consentimento avançados incluem a capacidade de fazer o seguinte:

  • Definir o comportamento de uma região geográfica
  • Transmitir informações de clique no anúncio, ID do cliente e ID da sessão nos URLs quando os usuários não autorizarem o uso de cookies
  • Editar completamente (remover) as informações do anúncio quando os usuários negarem o consentimento para o uso de cookies de publicidade

Comportamento específico da região

Para mudar o comportamento padrão das tags para usuários de determinadas regiões, especifique cada região no comando "consent". Quando você informa o valor da região, é possível ajustar os padrões com base na localização geográfica dos usuários. Consulte IDs geográficos para mais informações sobre como identificar regiões.

gtag.js

O exemplo a seguir define analytics_storage como denied para usuários da Espanha e do Alasca e ad_storage como denied para todos os usuários.

gtag('consent', 'default', {
  'analytics_storage': 'denied',
  'region': ['ES', 'US-AK']
});

gtag('consent', 'default', {
  'ad_storage': 'denied'
});

A versão mais específica tem prioridade

Se dois comandos de consentimento padrão forem incluídos na mesma página com valores distintos para região e sub-região, o comando que tiver a região mais específica vai ter prioridade. Por exemplo, se você tiver ad_storage definido como granted para a região dos EUA e ad_storage definido como denied para a região US-CA, um visitante da Califórnia terá a configuração mais específica de US-CA. Para este exemplo, isso significa que um visitante da US-CA teria ad_storage definido como denied.

Região ad_storage Comportamento
Estados Unidos 'granted' Aplica-se a usuários nos EUA que não estão na Califórnia.
US-CA 'denied' Utilizado com usuários da região US-CA.
Não especificado 'granted' Usa o valor padrão de 'granted'. No exemplo, aplica-se a visitantes que não estão nos EUA nem na região US-CA.

Gerenciador de tags

Se você estiver usando um modelo para criar a tag, ela poderá ter os controles para definir o comportamento específico da região. Se você está criando uma tag de modelo por conta própria, consulte Criar um modelo de modo de consentimento para mais informações sobre como configurar o comportamento específico da região.

Transmissão de informações sobre cliques em anúncios, IDs de clientes e IDs de sessões em URLs

Quando um usuário acessa seu site depois de clicar em um anúncio, as informações sobre esse anúncio podem ser anexadas aos URLs da página de destino como um parâmetro de consulta. Para melhorar a precisão das conversões, essas informações geralmente são armazenadas em cookies primários no seu domínio.

No entanto, se ad_storage estiver definido como denied, essas informações não serão armazenadas localmente. Para melhorar a qualidade da medição de cliques no anúncio quando ad_storage for denied, você pode optar por transmitir informações sobre os cliques nos parâmetros de URL nas páginas usando a transferência de URL.

Da mesma forma, se analytics_storage for definido como denied, a transferência de URL poderá ser usada para enviar análises baseadas em eventos e sessões (incluindo conversões) sem cookies em todas as páginas.

Para usar a transferência de URL, as seguintes condições precisam ser atendidas:

  • Sua tag do Google reconhece o consentimento e está presente na página.
  • O anunciante aceitou usar o recurso de transferência de URL.
  • O modo de consentimento está implementado na página.
  • O link de saída se refere ao mesmo domínio da página atual.
  • Há um gclid/dclid presente no URL (somente tags do Google Ads e do Floodlight).

gtag.js

Para ativar esse recurso, defina o parâmetro url_passthrough como true:

gtag('set', 'url_passthrough', true);

Gerenciador de tags

Se você estiver usando um modelo para criar a tag, ele poderá ter os controles para definir a transferência de URL. Se você estiver criando uma tag de modelo por conta própria, consulte Criar um modelo de modo de consentimento para mais informações sobre como configurar a passagem de URL usando a API de modelo personalizado gtagSet.

Se preferir, use as opções a seguir para defini-lo nas tags do Vinculador de conversões e/ou do Google Analytics

Para tags do Google Ads e do Floodlight:

Para ativar esse recurso, crie ou use uma tag do Vinculador de conversões atual e verifique se a opção Ativar a vinculação em todos os URLs de páginas está marcada. Consulte a configuração básica para ver instruções sobre como criar uma tag do Vinculador de conversões.

Para tags do Google Analytics:

  1. No Gerenciador de tags, acesse Campos a serem definidos:
  2. Quando a seção "Campos a serem definidos" for expandida, clique em Adicionar linha.
  3. Em Nome do campo, insira o valor correto:
    • Para tags do Google Analytics: configuração do GA4, insira url_passthrough.
    • Para tags do Google Analytics: Universal Analytics que usam as variáveis de configuração do Google Analytics, insira urlPassthrough.
  4. Para Valor, digite "true".
  5. Salve a tag e publique-a.

Como alternativa, você pode definir o parâmetro url_passthrough como true em todas as páginas do seu site antes do snippet de instalação do GTM.

window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('set', 'url_passthrough', true);

Ao usar a transferência de URL, alguns parâmetros de consulta podem ser anexados a links à medida que os usuários navegam pelas páginas do site:

  • gclid
  • dclid
  • gclsrc
  • _gl
  • wbraid

Para alcançar melhores resultados, garanta que as seguintes condições sejam atendidas:

  1. Os redirecionamentos no seu site transmitirão todos os parâmetros de consulta acima.
  2. Suas ferramentas de análise vão ignorar esses parâmetros nos URLs da página.
  3. Esses parâmetros não causarão interferência no comportamento do site.

Editar dados de anúncios

Quando ad_storage for denied, não serão definidos novos cookies para fins de publicidade. Além disso, os cookies de terceiros definidos anteriormente em google.com e doubleclick.net não serão usados, exceto em caso de spam e fraude. Os dados enviados ao Google ainda conterão o URL completo da página, incluindo as informações de clique no anúncio nos parâmetros de URL.

gtag.js

Para editar ainda mais seus dados de anúncios quando ad_storage for denied, defina ads_data_redaction como true.

gtag('set', 'ads_data_redaction', true);

Quando ads_data_redaction for true e ad_storage for denied, os identificadores de cliques no anúncio enviados nas solicitações de rede pelas tags do Google Ads e do Floodlight serão editados. As solicitações de rede também serão enviadas por um domínio sem cookies.

Gerenciador de tags

Se você estiver usando um modelo para criar a tag, ela poderá ter os controles para editar ainda mais os dados de anúncios. Se você está criando uma tag de modelo por conta própria, consulte Criar um modelo de modo de consentimento para mais informações sobre como editar dados de anúncios.

O Gerenciador de tags inclui vários recursos que funcionam em conjunto para ajudar você a gerenciar o comportamento das tags em resposta às configurações de consentimento. Ele apresenta um acionador de inicialização de consentimento, configurações de tag para gerenciamento de consentimento e uma página "Visão geral do consentimento". Vários provedores de gerenciamento de terceiros criaram integrações com o modo de consentimento nos produtos deles. Saiba mais sobre os recursos de consentimento do Gerenciador de tags.

Para verificar e depurar a configuração do modo de consentimento, recomendamos usar o Assistente de tags. Com o Assistente de tags, você pode ver se o estado de consentimento está sendo definido e atualizado. O Assistente de tags é compatível com:

Saiba mais sobre a depuração do modo de consentimento do Assistente de tags.

Se você não usa um modelo de modo de consentimento, pode analisar suas configurações de consentimento com as ferramentas de desenvolvedor do navegador.

Para analisar suas configurações de consentimento:

  1. Na guia Elementos, digite dataLayer na barra de pesquisa. Confirme se:

    • O comando default vem antes de todos os outros eventos do Google.
    • Os estados de consentimento são definidos de acordo com a interação do usuário e com o comando update.
    • As tags são disparadas somente quando as configurações de consentimento necessárias são atendidas.
    • Tanto ads_data_redaction quanto url_passthrough são definidos de acordo com as configurações fornecidas pelo usuário.
  2. Na guia Rede:

    • Verifique o parâmetro gcs= nos URLs para ver o status do consentimento. O parâmetro gcs tem o seguinte formato: gcs=G1[ad_storage][analytics_storage].
    • Verifique os valores de parâmetro gcs= corretos com base no consentimento fornecido. O valor de ad_storage e analytics_storage será um dos seguintes:

      Valor Meaning
      Mercedes G100 O consentimento para ad_storage e analytics_storage foi negado.
      Mercedes G110 O consentimento foi concedido para ad_storage e negado para analytics_storage.
      J101 O consentimento é negado para ad_storage e concedido para analytics_storage.
      Mercedes G111 O consentimento para ad_storage e analytics_storage é concedido.
      G1- O site não exigiu consentimento para ad_storage ou analytics_storage.
    • Verifique se os domínios sem cookies (por exemplo, googlesyndication.com) são usados quando ads_data_redaction está definido como true.

    • Verifique se gclid/dclid está anexado aos URLs de saída quando url_passthrough está definido como true e se o parâmetro de vinculação _gl está presente (por exemplo, https://www.example.com/?_gl=1abcde5).

Controles de tags legadas

Se você usa tags legadas, como ga.js, analytics.js ou conversion.js, é necessário atualizar para a gtag.js ou o Gerenciador de tags do Google.

Para saber mais sobre os controles de privacidade de outras tags legadas, consulte a seguinte documentação: