Blog
Google Ads com etiquetagem do lado do servidor: como cada conversão encontra o seu clique
Publicado · 6 min de leitura
Configurar o acompanhamento de conversões no Google Ads termina com dois pedidos: ligar a sua etiqueta Google existente e colar um snippet de evento na página de compra. Com etiquetagem do lado do servidor, o primeiro está certo e o segundo é um erro. Este artigo segue um clique num anúncio desde a página de destino até à conversão no Google Ads: o que passa pelo seu servidor de etiquetagem, o que vai diretamente para a Google e do que a SignalHost trata pelo caminho. Usamos o Google Ads no signalhost.io, por isso tudo o que aqui está foi medido no nosso próprio site.
O que muda quando liga a sua etiqueta Google
Ao criar uma ação de conversão, o Google Ads procura uma etiqueta Google no seu site e propõe usá-la. Se aceitar, a sua etiqueta Google — a que tem o seu ID de medição G- — recebe a sua conta Ads (AW-…) como segundo destino. A Google avisa que isto atualiza as definições da etiqueta. A alteração é feita nas definições da etiqueta na Google, não no seu contentor do Tag Manager, mas a partir daí cada página que carrega a etiqueta também comunica com o Google Ads.
Cada visualização de página envia agora alguns pedidos do navegador do visitante diretamente para a Google, para googleads.g.doubleclick.net e www.google.com, para as suas listas de remarketing e para as medições da própria Google. Não passam pelo seu servidor de etiquetagem, e é de propósito: reencaminhados por um servidor, chegariam todos a partir do endereço do servidor em vez do do visitante, e não é isso que quer mostrar a uma plataforma de publicidade. Os seus dados do GA4 continuam a passar pelo seu próprio domínio, como antes.
É novo na etiquetagem do lado do servidor? Como se configura o Google Tag Manager do lado do servidor, passo a passo.
Não coloque o snippet de conversão da Google na sua página
Depois, o Google Ads oferece um snippet de evento para a sua página de compra. Envia a conversão do navegador diretamente para o Google Ads, sem passar pelo seu servidor de etiquetagem, com um valor de 1.0 e um ID de transação vazio enquanto ninguém os preencher.
// Google's event snippet: not for your page.
// Paste it into the Conversion ID box in SignalHost instead.
gtag('event', 'conversion', {
'send_to': 'AW-123456789/AbC-D_efGh12_34',
'value': 1.0,
'currency': 'EUR',
'transaction_id': ''
});Com a SignalHost, é o seu contentor de servidor que envia a conversão. Abra o seu contentor, expanda «Destinos de conversão» e introduza o ID e a etiqueta de conversão em Google Ads. A partir daí, cada compra que o seu site já regista — o evento purchase do GA4 — segue do servidor para o Google Ads, com valor, moeda e ID de transação. Nada tem de mudar no seu Tag Manager.
Não adicione também o snippet. Com os dois, cada compra é registada duas vezes: a Google só junta duas conversões quando têm o mesmo ID de transação, e o do snippet costuma estar vazio.
Não precisa de tirar o ID e a etiqueta do snippet. Cole o snippet completo, ou apenas o valor send_to, no campo «ID de conversão» e os dois campos ficam preenchidos. O ID funciona das duas formas, AW-123456789 ou 123456789.
Como o clique sobrevive até à compra
Uma conversão só é útil ao Google Ads se puder ser ligada ao clique que a originou. A ligação é o ID do clique: a Google acrescenta-o ao endereço da sua página de destino como gclid=…, e ele desaparece do endereço com o clique seguinte do visitante.
Cada contentor da SignalHost inclui para isso um Conversion Linker do lado do servidor. Lê o ID do clique no hit da página de destino e guarda-o num cookie próprio chamado FPGCLAW, no seu domínio. Quando a compra chega — três páginas ou três dias depois —, a etiqueta do Google Ads no seu contentor de servidor lê esse cookie e envia a conversão juntamente com o clique.
Há duas condições. O visitante tem de aceitar a publicidade no seu banner de cookies: sem esse consentimento, o linker não guarda nada e a etiqueta Ads não envia nada. E o navegador tem de aceitar o cookie, o que depende do endereço em que corre o seu servidor de etiquetagem.
Porque é que o Google Ads precisa do seu próprio domínio
O cookie do clique é definido pelo seu servidor de etiquetagem, e os navegadores só o aceitam quando esse servidor pertence ao seu próprio site: um subdomínio como metrics.oseusite.pt. O endereço com que cada contentor começa é um subdomínio de signalhost.io, que para o navegador é o site de outra pessoa, e aí o cookie é recusado.
Nada avisa da diferença. As conversões continuam a chegar ao Google Ads, mas sem o respetivo clique, pelo que o Google Ads não as pode atribuir a nenhuma campanha — o que parece exatamente anúncios que não funcionam. Ligue o seu próprio domínio antes de avaliar uma campanha pelos números: basta um registo CNAME, e o certificado é emitido automaticamente. Enquanto nenhum domínio estiver ativo, as definições do Google Ads do seu contentor indicam-no. Como apontar o seu próprio domínio para o seu servidor de etiquetagem.
Quando a compra acontece dias depois
Períodos de avaliação e subscrições quebram o percurso habitual: o dinheiro move-se dias depois da visita, quando ninguém está no seu site, por isso a compra tem de ser enviada pelo seu servidor, normalmente a partir do webhook do seu prestador de pagamentos, como descreve o nosso guia de checkouts próprios.
Para o Google Ads, essa compra precisa de mais duas coisas do checkout, enquanto o visitante ainda lá está. Guarde os cookies de publicidade que o pedido do checkout traz — FPGCLAW, FPAU e os cookies _gcl_ da Google, que só existem depois de a publicidade ser aceite — e envie-os de volta como cookies com a compra, marcando o consentimento de publicidade como concedido. Sem eles, o Google Ads não pode aceitar a conversão nem atribuí-la.
// At checkout: keep the advertising cookies with the order.
// They only exist once the visitor allowed advertising.
const AD_COOKIES = ['FPGCLAW', 'FPAU', '_gcl_aw', '_gcl_au'];
order.adCookies = pick(req.cookies, AD_COOKIES);
// In the payment webhook: send them back with the purchase.
// gcs=G111 in the params: advertising and analytics consent granted.
await fetch(`https://metrics.yoursite.com/g/collect?${params}`, {
method: 'POST',
headers: { cookie: serialize(order.adCookies) },
});É assim que o signalhost.io regista as suas próprias subscrições: o webhook do Stripe envia a compra quando a primeira fatura é paga, e leva consigo o clique no anúncio vindo do checkout.
Do que a SignalHost trata
Introduz dois valores. Tudo o resto vem em cada contentor:
- O Conversion Linker e a etiqueta de conversão do Google Ads. Com um ID e uma etiqueta ficam ativos a partir do pedido seguinte.
- A etiqueta Ads dispara nas compras e em mais nada. Uma etiqueta que ouvisse todos os eventos registaria cada visualização de página como uma venda.
- O consentimento de publicidade é aplicado no servidor: um visitante que recusou a publicidade não gera nenhuma conversão no Google Ads.
- Cada cookie definido pelo seu servidor de etiquetagem chega ao navegador: o ID do clique, o ID próprio do visitante e o ID de utilizador de publicidade.
- O ID de conversão é enviado no formato que a etiqueta espera, seja qual for a forma como o escreveu.
- A página do seu contentor avisa quando falta ao Google Ads o seu próprio domínio.
O signalhost.io funciona exatamente com esta configuração e com a nossa própria conta do Google Ads. A verificação em que confiamos é uma visita de teste com um ID de clique: no fim, o cookie do clique tem de estar no navegador.
Como verificar a sua configuração
- Abra o seu site com ?gclid=test no fim do endereço e aceite a publicidade no banner de cookies. Entre os cookies do navegador para o seu domínio deverá agora encontrar FPGCLAW.
- Inicie uma sessão de pré-visualização em «Ferramentas de programador» no seu contentor, carregue em Pré-visualizar no seu contentor de servidor no Tag Manager e faça uma compra de teste. A etiqueta de conversão do Google Ads deve disparar, com valor, moeda e ID de transação.
- Confirme que o snippet de evento da Google não está na sua página de compra e que nenhuma etiqueta de conversão do Google Ads no seu contentor web dispara na mesma compra.
- Dê um dia ao Google Ads: uma nova ação de conversão pode demorar esse tempo a aparecer como ativa.
Se as conversões chegam mas nunca são atribuídas a uma campanha, o clique perde-se pelo caminho: verifique primeiro o consentimento e o seu próprio domínio.
