Stape

Escreva dados ao Firestore a partir do servidor Google Tag Manager

Publicado
26 de abr de 2022
Também disponível

A integração Firestore e sGTM dá numerosas oportunidades para a tagging do lado do servidor. A melhor coisa que se pode fazer com esta combinação é enriquecer os dados do lado do servidor. 

Pode obter rapidamente dados do Firestire usando um novo Firestore Lookup. É uma variável nativa e disponível para todos no sGTM. Mas como se pode escrever dados para o Firebase? Stape resolveu este problema através da criação de uma tag Firestore Writer. 

Este post no blog vai mostrar como escrever dados para o Firestore a partir do container do servidor Google Tag Manager. Mostrarei também como usar a tag Firestore Writer e a variável Firestore Lookup para enriquecer os dados do lado do servidor. Vamos começar! 

O que é FirestoreCopiar link para esta secção

Firestore é uma base de dados NoSQL flexível e escalável com armazenamento orientado para a documentação. Ao contrário das bases de dados SQL, não existem tabelas ou linhas no Firestore - em vez disso, armazenam-se dados em documentos que se organizam em coleções para fácil navegação e gestão.

Firestore

O Firestore é a solução perfeita para quem tem extensas coleções de pequenos documentos. Armazena dados em documentos que estão organizados em coleções. Cada documento inclui pares nome-valor 

Firestore e servidor Google Tag ManagerCopiar link para esta secção

Com o mais recente lançamento da API GTM do lado do servidor, é agora possível construir a integração de Firestore e sGTM. Utilizámos esta API para criar a tag Firestore Writer. Deixe-me descrever rapidamente as funções que o Firestore sGTM API dá. 

Firestore.read - rlê dados do documento Firestore e devolve uma promessa que se resolve a um objecto que contém duas chaves: id e dados. 

Firestore.write - escreve dados para um documento ou coleção do Firestore. Se especificar apenas o caminho para a coleção, o documento será automaticamente criado com um nome aleatório. 

Firestore.query - devolve um conjunto de documentos Firestore que correspondem às condições de consulta especificadas.

Firestore.runTransaction - permite a leitura e escrita a partir do Firestore atomicamente.

Firestore Writer tagCopiar link para esta secção

firestore tag

Firebase Path - especifique um caminho até ao seu documento ou colecção Firestore. Não deve começar ou terminar com um '/.' Se o caminho for para uma coleção, será criado um documento com uma identificação gerada aleatoriamente. Se o caminho for para um documento que não existe, ele será gerado.

Há vários tipos de ação que esta tag permite:

  1. Adicionar Dados de Evento - enviar todos os Dados de Evento que tiver no sGTM para o documento Firestore. Se os Dados de Evento e os Dados Personalizados tiverem o mesmo campo, o valor dos Dados Personalizados será utilizado para esse campo. Dito de outro modo, pode substituir os valores dos Dados de Evento por Dados Personalizados.
  2. Fusão de chaves de documentos - Se verificado, a tag fundirá as chaves no documento Fire Store com os dados da sGTM. Caso contrário, a tag anulará todo o documento.
  3. Anular ID do Projecto Firebase - O projectId é recuperado da variável de ambiente GOOGLE_CLOUD_PROJECT desde que a configuração de permissão de acesso_firestore para o ID do projecto esteja configurada para * ou GOOGLE_CLOUD_PROJECT. Se o container do servidor for executado no Google Cloud, GOOGLE_CLOUD_PROJECT já será atribuído ao ID do projecto Google Cloud.
  4. Add Timestamp - quando ativada, a tag adiciona o timestamp de milissegundos ao documento.

Dados personalizados - utilizar isto para substituir os dados de eventos.

De que necessita para configurar a variável Firestore WriterCopiar link para esta secção

Se utilizar o stape para o alojamento sGTM, precisará destas coisas para criar a tag Firestore Writer:

1. Conta de Serviço Google ligada ao stapeCopiar link para esta secção

1. Crie ou inicie sessão na consola web da Plataforma Google Cloud.

2. Selecione IAM & Admin -> Contas de serviço -> Clique em Criar conta de serviço.

google cloud platform

3. Adicionar conta -> Clique em Seguinte -> Seleccionar funções BigQuery Data Editor para acesso a BigQuery ou a função de usuário da Cloud Datastore para Firestore. 

Se quiser usar a Conta de Serviço do Google apenas para BigQuery, escolha apenas a função de BigQuery Data Editor. O mesmo se aplica a Firestore. 

Quando chegar ao 3º passo, basta clicar em Done (Feito). 

google cloud platform

4. Crie chave privada -> seleccione JSON -> seleccione Create -> JSON será descarregado para o seu computador. 

