8 de out de 2025
Escrito por
Ira Holubovska
Antes de realizarem uma compra, os clientes interagem com as marcas através de vários canais, tanto online como offline. Isto pode dificultar o acompanhamento destas interações num único local por parte dos profissionais de marketing e especialistas em análise. Ferramentas padrão como o Google Analytics ou o rastreio do lado do servidor do Matomo muitas vezes não conseguem rastrear eventos offline. Para resolver este problema, recorre-se habitualmente a plataformas de dados de clientes (CDP).
Uma forma de utilizar uma CDP é adquirir uma ferramenta pré-configurada, o que pode ser dispendioso. Outra opção é criar a sua própria CDP. Neste artigo do nosso blogue, mostraremos como criar uma versão simples de uma CDP utilizando o Google Tag Manager do servidor e uma base de dados.
Esta configuração permite combinar todas as informações dos seus clientes num só local, facilitando a sua compreensão e permitindo contactá-los de forma mais eficaz. Quer esteja a dar os primeiros passos no rastreio, quer seja um especialista experiente, este guia pode ajudar a criar uma CDP que melhore significativamente a gestão dos dados dos clientes.
O contentor do Google Tag Manager do servidor receberá pedidos sobre todas as interações dos utilizadores, quer online quer offline. Pode utilizar clientes padrão como o GA4 ou o Data Client para receber eventos online a partir do GTM web. Para obter eventos offline, pode utilizar webhooks. Mais à frente no blogue, mostrarei como enviar e depurar dados de webhooks dentro do sGTM.
Independentemente do tipo de dados que o sGTM receba, estes serão armazenados na base de dados. Existem várias bases de dados com as quais o sGTM pode ser integrado, como por exemplo, Firebase, Supabase (muito mais económica do que o Firestore) ou a Data Store. Aqui utilizarei a Stape Data Store, uma vez que é uma funcionalidade integrada na Stape e é gratuita para clientes com planos pagos da Stape (planos Pro ou superiores).
Além do sGTM e da store, utilizaremos também um identificador exclusivo de utilizador, o que ajudará a guardar os dados de um utilizador no mesmo documento.
1. Fonte de dados (CRM, SDK, CMS, aplicação móvel, website, etc.).
2. Contentor GTM do servidor.
3. Base de dados (neste guia utilizarei a Data Store. Também pode utilizar o Firestore ou o Supabase, para o qual a Stape criou a tag Supabase writer).
4. Para ler/escrever dados a partir da base de dados, podem ser utilizados estes modelos do sGTM:
5. Identificadores exclusivos de utilizador. Neste guia, utilizarei um User ID exclusivo ou o ID de utilizador do WordPress gerado pelo plugin WordPress da Stape.
É assim que os dados do utilizador fluem da fonte de dados (CRM) para a CDP:

O método de receção de dados depende de como envia os dados para o sGTM. Estas são as três formas de obter dados:
Esta é a parte mais complexa e crucial. Para criar uma CDP adequada, deve dispor de dados precisos sobre os utilizadores e as respetivas ações com a sua marca. A CDP deve conter informações atualizadas e dados claros e não duplicados. Precisa de um User ID adequado para criar um sistema de perfis de utilizador deste tipo.
Para utilizadores identificados, pode utilizar um e-mail ou um ID interno que possa ser utilizado em diferentes sistemas. Se um utilizador não estiver identificado, pode ser um Stape User ID composto por um hash de:
Se a sua marca operar em vários domínios, também pode ativar a opção Cross-domain ID no power-up User ID. Esta gera um ID adicional (X-Stape-Cross-Domain-Id) a partir dos mesmos sinais, mas sem o hostname, para que o mesmo utilizador não identificado obtenha um único ID em todos os seus domínios ligados ao contentor do servidor. Isto ajuda a evitar perfis duplicados na sua CDP.
Se, por motivos de conformidade com a privacidade, pretender tornar o seu User ID mais exclusivo, pode adicionar uma variável dependente. Pode ser um dia, mês, semana ou ano. Tudo depende do nível de exclusividade pretendido para o ID.
Utilizaremos a variável reStore ou a tag Stape Store Writer e a Stape Store Lookup para fundir e unificar perfis de utilizador a partir dos pedidos e da base de dados. Cópias destes modelos também estão disponíveis no GitHub da Stape.
A tag writer e as variáveis de pesquisa são bastante intuitivas. Estes dois modelos permitem escrever e ler dados a partir da Data Store.
A variável restore identificará primeiro se o utilizador existe na base de dados. Inicialmente, a variável obtém todos os identificadores de utilizador a partir do nosso evento (e-mail, telefone ou client ID). Em seguida, envia uma consulta para a Store para selecionar clientes que possuam um desses identificadores. Se existirem informações sobre o cliente na base de dados, devolverá os dados desse cliente.

Quando uma variável obtém a resposta da Store, funde-a com o pedido recebido. Por exemplo, se não existir o campo city, este campo será utilizado a partir da Store. Se os pedidos recebidos tiverem o campo city, mas a Store não o tiver, ou este for diferente, os dados do pedido para este campo serão gravados na store. Esta variável cria uma nova entidade se um cliente for encontrado parcialmente na store.

Assim que os dados no sGTM forem processados e formatados no formato do sGTM, pode utilizá-los para enviar para qualquer fornecedor pretendido, como a Meta, o TikTok, o Google Ads ou o Analytics. Tenha em atenção os dados do utilizador que são enviados nos pedidos.
A depuração no sGTM é difícil, mas os eventos offline podem ser ainda mais complexos. Vamos abordar como utilizar o seguinte:
Apresentarei dois casos de utilização para demonstrar como o Data Store pode ser utilizado. Verificámos que estes são os cenários mais populares entre os clientes da Stape.
1. Configure o User ID. Irei utilizar o power-up User ID da Stape, que ajudará a agregar utilizadores a clientes.
a. Inicie sessão na sua conta Stape e ative o power-up. Para o fazer, abra o contentor sGTM, clique no separador Power-ups, abra o User ID, ative o comutador e guarde.

b. No contentor do Server GTM, crie uma variável que irá obter o User ID a partir dos cabeçalhos do pedido no servidor.

2. Grave dados na base de dados no evento purchase. Certifique-se de que adiciona um User ID da Stape aos dados do evento.
a. Adicione uma etiqueta Stape store writer à galeria de modelos do sGTM (transfira-a do GitHub e importe-a para a secção de modelos de etiquetas do sGTM) e crie uma etiqueta para gravar dados do evento num evento purchase. Estou a gravar todos os dados do evento e a adicionar um User ID da Stape ao registo da store. Iremos precisar dele para agregar utilizadores num evento pageview.

b. Se a etiqueta tiver funcionado corretamente, verá um registo na sua base de dados semelhante à captura de ecrã abaixo.

3. Enriquecer os dados do evento pageview com os dados armazenados no Data Store.
a. Para associar os utilizadores do evento pageview àquele que armazenamos na base de dados, utilizaremos novamente o User ID da Stape e a variável Stape Store lookup, capaz de obter dados do repositório. Adicione a variável Stape Store Lookup à galeria de modelos de variáveis do sGTM. Para transferir o modelo a partir do GitHub, aceda à secção de modelos do sGTM. Clique em New na secção de variáveis e, em seguida, em Import.

b. Crie uma variável Stape Store Lookup para os parâmetros que pretende restaurar: caminho do documento do anúncio e nome do caminho.

c. Adicione uma variável Lookup à etiqueta de pageview.

4. Teste a configuração. Deverá ver dados de utilizador enriquecidos na etiqueta acionada no contentor sGTM.

