Dependendo dos produtos e recursos configurados, as soluções de medição do Google usam mecanismos como leitura e gravação de cookies ou envio de solicitações HTTP para oferecer compatibilidade com análises, medição de conversões e remarketing.
É possível configurar esses mecanismos para usá-los apenas com base no consentimento. Por exemplo, você pode configurar suas tags do Google para não ler nem gravar cookies até que o consentimento do usuário seja fornecido. Antes disso, as tags funcionarão com capacidade limitada. Após o consentimento, a funcionalidade será restaurada com base na maneira como você atualizou o comportamento.
O ajuste do comportamento das tags com base no status de consentimento do usuário é compatível com as seguintes soluções:
- Google Ads
- Floodlight
- Google Analytics
- Vinculador de conversões
Antes de começar
Leve o seguinte em consideração 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 medição de usuários de regiões em que os banners de consentimento não são obrigatórios e o padrão está definido como "negado". Consulte Comportamento específico da região.
- É comum que o consentimento do usuário seja gerenciado por uma plataforma de gerenciamento de consentimento (CMP). Se você estiver usando uma CMP, verifique a compatibilidade com o modo de consentimento.
- Caso esteja usando 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 terão a oportunidade de atualizar o estado de consentimento se ele estiver definido como "negado" por padrão.
- Ao criar seus próprios modelos ou tags HTML personalizadas, não há garantia de que os comandos executados em callbacks ou que usam
gtag()
estarão 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.
Ajustar o comportamento das tags
É necessário configurar o comportamento das tags no modo de consentimento em todas as páginas do seu site. Em cada uma delas, geralmente há dois pontos em que essa configuração já existe:
No carregamento da página: quando a página for carregada, use apenas recursos de medição correspondentes às expectativas dos seus usuários. Essa configuração pode ser definida usando o comando
gtag('consent', 'default', ...)
.Após o visitante informar um status de consentimento ou se esse status for conhecido: depois que o visitante informar o status de consentimento ou se ele tiver vindo de um carregamento de página anterior, ative os recursos de medição autorizados (por exemplo, leitura/gravação de cookies) usando o comando
gtag('consent', 'update', ...)
.
Configurar um comportamento padrão
gtag.js
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 evento). 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'
});
Gerenciador de tags
Para ajustar os recursos de medição padrão, faça o seguinte:
- Use uma tag de modelo da Galeria de modelos da comunidade que use as APIs de consentimento do Gerenciador de tags para definir o estado padrão.
- Configure a tag para disparar com o acionador de inicialização de consentimento. Consulte Configuração de consentimento.
Se preferir, faça o seguinte em todas as páginas do seu site antes que as tags sejam disparadas:
- Verifique se o objeto
dataLayer
está definido. - Confira se a função
gtag()
foi configurada. - Use o comando
gtag('consent', ...)
para definir os recursos de medição. - Envie um evento
default_consent
usandodataLayer.push()
.
Por exemplo, para negar ad_storage
e analytics_storage
por padrão:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied'
});
dataLayer.push({
'event': 'default_consent'
});
Isso definirá os valores padrão de ad_storage
e analytics_storage
como denied
. Para ver todos os detalhes sobre as chaves compatíveis, acesse o consentimento na Referência da API gtag.js.
Atualizar um comportamento
Quando seus usuários fornecem consentimento, geralmente em uma interação com um banner correspondente, ou se o status de consentimento deles for de um carregamento de página anterior, atualize o comportamento das tags com o comando gtag('consent', 'update', ...)
. Por exemplo, para um usuário que autorizou o uso de cookies de publicidade:
gtag('consent', 'update', {
'ad_storage': 'granted'
});
Somente os campos fornecidos para a chamada de atualização serão alterados. Acima, somente o valor ad_storage
mudou. Se analytics_storage
fosse definido como denied
, então analytics_storage
ainda seria negado depois da chamada para autorizar ad_storage
. Você é responsável por garantir que os valores corretos sejam definidos para todas as chaves de consentimento. Para ver todos os detalhes sobre as chaves compatíveis, acesse o consentimento na Referência da API.
Esse comando deve ser chamado o quanto antes em todas as páginas. Depois que o usuário indicar o consentimento, mantenha a escolha e chame o comando "update" conforme necessário nas páginas seguintes.
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 a ad_storage
, ele será atualizado para granted
.
A ordem do código é essencial. Se o código de consentimento for chamado fora de ordem, seus padrões de consentimento não funcionarão. Os detalhes variam dependendo dos requisitos da sua empresa, mas de modo geral, o código precisa ser executado na seguinte ordem:
- Carregue a tag global do site. 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 ela for carregada de maneira assíncrona, consulte as ferramentas assíncronas para saber como garantir que essa ação ocorra na ordem certa.
- Se a solução de consentimento não fizer o processamento, chame
gtag('consent', 'update', ...)
depois que o usuário autorizar.
gtag.js
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Default ad_storage to 'denied'.
gtag('consent', 'default', {
'ad_storage': 'denied'
});
gtag('js', new Date());
gtag('config', 'G-XXXXXX');
</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
Se você não estiver usando uma CMP para processar os comandos de atualização, faça o seguinte:
- Use uma tag de modelo da Galeria de modelos da comunidade que use as APIs de consentimento do Gerenciador de tags para definir o estado atualizado.
- Configure a tag para disparar com o acionador de inicialização de consentimento. Consulte Configuração de consentimento.
Também é possível atualizar o código na sua página da seguinte maneira:
<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
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. Por exemplo, se você quiser definir ad_storage
como denied
para usuários da Espanha e do Alasca e definir analytics_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 prevalecerá. Por exemplo, se ad_storage
tiver sido definido como granted
para a região US
e ad_storage
estiver definido como denied
para a região US-CA
, a configuração mais específica US-CA
prevalecerá. Nesse caso, isso significa que um visitante da Califórnia, 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' |
Aplica-se a usuários da região US-CA. |
Não especificado | 'granted' |
Usa o valor padrão de 'granted' . Aplica-se aos usuários que não estão nos EUA nem na região US-CA.
|
Informações sobre o clique no anúncio
Quando um usuário acessa seu site depois de seguir 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, as tags do Google geralmente armazenam essas informações em cookies primários no seu domínio.
No entanto, se ad_storage
estiver definido como denied
, as tags do Google não salvarão as informações localmente. Para melhorar a qualidade da medição de cliques no anúncio quando ad_storage
for denied
, opte por transmitir as informações de clique usando parâmetros de URL nas páginas.
gtag.js
Para ativar esse recurso, defina o parâmetro url_passthrough
como true
:
gtag('set', 'url_passthrough', true);
Gerenciador de tags
Para ativar esse recurso, crie uma nova ou use uma tag atual do Vinculador de conversões 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, que traz instruções sobre como criar uma tag do Vinculador de conversões.
Quando você usar a transferência de URL, alguns parâmetros de consulta serão anexados aos links no seu site:
gclid
dclid
gclsrc
_gl
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.
Para fazer ainda mais edições nos 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.
Ferramentas assíncronas
Se a ferramenta de consentimento for carregada 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 será necessário esperar antes do envio dos dados.
No exemplo 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
})
Recursos de configuração de consentimento do Gerenciador de tags
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.
Controles de tags legadas
Se você usa tags legadas do Google, como ga.js, analytics.js ou conversion.js, é necessário fazer a atualização 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: