Volver al blog

Blog

SignalHost para TYPO3: instala la extensión, conecta cada sitio y el seguimiento del lado del servidor ya funciona

Publicado · 8 min de lectura

Disponible en TYPO3 Extension Repository

La extensión de SignalHost pone Google Tag Manager del lado del servidor en tus sitios TYPO3 sin pegar ni una línea de código. Añade el cargador de seguimiento a cada página del frontend de un sitio conectado, lo mantiene al día cuando algo cambia por nuestra parte y lo vuelve a quitar cuando desconectas. Cada sitio de una instalación multisitio se conecta por separado, y esta guía sigue a un sitio desde la instalación hasta la prueba.

Antes de empezar

  • TYPO3 13.4 LTS o 14.3 LTS, con PHP 8.2 o posterior y la extensión sodium.
  • 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 de administrador del backend. El módulo SignalHost es solo para administradores.
  • Un sitio cuya base, en su configuración del sitio, tenga un dominio, como https://www.example.com/.

1. Instala la extensión

En una instalación basada en Composer, requiérela desde Packagist:

composer require signalhost/server-side-tagging

En modo clásico, instálala en su lugar desde el Extension Manager; está en el repositorio de extensiones de TYPO3 (TER) con la clave signalhost_server_side_tagging. No añade nada a un sitio hasta que ese sitio está conectado.

2. Conecta un sitio a un contenedor

En el backend de TYPO3, abre Sites › SignalHost (Site Management › SignalHost en TYPO3 13), donde cada sitio tiene su propia tarjeta. Después de conectar, SignalHost te devuelve a la dirección propia del sitio, así que abre el backend bajo el dominio de ese sitio; si estás en otro, la tarjeta tiene un botón que abre allí la página, donde puede que tengas que iniciar sesión una vez.

En la tarjeta del sitio, pulsa «Connect with SignalHost», o «Create a free account» si todavía no tienes cuenta. 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 la extensión 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» y vuelves a la tarjeta con el mensaje «Connected». El código de SignalHost ya está en cada página de este sitio. Repite esto con cada sitio que quieras medir.

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

La tarjeta del sitio 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, la extensión 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 la extensión añade a tu sitio

Un pequeño script por cada sitio conectado y un contacto cada hora:

  • El cargador de Google Tag Manager, justo antes del final del head de cada página del frontend, apuntando a la propia dirección de etiquetado del sitio en lugar de a googletagmanager.com. Carga desde allí tu contenedor de Tag Manager. Se inserta en la página terminada después de la caché de páginas de TYPO3, así que no hay que vaciar ninguna caché. Si el sitio aplica la Content Security Policy de TYPO3, la extensión le añade la dirección de etiquetado y permite el cargador por su hash, salvo que la política ya permita los scripts en línea.
  • Una vez por hora, después de que se haya enviado una respuesta, la extensión contacta con signalhost.io para mantenerse al día. Solo envía las versiones de la extensión, de TYPO3 y de PHP, la dirección del sitio y si se encontró el código en la 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.

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. El cargador va después de un banner que esté en el head; un banner que se cargue más tarde debe establecer antes los valores iniciales de Consent Mode.

La extensión no lee formularios ni pedidos. 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, la extensión cambia ese sitio a ella en su próximo contacto, normalmente en menos de una hora, y su Content Security Policy se actualiza con ella. 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 TYPO3, a través de tu plantilla o de TypoScript), 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 la extensión: nada comprueba tu página de inicio, nada quita el código cuando desconectas, un sitio que aplica la Content Security Policy de TYPO3 necesita que permitas a mano el script y la dirección de etiquetado 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

Actualízala igual que la instalaste: mediante Composer o, en modo clásico, desde el Extension Manager.

«Disconnect», en la tarjeta de un sitio, pide confirmación una vez y después quita al momento el código de SignalHost de todas las páginas de ese sitio y revoca su acceso. Los demás sitios siguen conectados, y tu contenedor y sus datos se quedan en tu cuenta de SignalHost.

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

Desactivar la extensión en el Extension Manager, en modo clásico, revoca el acceso de todos los sitios y borra lo que había guardado. composer remove no ejecuta ningún código de TYPO3, así que desconecta antes cada sitio; si no, seguirán apareciendo en Ajustes › Sitios conectados, y tendrás que desconectarlos allí.

Cuando algo no funciona

  • La tarjeta dice que SignalHost te devuelve a la dirección propia del sitio después de conectar: abriste el backend bajo otro dominio. Usa el botón que hay debajo para abrir la página en el dominio del sitio.
  • «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 una plantilla, en TypoScript o en otra extensión. Quítala; la extensión 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.
  • «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.
  • 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 a la TYPO3 Association, 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.; TYPO3 es una marca registrada de la TYPO3 Association.

Deja de perder datos por los bloqueadores

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