Voltar ao blog

Blog

SignalHost para Drupal: instale o módulo, ligue uma vez e o tracking do lado do servidor fica ativo

Publicado · 7 min de leitura

Disponível na Drupal.org

O módulo SignalHost põe o Google Tag Manager do lado do servidor num site Drupal sem uma única linha de código colado. Acrescenta o carregador de tracking a todas as páginas que não sejam de administração, mantém-no atualizado quando algo muda do nosso lado e retira-o quando desliga o site. Este guia segue a ordem em que vai encontrando cada passo: instalar o módulo, ligar um contentor, verificar se funciona e o que fazer quando algo não funciona.

Antes de começar

  • Drupal 10.3 ou 11, com PHP 8.1 ou mais recente e a extensão sodium, que faz parte do PHP desde a versão 7.2.
  • Uma conta SignalHost. O plano gratuito chega para experimentar: 10.000 pedidos por mês e um contentor. Pode criar a conta durante a ligação.
  • Uma conta com a permissão Administer SignalHost Server-Side Tagging. Só os utilizadores que a têm podem ligar ou desligar o site.

1. Instalar o módulo

Instale-o como qualquer módulo contribuído a partir da sua página de projeto em drupal.org: adicione-o com o Composer e depois ative-o.

composer require drupal/signalhost_server_side_tagging
drush en signalhost_server_side_tagging

Sem o Drush, ative-o em Extend, onde aparece como SignalHost Server-Side Tagging no grupo Statistics. Não imprime nada até o site estar ligado.

2. Ligar o site a um contentor

Abra Configuration › Web services › SignalHost (/admin/config/services/signalhost) e carregue em Connect with SignalHost. Se ainda não tiver conta, Create a free account leva-o, em vez disso, ao registo. Nada é enviado para a SignalHost antes de carregar em Connect.

Em signalhost.io, inicie sessão. O ecrã seguinte enumera o que o módulo vai e não vai poder fazer e pergunta que contentor o site deve usar. Um contentor é o seu próprio servidor de etiquetagem: um contentor web e um contentor de servidor do Tag Manager, construídos na sua própria conta Google, por isso continuam a ser seus.

Escolha um contentor existente, ou carregue em Novo contentor para o seu site e percorra o assistente curto. Um contentor novo demora alguns minutos a construir; pode ligá-lo de imediato, e o código é acrescentado assim que estiver pronto. Carregue em Ligar. Regressa à página SignalHost no Drupal com a mensagem Connected. O código da SignalHost está agora em todas as páginas do seu site.

3. Verificar se o código está no seu site

A página indica agora Tracking is live, ou Tracking starts as soon as your container is ready enquanto um contentor novo ainda está a ser construído. Depois, leia a linha On your home page: logo após a ligação, o módulo obtém a sua página inicial tal como um visitante o faria e procura o seu código. Code found é a resposta que quer ver. Check again repete a verificação a qualquer momento, e as outras respostas estão em Quando algo não funciona.

4. Testar

Abra o seu site numa janela privada e percorra algumas páginas; um visitante que recuse o seu banner de cookies continua a ser contado, como ping sem cookies da Google. Depois carregue em Open statistics & settings para abrir a página do seu contentor em signalhost.io.

Em Estatísticas avançadas, o separador Recente mostra as visualizações de página dos últimos 30 minutos, incluindo as suas. Executar verificações, em Resolução de problemas, no fundo da página, compara o que o seu servidor de etiquetagem recebeu com o que o Google Analytics reporta para os mesmos 30 minutos. Menos no Analytics é normal: deixa de fora os visitantes que recusaram os cookies. A partir do plano Growth, Monitoramento de eventos ao vivo mostra cada evento à medida que chega.

O que o módulo acrescenta ao seu site

Um pequeno script e um contacto de hora a hora:

  • O carregador do Google Tag Manager, no head de todas as páginas que não sejam de administração, apontado para o seu próprio endereço de etiquetagem em vez de googletagmanager.com. Carrega a partir daí o seu contentor do Tag Manager. O módulo constrói-o ele próprio a partir de dois valores verificados; nada do que a SignalHost envia é alguma vez impresso como script. Essas páginas levam uma etiqueta de cache, por isso a cache de páginas é renovada sempre que o carregador muda, incluindo as páginas guardadas em cache antes de ligar o site.
  • Uma vez por hora, depois de uma resposta ter sido enviada, o módulo contacta signalhost.io para se manter atualizado. Envia apenas as versões do módulo, do Drupal e do PHP, o endereço do seu site e a indicação de o código ter sido ou não encontrado na sua página inicial: nenhum dado de visitantes, nenhum conteúdo, nenhuma conta de utilizador. Se não for possível contactar signalhost.io, o site mantém a última configuração válida. Nada do que guarda segue numa exportação de configuração.

