Volver al blog

Blog

SignalHost para Drupal: instala el módulo, conecta una vez y el seguimiento del lado del servidor ya funciona

Publicado · 7 min de lectura

Disponible en Drupal.org

El módulo de SignalHost pone Google Tag Manager del lado del servidor en un sitio Drupal sin pegar ni una línea de código. Añade el cargador de seguimiento a cada página que no sea de administración, lo mantiene al día cuando algo cambia por nuestra parte y lo vuelve a quitar cuando desconectas. Esta guía sigue el orden en que te lo encuentras: instalar el módulo, conectar un contenedor, comprobar que funciona y qué hacer cuando algo no funciona.

Antes de empezar

  • Drupal 10.3 u 11, con PHP 8.1 o posterior y la extensión sodium, que forma parte de PHP desde la versión 7.2.
  • Una cuenta de SignalHost. El plan gratuito basta para probarlo: 10.000 solicitudes al mes y un contenedor. Puedes crear la cuenta durante la conexión.
  • Una cuenta con el permiso Administer SignalHost Server-Side Tagging. Solo los usuarios que lo tienen pueden conectar o desconectar el sitio.

1. Instala el módulo

Instálalo como cualquier módulo contribuido desde su página del proyecto en drupal.org: añádelo con Composer y después actívalo.

composer require drupal/signalhost_server_side_tagging
drush en signalhost_server_side_tagging

Sin Drush, actívalo en Ampliar, donde aparece como SignalHost Server-Side Tagging en el grupo Statistics. No imprime nada hasta que el sitio está conectado.

2. Conecta el sitio a un contenedor

Abre Configuración › Servicios web › SignalHost (/admin/config/services/signalhost) y pulsa «Connect with SignalHost». Si todavía no tienes cuenta, «Create a free account» te lleva al registro. No se envía nada a SignalHost antes de que pulses «Connect with SignalHost».

En signalhost.io, inicia sesión. La siguiente pantalla enumera lo que el módulo podrá hacer y lo que no, y te pregunta qué contenedor debe usar el sitio. Un contenedor es tu propio servidor de etiquetado: un contenedor web y un contenedor de servidor de Tag Manager, construidos en tu propia cuenta de Google, así que siguen siendo tuyos.

Elige un contenedor existente, o pulsa «Nuevo contenedor para tu sitio» y sigue el breve asistente. Construir uno nuevo tarda unos minutos; puedes conectar enseguida, y el código se añade en cuanto está listo. Pulsa «Conectar». Vuelves a la página de SignalHost en Drupal con el mensaje «Connected». El código de SignalHost ya está en cada página de tu sitio.

3. Comprueba que el código está en tu sitio

La página dice ahora «Tracking is live», o «Tracking starts as soon as your container is ready» mientras todavía se construye uno nuevo. Después lee la línea «On your home page»: justo después de conectar, el módulo recupera tu página de inicio como lo haría un visitante y busca su código. «Code found» es la respuesta que quieres. «Check again» repite la comprobación cuando quieras, y las demás respuestas están en «Cuando algo no funciona».

4. Pruébalo

Abre tu sitio en una ventana privada y recorre unas cuantas páginas; un visitante que rechaza tu banner de cookies se cuenta igualmente, como el ping sin cookies de Google. Después pulsa «Open statistics & settings» para abrir la página de tu contenedor en signalhost.io.

En «Estadísticas ampliadas», la pestaña «Reciente» muestra las vistas de página de los últimos 30 minutos, las tuyas entre ellas. «Ejecutar comprobaciones», en «Solución de problemas», al pie de la página, compara lo que recibió tu servidor de etiquetado con lo que Google Analytics registra en esos mismos 30 minutos. Que Analytics muestre menos es normal: deja fuera a los visitantes que rechazaron las cookies. A partir del plan Growth, «Monitorización de eventos en directo» muestra cada evento en el momento en que llega.

Lo que el módulo añade a tu sitio

Un pequeño script y un contacto cada hora:

  • El cargador de Google Tag Manager, en el head de cada página que no sea de administración, apuntando a tu propia dirección de etiquetado en lugar de a googletagmanager.com. Carga desde allí tu contenedor de Tag Manager. El módulo lo construye él mismo a partir de dos valores comprobados; nada de lo que envía SignalHost se imprime nunca como script. Esas páginas llevan una etiqueta de caché, así que la caché de páginas se renueva cada vez que cambia el cargador, incluidas las páginas almacenadas en caché antes de que conectaras.
  • Una vez por hora, después de que se haya enviado una respuesta, el módulo contacta con signalhost.io para mantenerse al día. Solo envía las versiones del módulo, de Drupal y de PHP, la dirección de tu sitio y si se encontró el código en tu página de inicio: ningún dato de visitantes, ningún contenido, ninguna cuenta de usuario. Si no se puede contactar con signalhost.io, el sitio conserva la última configuración válida. Nada de lo que guarda viaja con una exportación de configuración.