Neste caso de utilização, pretendo enviar dados de eventos offline para uma rede de publicidade. Ao enviar dados de conversão para a plataforma do anunciante, o elemento crítico é o envio de um click ID. O click ID é um identificador adicionado ao URL ou aos cookies quando o utilizador clica no link do anúncio. Com a ajuda do click ID, a rede de publicidade pode atribuir facilmente a conversão à campanha publicitária.
Os Click IDs estão disponíveis para todos os eventos web, mas se pretender utilizar dados de conversão do CRM ou CMS para enviar para a rede de publicidade, na maioria dos casos, os click IDs não estão disponíveis.
Para configurar esta opção, vou utilizar a variável de restauro da Stape para registar dados no Data Store no pageview e restaurar dados nos eventos de compra. Além disso, vou precisar de uma transformação no contentor sGTM para enriquecer o evento enviado para o Facebook. Outro elemento crítico é fazer a correspondência entre utilizadores nos eventos de pageview e utilizadores nos webhooks de compras offline. Para o fazer, deve utilizar um identificador de utilizador que se mantenha o mesmo nos eventos de pageview na web e nas compras offline.
Com os CMSs padrão, é fácil alcançar isto porque estes normalmente têm este tipo de identificador em cookies. Terá de pedir aos programadores para adicionarem estes parâmetros nos websites dos clientes. A minha configuração foi feita num site WordPress. O plugin da Stape para WordPress envia um User ID exclusivo nos eventos web e adiciona-o ao webhook. Utilizando este User ID, consigo fazer a correspondência de utilizadores entre um pageview e os webhooks de compra na base de dados.
1. Receber o webhook de compra da fonte de dados offline dentro do sGTM.
a. Envie um webhook a partir do CRM. Vou utilizar a aplicação Stape para WordPress para o efeito. Aceda ao separador Webhooks e adicione o URL do contentor Server GTM. Este é o domínio que utiliza para o seu contentor de GTM do lado do servidor. Recomendamos a configuração de um domínio personalizado dentro do domínio do seu website, uma vez que isso permitirá configurar cookies primários. Não se esqueça de selecionar as caixas de verificação.

b. Adicione o Data client ao modelo de clientes do sGTM e configure-o para recolher os webhooks que está a enviar a partir do CRM. Para o fazer, crie um modelo de Data Client e adicione um Webhook path.

c. Configure o power-up Preview Header config do sGTM na Stape para depurar os webhooks recebidos no sGTM. Aceda à pré-visualização do sGTM, clique nos três pontos no canto superior direito e clique em Send requests manually. Copie o cabeçalho HTTP X-Gtm-Server-Preview e cole-o no power-up Preview Header config do sGTM.


d. Abra o depurador do sGTM e teste se este recebeu webhooks. Assim que o webhook for acionado, deverá ver o pedido recebido dentro do sGTM e verificar que o data client reivindicou esse pedido.

2. Escreva os parâmetros fbc, fbp e client ID no evento pageviews para a base de dados.
Neste passo, mostrar-lhe-ei como escrever os parâmetros fbc e fbp na base de dados utilizando a variável reStore. Para o fazer, utilizaremos uma etiqueta de pageview do Facebook para acionar eventos de pageview e uma transformação que escreverá dados no armazenamento utilizando a variável reStore.
a. Adicione uma variável reStore às variáveis do sGTM através deste link. Terá de a descarregar do GitHub, criar um novo modelo de variável no sGTM e clicar em importar.
b. Configure a variável reStore. Esta deve utilizar um user ID do WordPress e um identificador, e escrever o fbp, fbc e o user ID do WordPress no armazenamento.

c. Crie uma transformação que enriqueça os dados de eventos nos eventos de pageview do Facebook utilizando a variável reStore e adicione esta transformação à sua etiqueta de pageview do FB.

d. Teste a configuração. Se tudo estiver configurado corretamente, deverá ver dados registados no Data Store.

e. Configure um evento purchase do Facebook que será acionado sempre que um webhook for recebido. Para enriquecer este evento com os dados do Data Store, precisará de utilizar uma transformação e a mesma variável de restauro que utilizou para a transformação num evento pageview do FB. Isto irá extrair o parâmetro necessário num evento purchase. Mas, para enviar os dados no formato que o Facebook reconhece, precisará de usar uma variável extratora de objetos que extrai o objeto pretendido da variável de restauro.



f. Teste a sua configuração. Se tudo funcionar corretamente, deverá ver que os parâmetros fbc e fbp foram enviados com sucesso para o Facebook ou num evento offline purchase.


Com a ajuda do Data Store, é possível criar uma base de dados de clientes ou uma CDP. Esta ferramenta oferece uma forma simples de recolher e armazenar todas as informações que obtém dos seus clientes, o que pode ajudar a criar melhores formulários de análise ou a melhorar os resultados das suas campanhas pagas. Incrementar e enriquecer os dados dos clientes pode ajudar a compreender melhor o respetivo comportamento e preferências, o que, por sua vez, permite aperfeiçoar as suas estratégias de marketing.
Gostaria de experimentar o rastreio server-side?
Experimentar gratuitamente8 de out de 2025
Comentários