Notificação

A tag "Google Analytics: configuração do GA4" agora é a tag do Google. As tags de configuração do GA4 em um contêiner da Web serão migradas automaticamente a partir de setembro. Sua medição não vai mudar, e você não precisa fazer nada. Saiba mais

Configurar a TrustArc para receber o consentimento do usuário

Para coletar insights valiosos e proteger a privacidade do usuário, peça consentimento aos usuários do seu site. Recomendamos que você use uma plataforma de gestão de consentimento (CMP) ou trabalhe com seu sistema de gerenciamento de conteúdo (CMS) para obter o consentimento e enviar ao Google.

Etapa 1: configurar um banner de consentimento

  1. Se você tiver o CCM Advanced (serviço gerenciado), o Gerente técnico de contas (TAM) vai configurar seu banner de acordo com seus requisitos e diretrizes de estilo.
  2. Se você tiver o CCM Pro (CMP de autoatendimento), a TrustArc vai informar o URL para fazer login no portal e configurar seu banner usando os modelos predefinidos no assistente.
  3. Verifique se o banner está em conformidade com os requisitos da Política de consentimento de usuários da União Europeia (EUUCP, na sigla em inglês) do Google (em inglês). Para mais detalhes sobre a configuração de banners da TrustArc, consulte a seção Getting Started (link em inglês) do guia do usuário.
  4. Inclua os elementos <div>, responsáveis por renderizar o banner e o link da CMP no código do seu site ou use o Gerenciador de tags do Google.

Etapa 2: configurar o modo de consentimento

Como usar o Gerenciador de tags do Google

  1. Abra o Gerenciador de tags e acesse seu contêiner.
  2. Em "Tags", clique em "Nova" e dê um nome a ela.
  3. Clique em Configuração da tag e em "Descobrir mais tipos de tags" na Galeria de modelos da comunidade. Na galeria, pesquise "TrustArc CMP (Consent Mode)" e instale "TrustArc CMP (Consent Mode)" da TrustArc.
  4. Defina as configurações padrão que você quer usar em "Default Consent Mode settings".
  5. Selecione a opção Deploy CMP Script using the template.
    1. No campo CMP ID, insira o ID da instância disponível em Step 4: Copy Code Snippet do portal do CCM Pro. Se você tiver um CCM Advanced, o TAM vai poder fornecer essas informações.
    2. No campo Additional parameters, insira as outras configurações da sua instância. Elas são usadas para substituir as definições de back-end, como idioma, detecção geográfica, links da Política de Privacidade etc.
  6. Para configurar a opção Google Consent Mode Integration, marque a caixa Integrate CMP with Google Consent Mode.
  7. Informe o mapeamento dos tipos de consentimento e das preferências do usuário de acordo com suas configurações. Mapeie cada tipo de consentimento para o ID correspondente do bucket de consentimento de cookies (obrigatório, funcional, publicidade). No campo Preferences Cookie, mapeie um cookie primário para cmapi_cookie_privacy. No campo Behavior Cookie, mapeie um cookie primário para notice_behavior.
  8. Clique em Triggering > Consent Initialization - All Pages > Save.
  9. Para testar o contêiner, clique em Preview no canto superior direito. Confira as instruções de teste abaixo.
  10. Publique seu contêiner.

