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:
- Visão geral do modo de consentimento
- APIs de consentimento do Gerenciador de tags
- APIs de consentimento da tag do Google
- Criar um modelo do modo de consentimento
- Galeria de modelos da comunidade
- Configuração do consentimento da tag
- Depuração do modo de consentimento no Assistente de tags
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.
Estado de consentimento do acompanhamento
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:
- Definir padrões de consentimento
- Atualizar estado de consentimento
- Integração com plataformas de gerenciamento de consentimento assíncrono
Definir padrões de consentimento
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'
});
Atualizar o estado de consentimento
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'
});
Integração com plataformas de gerenciamento de consentimento assíncrono
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
eupdateConsentState
. A APIgtagSet
pode ser usada para definir as configurações de transferência de URL eads_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:
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.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.
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>
Recursos de consentimento avançados
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:
- No Gerenciador de tags, acesse Campos a serem definidos:
- Para tags do Google Analytics: configuração do GA4, selecione Configuração da tag > Campos a serem definidos.
- Para tags do Google Analytics: Universal Analytics, use uma variável de configurações do Google Analytics e selecione Configuração da variável > Mais configurações > Campos a serem definidos.
- Quando a seção "Campos a serem definidos" for expandida, clique em Adicionar linha.
- 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
.
- Para tags do Google Analytics: configuração do GA4, insira
- Para Valor, digite "true".
- 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:
- Os redirecionamentos no seu site transmitirão todos os parâmetros de consulta acima.
- Suas ferramentas de análise vão ignorar esses parâmetros nos URLs da página.
- 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.
Recursos de configuração de consentimento do Gerenciador de tags do Google
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.
Verificar configurações de consentimento
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:
- Comandos de consentimento da gtag
- Uma tag criada com base em um modelo de modo de consentimento do Gerenciador de tags
- Transparency and Consent Framework (TCF)
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:
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
quantourl_passthrough
são definidos de acordo com as configurações fornecidas pelo usuário.
- O comando
Na guia Rede:
- Verifique o parâmetro
gcs=
nos URLs para ver o status do consentimento. O parâmetrogcs
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 dead_storage
eanalytics_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 comotrue
.Verifique se
gclid
/dclid
está anexado aos URLs de saída quandourl_passthrough
está definido comotrue
e se o parâmetro de vinculação_gl
está presente (por exemplo, https://www.example.com/?_gl=1abcde5).
- Verifique o parâmetro
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: