Digital Analytics
Publicado por Zé Matias

Como extrair dados do Data Layer no Google Tag Manager


A camada de dados ou Data Layer é um objeto, ou vetor de objetos, que contém todas as informações que você quer transmitir ao Google Tag Manager.

Informações, como eventos ou variáveis, podem ser enviadas ao Google Tag Manager através da camada de dados, e os acionadores podem ser configurados no Gerenciador com base nos valores das variáveis (por exemplo, disparar uma tag de remarketing quando purchase_total > US$ 100) ou em eventos específicos.

Os valores das variáveis também podem ser transmitidos a outras tags, por exemplo, enviando o purchase_total para o campo de valor de uma tag.

Basicamente existem 3 formas de extrair dados do Data Layer no Google Tag Manager: Chaves de Primeiro Nível, Chaves de Segundo Nível ou Child Keys e Dados de um Vetor ou Array.

Como extrair dados de uma Chave Primária no Data Layer

As chaves de primeiro nível são as variáveis padrão do data layer. Seguem a seguinte estrutura:

<script>
  dataLayer = [{
    'pageCategory': 'signup',
    'visitorType': 'high-value'
  }];
</script>

Para coletar os dados destas variáveis basta criar uma variável no Google Tag Manager com o mesmo nome, assim poderá ser usada para outros acionadores ou tags.

Como extrair dados de Chaves Secundárias

Para extrair os valores de uma variável secundária, ou child key, que é basicamente uma variável dentro de outra, como esta:

{
  attributes: {
    pageCategory: 'signup'
  }
 }

Esta variável pode ser extraída da seguinte forma:

Como extrair dados de Vetores no Google Tag Manager

Este cenário é muito comum na implementação do Ecommerce no Google Analytics ou no Enhanced Ecommerce. Onde temos um vetor contendo os dados de transação, impressões de produtos, cliques, etc.

Este é o exemplo oficial da base de conhecimento deles:

<script>
// Send transaction data with a pageview if available
// when the page loads. Otherwise, use an event when the transaction
// data becomes available.
dataLayer.push({
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',                         // Transaction ID. Required for purchases and refunds.
        'affiliation': 'Online Store',
        'revenue': '35.43',                     // Total transaction value (incl. tax and shipping)
        'tax':'4.90',
        'shipping': '5.99',
        'coupon': 'SUMMER_SALE'
      },
      'products': [{                            // List of productFieldObjects.
        'name': 'Triblend Android T-Shirt',     // Name or ID is required.
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 1,
        'coupon': ''                            // Optional fields may be omitted or set to empty string.
       },
       {
        'name': 'Donut Friday Scented T-Shirt',
        'id': '67890',
        'price': '33.75',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Black',
        'quantity': 1
       }]
    }
  }
});
</script>

No caso acima se quiséssemos extrair o valor da transação (revenue) para enviar para o Google Tag Manager, criaríamos a seguinte variável no GTM:

ecommerce.purchase.actionField.revenue

Porém se quisermos pegar o dado de preço de um dos produtos neste vetor, teríamos a seguinte variável:

ecommerce.purchase.products.0.price

No exemplo acima queremos o primeiro produto, logo a contagem começa em 0, caso queira usar os dados do segundo produto, seria a posição 1 e assim por diante.

Este método é muito útil para extrair dados da implementação do Enhanced Ecommerce para o Facebook, Google Ads e outras plataformas que podem usar os dados de transações para otimizar campanhas e criar públicos.

Agora, você sabe como extrair dados da camada de dados de 3 maneiras diferentes. Embora todos utilizem a mesma variável da camada de dados, seus nomes são diferentes e dependem da estrutura de dados – matrizes, chaves aninhadas ou chaves simples (primeiro nível).

Texto Original: https://www.analyticsmania.com/post/pull-data-from-data-layer-google-tag-manager-tutorial/


Consultor Freelancer de Analytics, SEO e Performance.

Ver comentários