Usar outras plataformas ou editar diretamente o código do site

  1. Faça login no Portal de suporte da TrustArc (em inglês), abra o TrustArc Google Consent Mode Implementation Guide (em inglês) e siga as instruções da seção Integrating the Consent Mode Using JavaScript.
  2. Se você usa um criador de sites, leia a documentação dele para saber como implementar o código na tag "head" de cada página. Caso contrário, pule para a etapa 3.
  3. Se você estiver usando a versão CCM Advanced, siga esta etapa. Caso contrário, pule para a etapa 4. Na parte de cima da tag "head" de cada página (consulte a etapa 2 se você estiver usando um criador de sites), copie e cole o código abaixo, seguido pelo script da CMP que você copiou na etapa 1. Isso é importante para garantir o funcionamento correto da CMP.

    <script>

    window.dataLayer = window.dataLayer || [];

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

     

    gtag('js', new Date());

    gtag('config', 'AW-YYYYYY');

     

    // Tipos de consentimento padrão definidos como "negados" como um marcador de posição

    // Determinar os valores reais com base nos seus próprios requisitos

    // Omitir os tipos de consentimento que não estão sendo usados

    gtag('consent', 'default', {

    'ad_storage': 'denied',

    'ad_user_data': 'denied',

    'ad_personalization': 'denied',

    'analytics_storage': 'denied',

    'functionality_storage': 'denied',

    'personalization_storage': 'denied',

    'security_storage': 'denied',

    'wait_for_update': 500

    });

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

    gtag('set', 'developer_id.dNTIxZG', true);

    </script>

    <!--Script do banner aqui!-->

  4. Se você estiver usando a versão CCM Pro, siga esta etapa. Na parte de cima da tag "head" de cada página (consulte a etapa 2 se você estiver usando um criador de sites), copie e cole o código abaixo, seguido pelo script da CMP que você copiou na etapa 1. Isso é importante para garantir o funcionamento correto da CMP. Ajuste a associação entre os buckets da CMP e os tipos de consentimento.

    window.dataLayer = window.dataLayer || [];

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

    gtag('js', new Date());

    gtag('config', 'GA_MEASUREMENT_ID');

    gtag('set', 'developer_id.dNTIxZG', true);

    // TODO: pode ser mudado de acordo com as necessidades do cliente e com a configuração

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

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

    //Status do modo de consentimento

    const ConsentType = {

    DENIED: 'denied',

    GRANTED: 'granted',

    };

     

    const convertBooleanToGrantedOrDenied = (boolean) => boolean ? ConsentType.GRANTED : ConsentType.DENIED;

     

    /*

    TODO: aqui você pode configurar o modo de consentimento do Google, mapear a categorização da CMP e os valores padrão para a inicialização do consentimento

    O Google recomenda comentar nos tipos de consentimento que você não vai usar.

    */

    const domain = 'your_domain.com'; // TODO: atualizar

    // Mapeamento de bucket

    const REQUIRED = 1;

    const FUNCTIONAL = 2;

    const ADVERTISING = 3;

    const consentTypesMapped = {

    'ad_storage': ADVERTISING,

    'ad_user_data': ADVERTISING,

    'ad_personalization': FUNCTIONAL,

    'analytics_storage': FUNCTIONAL,

    'functionality_storage': FUNCTIONAL,

    'personalization_storage': FUNCTIONAL,

    'security_storage': REQUIRED

    }

    const getConsentState = (prefCookie) => {

    var consentStates = {};

    var noticeBehavior = window.truste.util.readCookie("notice_behavior");

    /*

    TODO: pode ser mudado de acordo com as necessidades do cliente e com a configuração

    */

    var impliedLocation = noticeBehavior && noticeBehavior.includes("na");

    for (const consentType in consentTypesMapped) {

    var id = consentTypesMapped[consentType];

     

    if(prefCookie && !prefCookie.includes(0)) {

    console.log("Existing consent..");

    consentStates[consentType] = convertBooleanToGrantedOrDenied(prefCookie && prefCookie.includes(id));

    } else {

    console.log("Non Existing consent..");

    consentStates[consentType] = convertBooleanToGrantedOrDenied(impliedLocation);

    ;}

    ;}

    consentStates['wait_for_update'] = 500;

    console.log(consentStates);

    return consentStates;

    };

    /*

    Função auxiliar para enviar um evento do GCM com base nas preferências do usuário no script da TrustArc

    consent: o objeto de consentimento vai ser uma matriz de valores [1, 2, 3, n], em que 1 significa "obrigatório", 2 "funcional" etc.

    Essa função precisa ser personalizada de acordo com o mapeamento necessário do cliente. Por exemplo, 'ad_storage': returnGrantedOrDenied(advertisingAccepted) está sendo mapeado para publicidade. Se quisermos mapear para funcional, basta mudar a variável do bucket que está sendo analisada.

    */

     

    var runOnceGCM = 0;

    function handleConsentDecisionForGCM(consent) {

    //Este código inicializa o modo de consentimento

    const consentStates = getConsentState(consent.consentDecision);

    var defaultOrUpdate;

    if (runOnceGCM == 0) {

    defaultOrUpdate = 'default';

    runOnceGCM++;

    } else {

    console.log('consent is being updated');

    defaultOrUpdate = 'update';

    }

    console.log(consentStates);

    //Assim que o consentimento for mudado, vamos enviar uma atualização

    gtag('consent', defaultOrUpdate, {

    consentStates

    });

    }

     

    // Esse código é responsável por detectar todas as mudanças de consentimento pela instância do CCM da TrustArc

    // E enviar as alterações de consentimento para a camada de dados de acordo com o mapeamento de consentimento do cliente

    // O objetivo é o carregamento inicial. Se o usuário tiver um consentimento diferente dos valores padrão, envia uma atualização à camada de dados

    // Assim que o CCM é carregado.

    var interval = setInterval(() => {

    if (window.truste) {

    var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);

    handleConsentDecisionForGCM(consentDecision);

    clearInterval(interval);

    console.log("running once...");

    }

    }, 100);

     

    // Começar a detectar quando os usuários enviam as preferências

    window.addEventListener("message", (event) => {

    let eventDataJson = null;

    // Por enquanto, só consideramos os eventos da TrustArc. A TrustArc é codificada em JSON.

    try {

    eventDataJson = JSON.parse(event.data);

    } catch {

    // Algum outro evento que não seja JSON.

    // A TrustArc codifica os dados como JSON

    // console.log(event.data);

    }

     

    // Proteger para receber apenas eventos da TrustArc

    if (eventDataJson && eventDataJson.source === "preference_manager") {

    // Significa que o usuário enviou as preferências dele

    if (eventDataJson.message === "submit_preferences") {

    console.log("Event Data: ", eventDataJson);

    // Esperar meio segundo para garantir que as preferências do usuário sejam aplicadas.

    setTimeout(() => {

    var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);

    console.log("Consent Decision: ", consentDecision);

    handleConsentDecisionForGCM(consentDecision);

    }, 500);

    }

    }

    }, false);

    <!--Script do banner aqui!-->

Isso foi útil?

Como podemos melhorá-lo?
true
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
17331162128182971928
true
Pesquisar na Central de Ajuda
true
true
true
true
true
102259
false
false