Cada solicitud sale del navegador en una forma que los bloqueadores de anuncios no reconocen, y tu servidor de etiquetado la reenvía a Google Analytics 4 y a las plataformas publicitarias que configures en la página del contenedor: Google Ads, Meta, TikTok y otras. El seguimiento sigue a tu banner de cookies mediante Google Consent Mode; pon el código de tu banner antes que el de SignalHost.

El módulo no lee formularios ni pedidos, tampoco los de Drupal Commerce. Las vistas de página llegan solas; una compra o un lead llega a tu contenedor cuando tu sitio lo envía al dataLayer.

Tu propio dominio de seguimiento

Tu contenedor empieza en una dirección bajo signalhost.io. En un plan de pago, «Configura tu propio dominio», en la página del contenedor, lo traslada a un subdominio de tu propio sitio, como sgtm.tusitio.com, con un solo registro DNS en tu proveedor. Esa dirección sobrevive a las listas de filtros y mantiene de primera parte las cookies de los clics. Cuando se activa, el módulo cambia tu sitio a ella en su próximo contacto, normalmente en menos de una hora, y la etiqueta de caché renueva tus páginas almacenadas en caché. No hay que sustituir nada a mano, y la dirección antigua sigue funcionando hasta entonces.

Añadir SignalHost a mano

También puedes pegar el código tú mismo. En la página del contenedor, busca tu fragmento en la tarjeta «Instalar en tu sitio» y pulsa «Copiar». Pégalo en el head de cada página (en Drupal, a través de tu tema), justo después del script de tu banner de cookies, y pulsa «Ya lo he hecho». «Copiar para agente de IA» encarga ese mismo trabajo a un agente de programación.

Pegarlo a mano renuncia a lo que hace el módulo: nada comprueba tu página de inicio, nada quita el código cuando desconectas y, cuando tu propio dominio se active, sustituyes tú el código, desde «Actualiza el fragmento de tu sitio web» en la tarjeta o desde el correo que anuncia el dominio. Nunca uses los dos caminos: dos copias cuentan cada visita dos veces.

Actualizaciones, gestión y desconexión

Las actualizaciones llegan mediante Composer, y el estado de actualizaciones de Drupal avisa de las nuevas versiones, como con cualquier módulo de drupal.org.

«Disconnect», en la página de SignalHost, pide confirmación una vez: «Disconnect this site from SignalHost?». Al confirmar, se revoca el acceso del sitio, se quita el código de todas las páginas y se renuevan tus páginas almacenadas en caché. Tu contenedor y sus estadísticas se quedan, y puedes volver a conectar cuando quieras.

En signalhost.io, la página del contenedor dice «Instalado por el módulo de Drupal en» seguido de tu sitio. Su botón «Gestionar» lleva a Ajustes › Sitios conectados, donde «Desconectar» también funciona: el módulo deja de cargar SignalHost en su próximo contacto, normalmente en menos de una hora.

Desinstalar el módulo también revoca el acceso del sitio y borra todo lo que el módulo había guardado.

Cuando algo no funciona

  • «Could not check (your server refused a request to itself)»: tu proveedor de alojamiento bloquea las solicitudes a su propia dirección. Eso no dice nada de tus visitantes; busca tu dirección de etiquetado en el código fuente de tu página de inicio.
  • «An older copy is on the page» o «The code is on the page twice»: se pegó una copia a mano en un tema, un bloque u otro módulo. Quítala; el módulo añade la versión actual, y dos copias cuentan cada visita dos veces.
  • Un aviso de que tu sitio ya carga un contenedor de Tag Manager con el propio fragmento de Google: quita ese fragmento, porque ahora SignalHost carga el contenedor y los dos juntos cuentan cada visita dos veces. Lo mismo vale para el módulo Google Tag Manager (google_tag): usa uno u otro, no los dos.
  • «This site's address has changed since it was connected»: en una copia, como un entorno de staging, no se envía nada. Si el sitio real se ha trasladado, desconecta y vuelve a conectar.
  • «Last update» es antigua: el módulo contacta con SignalHost después de las solicitudes de páginas, nunca desde cron. Abrir la página de SignalHost también provoca un contacto, y «Check again» lo fuerza.
  • Cualquier otra cosa: escribe a hello@signalhost.io con la dirección de tu sitio.

Marcas comerciales

SignalHost es un producto independiente de Algorithmo GmbH y no está afiliado al proyecto Drupal, Google, Meta ni TikTok, ni cuenta con su respaldo. Google Analytics, Google Ads y Google Tag Manager son marcas comerciales de Google LLC; Meta es una marca comercial de Meta Platforms, Inc.; TikTok es una marca comercial de ByteDance Ltd.; Drupal es una marca registrada de Dries Buytaert.

Deja de perder datos por los bloqueadores

Empiece gratis. Su primer contenedor estará listo en minutos.