Cada pedido sai do navegador num formato que os bloqueadores de anúncios não reconhecem, e o seu servidor de etiquetagem reencaminha-o para o Google Analytics 4 e para as plataformas de publicidade que configurar na página do contentor: Google Ads, Meta, TikTok e outras. O tracking segue o seu banner de cookies através do Google Consent Mode; coloque o código do seu banner antes do da SignalHost.

O módulo não lê formulários nem encomendas, incluindo as do Drupal Commerce. As visualizações de página chegam sozinhas; uma compra ou um lead chega ao seu contentor quando o seu site o envia para a camada de dados.

O seu próprio domínio de tracking

O seu contentor começa num endereço sob signalhost.io. Num plano pago, Configurar o seu próprio domínio, na página do contentor, muda-o para um subdomínio do seu próprio site, como sgtm.oseusite.com, com um único registo DNS no seu fornecedor. Esse endereço sobrevive às listas de filtros e mantém os cookies dos cliques como cookies de primeira parte. Quando fica ativo, o módulo muda o seu site para ele no próximo contacto, normalmente dentro de uma hora, e a etiqueta de cache renova as suas páginas em cache. Não é preciso substituir nada à mão, e o endereço antigo continua a funcionar até lá.

Adicionar a SignalHost à mão

Também pode colar o código por si. Na página do contentor, encontre o seu snippet no cartão Instalar no seu site e carregue em Copiar. Cole-o no head de cada página (no Drupal, através do seu tema), logo a seguir ao script do seu banner de cookies, e carregue em Já o fiz. Copiar para agente de IA entrega a mesma tarefa a um agente de programação.

Colar à mão abdica do que o módulo faz: nada verifica a sua página inicial, nada remove o código quando desliga o site, e quando o seu próprio domínio fica ativo é a si que cabe substituir o código, a partir do aviso Atualize o snippet do seu site no cartão ou do e-mail que anuncia o domínio. Nunca use os dois caminhos: duas cópias contam cada visita duas vezes.

Atualizações, gestão e desligar

As atualizações chegam pelo Composer, e o estado de atualizações do Drupal informa sobre as novas versões, como acontece com todos os módulos de drupal.org.

Disconnect, na página SignalHost, pede confirmação uma vez: Disconnect this site from SignalHost? Confirmar revoga o acesso do site, retira o código de todas as páginas e renova as suas páginas em cache. O seu contentor e as suas estatísticas mantêm-se, e pode voltar a ligar a qualquer momento.

Em signalhost.io, a página do contentor indica Instalado pelo módulo para Drupal, seguido do seu site. O botão Gerir leva a Definições, Sites ligados, onde Desligar também funciona: o módulo deixa de carregar a SignalHost no próximo contacto, normalmente dentro de uma hora.

Desinstalar o módulo também revoga o acesso do site e remove tudo o que o módulo guardou.

Quando algo não funciona

  • Could not check (your server refused a request to itself): o seu alojamento bloqueia pedidos ao seu próprio endereço. Isso não diz nada sobre os seus visitantes; procure o seu endereço de etiquetagem no código-fonte da sua página inicial.
  • An older copy is on the page, ou The code is on the page twice: foi colada uma cópia à mão num tema, num bloco ou noutro módulo. Remova-a; o módulo acrescenta a versão atual, e duas cópias contam cada visita duas vezes.
  • Um aviso de que o seu site já carrega um contentor do Tag Manager com o snippet da própria Google: remova esse snippet, porque a SignalHost passa a carregar o contentor e os dois juntos contam cada visita duas vezes. O mesmo vale para o módulo Google Tag Manager (google_tag): use um ou outro, não ambos.
  • This site's address has changed since it was connected: numa cópia, como um ambiente de staging, nada é enviado. Se o site real mudou de endereço, desligue-o e volte a ligá-lo.
  • Last update é antigo: o módulo contacta a SignalHost depois de pedidos de páginas, nunca a partir do cron. Abrir a página SignalHost também provoca um contacto, e Check again força um.
  • Qualquer outra coisa: escreva para hello@signalhost.io com o endereço do seu site.

Marcas registadas

A SignalHost é um produto independente da Algorithmo GmbH e não é afiliada nem apoiada pelo projeto Drupal, pela Google, pela Meta ou pelo TikTok. Google Analytics, Google Ads e Google Tag Manager são marcas registadas da Google LLC; Meta é uma marca registada da Meta Platforms, Inc.; TikTok é uma marca registada da ByteDance Ltd.; Drupal é uma marca registada de Dries Buytaert.

Deixa de perder dados para bloqueadores

Comece gratuitamente. O primeiro contentor fica pronto em poucos minutos.