google cloud platform

5. Abra a sua conta stape.io -> abra o contentor sGTM -> abra o separador Power-ups -> carregue o ficheiro JSON que descarregou do Google Cloud -> Clique em Save. 

stape

2. Conta FirebaseCopiar link para esta secção

1. Abra Firebase -> clique em Criar Projecto -> Seleccione o mesmo projecto que utilizou para criar a Conta de Serviço Google -> clique em Continuar -> Clique em Adicionar Firebase no terceiro passo. 

2. Clique em Construir -> Base de Dados Firestore. 

Firestore

3. Clique em Criar Base de Dados -> seleccione Iniciar em modo de produção -> Clique em Seguinte.

Firestore

4. Seleccione a localização da Cloud Firestore. Deve corresponder à sua localização de servidor sGTM. Para verificar a localização do servidor sGTM, vá à sua conta stape.io -> abra o container sGTM com Firebase.   

Firestore

5. Clique em Start a collection (Iniciar uma coleção). Aqui terá de definir o Firebase Path que ultimamente será usado no Google Spreadsheet Tag. Adicionei Firebase Path ao stape-demo/spreadsheet-auth -> Clique Guardar.

Firestore

Como configurar a tag Firestore WriterCopiar link para esta secção

A capacidade de escrever e ler dados de/para Firestore dá numerosos cenários para o enriquecimento de dados. Você armazena dados em Firesotre usando a tag Firestore Writer e extrai os dados necessários com a ajuda da variável Firestore Lookup para enviá-los em tags sGTM. 

Neste exemplo, pretendo enviar dados do usuário para a API de conversão do Facebook e quando esta informação não estiver disponível nos dados de eventos sGTM. Para o conseguir, armazenarei os dados do usuário e o ID do cliente Google Analytics (_gid) no Firebase quando um usuário fizer uma compra. Utilizando a variável de pesquisa Firestore e _gid (como identificação única do usuário), vou extrair os dados do usuário no evento page_view e enriquecer o evento page_view do Facebook CAPI.

2. Enviar dados para o container GTM do servidor. Os dois mais populares envios de dados para o sGTM são Google Analytics 4 e Data Tag/Data Client.

3. Descarregar a tag Firestore Writer de GitHub -> Abrir secções de templates no container Google Tag Manager do servidor -> Clicar em Novo.

4. Clique nos três pontos no canto superior direito -> Clique Importar -> Selecione o template da tag Firestore Writer que descarregou recentemente de GitHub -> Clique Save.

firestore tag

5. Crie uma nova tag Firestore Writer -> Adicione o Firebase Path. Vou usar o caminho de compra, esta configuração vai criar uma nova coleção chamada compra em Firestore, e todas as novas compras serão adicionadas como documentos Firestore com nomes aleatórios. Irei selecionar uma ação Adicionar Dados de Evento, o que significa que a tag irá escrever todos os dados de evento ao Firestore. Adicionei também Dados Personalizados para adicionar user_email e user_id ao documento Firestore. 

firestore tag

6. Teste a sua tag e verifique que dados foram adicionados ao Firestore. No meu caso, sempre que um usuário compra no site, um novo documento é adicionado ao Firestore com dados de evento sGTM. 

tag

7.Agora, crie a variável Firestore Lookup em sGTM. Seleccionei Collection Path & Query -> Specify Collection Path -> Configure a sua condição. No meu caso, cada vez que o user_id (em Firestore) corresponder exatamente à variável de pesquisa gid (em sGTM), a variável de pesquisa extrairá o valor user_email no documento Firestore correspondente.

firestore tag

8. Teste da variável de pesquisa Firestore na pré-visualização sGTM. 

firestore tag

9. Agora, posso enviar dados sGTM enriquecidos com e-mail do usuário, mesmo que o e-mail do usuário não esteja disponível no sGTM. 

Conclusão: Copiar link para esta secção

Existe um número ilimitado de possibilidades de enriquecimento de dados com a ajuda do Firestore. Como pode ver, é relativamente fácil escrever dados sGTM ao Firestore a partir de um container do Google Tag Manager. Esta opção, no final, pode ser utilizada para o enriquecimento de dados do servidor. 

Se precisar de ajuda na configuração do rastreamento do lado do servidor, não hesite em contactar-nos. Podemos ajudá-lo a introduzir os seus dados no Firestore e começar a obter conhecimentos a partir deles em pouco tempo. Obrigado por ler!

Precisa de ajuda na configuração da etiquetagem do lado do servidor?

Tudo o que é preciso são algumas perguntas simples. Clique em Obter ajuda, preencha o formulário, e enviar-lhe-emos um orçamento.

Obter ajuda

Aloje o seu servidor GTM no Stape