Blog
SignalHost per Drupal: installa il modulo, collegalo una volta e il tracciamento lato server è attivo
Pubblicato · 7 min di lettura
Il modulo SignalHost porta Google Tag Manager lato server su un sito Drupal senza una sola riga di codice da incollare. Aggiunge il loader di tracciamento a ogni pagina che non sia di amministrazione, lo mantiene aggiornato quando qualcosa cambia dalla nostra parte e lo toglie di nuovo quando ti disconnetti. Questa guida segue l’ordine in cui lo incontri: installazione del modulo, collegamento di un container, verifica del funzionamento e cosa fare quando qualcosa non va.
Prima di iniziare
- Drupal 10.3 o 11, su PHP 8.1 o successivo con l’estensione sodium, che fa parte di PHP dalla versione 7.2.
- Un account SignalHost. Il piano gratuito basta per provarlo: 10.000 richieste al mese e un container. Puoi creare l’account durante il collegamento.
- Un account con il permesso Administer SignalHost Server-Side Tagging. Solo gli utenti che lo hanno possono collegare o disconnettere il sito.
1. Installa il modulo
Installalo come qualsiasi modulo contribuito dalla sua pagina del progetto su drupal.org: aggiungilo con Composer, poi abilitalo.
composer require drupal/signalhost_server_side_tagging
drush en signalhost_server_side_taggingSenza Drush, abilitalo in Estendi, dove è elencato come SignalHost Server-Side Tagging nel gruppo Statistics. Non stampa nulla finché il sito non è collegato.
2. Collega il sito a un container
Apri Configurazione › Web service › SignalHost (/admin/config/services/signalhost) e premi «Connect with SignalHost». Se non hai ancora un account, «Create a free account» ti porta invece alla registrazione. Nulla viene inviato a SignalHost prima che tu prema il pulsante.
Su signalhost.io, accedi. La schermata successiva elenca cosa potrà e cosa non potrà fare il modulo, e chiede quale container deve usare il sito. Un container è il tuo server di tagging: un container web e un container server di Tag Manager, costruiti nel tuo account Google, così restano tuoi.
Scegli un container esistente, oppure premi «Nuovo container per …» con il nome del tuo sito e segui la breve procedura guidata. La costruzione di un nuovo container richiede qualche minuto; puoi collegarlo subito, e il codice viene aggiunto non appena è pronto. Premi «Collega». Torni sulla pagina SignalHost in Drupal con il messaggio «Connected». Il codice di SignalHost è ora aggiunto a ogni pagina del tuo sito.
3. Verifica che il codice sia sul tuo sito
La pagina ora dice «Tracking is live», oppure «Tracking starts as soon as your container is ready» mentre un nuovo container è ancora in costruzione. Poi leggi la riga «On your home page»: subito dopo il collegamento, il modulo recupera la tua home page come farebbe un visitatore e cerca il suo codice. «Code found» è la risposta che vuoi. «Check again» ripete il controllo in qualsiasi momento, e le altre risposte sono descritte in «Quando qualcosa non funziona».
4. Provalo
Apri il tuo sito in una finestra privata e visita qualche pagina; un visitatore che rifiuta il tuo banner dei cookie viene comunque contato, come ping senza cookie di Google. Poi premi «Open statistics & settings» per aprire la pagina del tuo container su signalhost.io.
In «Statistiche avanzate», la scheda «Recenti» mostra le visualizzazioni di pagina degli ultimi 30 minuti, comprese le tue. «Esegui i controlli», sotto «Risoluzione dei problemi» in fondo alla pagina, confronta ciò che il tuo server di tagging ha ricevuto con ciò che Google Analytics riporta per gli stessi 30 minuti. Un numero più basso in Analytics è normale: esclude i visitatori che hanno rifiutato i cookie. Dal piano Growth in su, «Monitoraggio eventi in tempo reale» mostra ogni evento man mano che arriva.
Cosa aggiunge il modulo al tuo sito
Un piccolo script e un contatto ogni ora:
- Il loader di Google Tag Manager, nell’head di ogni pagina che non sia di amministrazione, puntato al tuo indirizzo di tagging invece che a googletagmanager.com. Carica da lì il tuo container Tag Manager. Il modulo lo costruisce da sé a partire da due valori verificati; nulla di ciò che SignalHost invia viene mai stampato come script. Quelle pagine portano un cache tag, così la cache delle pagine si aggiorna ogni volta che il loader cambia, comprese le pagine memorizzate prima del collegamento.
- Una volta all’ora, dopo che una risposta è stata inviata, il modulo contatta signalhost.io per restare aggiornato. Invia solo le versioni del modulo, di Drupal e di PHP, l’indirizzo del tuo sito e se il codice è stato trovato nella tua home page: nessun dato dei visitatori, nessun contenuto, nessun account utente. Se signalhost.io non è raggiungibile, il sito mantiene l’ultima configurazione valida. Nulla di ciò che salva finisce in un’esportazione della configurazione.
Ogni richiesta lascia il browser in una forma che gli ad blocker non riconoscono, e il tuo server di tagging la inoltra a Google Analytics 4 e alle piattaforme pubblicitarie che configuri nella pagina del container: Google Ads, Meta, TikTok e altre. Il tracciamento segue il tuo banner dei cookie tramite Google Consent Mode; metti il codice del banner prima di quello di SignalHost.
Il modulo non legge moduli web né ordini, Drupal Commerce compreso. Le visualizzazioni di pagina arrivano da sole; un acquisto o un lead raggiunge il tuo container quando il tuo sito lo invia al data layer.
Il tuo dominio di tracciamento
Il tuo container parte su un indirizzo sotto signalhost.io. Con un piano a pagamento, «Configura il tuo dominio» nella pagina del container lo sposta su un sottodominio del tuo sito, come sgtm.tuosito.com, con un solo record DNS presso il tuo provider. Quell’indirizzo sopravvive alle liste di filtri e mantiene first-party i cookie dei clic. Quando diventa attivo, il modulo vi sposta il tuo sito al suo contatto successivo, di solito entro un’ora, e il cache tag aggiorna le tue pagine in cache. Non c’è nulla da sostituire a mano, e fino ad allora il vecchio indirizzo continua a funzionare.
Aggiungere SignalHost a mano
Puoi anche incollare il codice tu stesso. Nella pagina del container, trova il tuo snippet nella scheda «Installa sul tuo sito» e premi «Copia». Incollalo nell’head di ogni pagina (in Drupal, tramite il tuo tema), subito dopo lo script del tuo banner dei cookie, e premi «Fatto». «Copia per agente IA» affida lo stesso lavoro a un agente di programmazione.
Incollando a mano rinunci a ciò che fa il modulo: nulla controlla la tua home page, nulla rimuove il codice quando ti disconnetti, e quando il tuo dominio diventa attivo sostituisci tu il codice, da «Aggiorna lo snippet del tuo sito» sulla scheda o dall’email che annuncia il dominio. Non usare mai entrambe le strade: due copie contano ogni visita due volte.
Aggiornamenti, gestione e disconnessione
Gli aggiornamenti arrivano tramite Composer, e lo stato degli aggiornamenti di Drupal segnala le nuove versioni, come per ogni modulo di drupal.org.
«Disconnect», nella pagina SignalHost, chiede conferma una volta: «Disconnect this site from SignalHost?». Confermando revochi l’accesso del sito, togli il codice da ogni pagina e aggiorni le tue pagine in cache. Il tuo container e le sue statistiche restano, e puoi collegarti di nuovo in qualsiasi momento.
Su signalhost.io, la pagina del container dice «Installato dal modulo per Drupal» sul tuo sito. Il suo pulsante «Gestisci» porta a Impostazioni › Siti collegati, dove funziona anche «Disconnetti»: il modulo smette di caricare SignalHost al suo contatto successivo, di solito entro un’ora.
Disinstallare il modulo revoca anche l’accesso del sito e rimuove tutto ciò che il modulo aveva salvato.
Quando qualcosa non funziona
- «Could not check (your server refused a request to itself)»: il tuo hosting blocca le richieste verso il suo stesso indirizzo. Questo non dice nulla sui tuoi visitatori; cerca il tuo indirizzo di tagging nel sorgente della tua home page.
- «An older copy is on the page» oppure «The code is on the page twice»: una copia è stata incollata a mano in un tema, in un blocco o in un altro modulo. Rimuovila; il modulo aggiunge quella attuale, e due copie contano ogni visita due volte.
- Un avviso che il tuo sito carica già un container Tag Manager con lo snippet di Google: rimuovi quello snippet, perché ora è SignalHost a caricare il container ed entrambi insieme contano ogni visita due volte. Lo stesso vale per il modulo Google Tag Manager (google_tag): usa l’uno o l’altro, non entrambi.
- «This site's address has changed since it was connected»: su una copia, come uno staging, non viene inviato nulla. Se il sito reale si è spostato, disconnettilo e collegalo di nuovo.
- «Last update» è vecchio: il modulo contatta signalhost.io dopo le richieste di pagina, mai dal cron. Anche aprire la pagina SignalHost avvia un contatto, e «Check again» ne forza uno.
- Qualsiasi altra cosa: scrivi a hello@signalhost.io indicando l’indirizzo del tuo sito.
Marchi
SignalHost è un prodotto indipendente di Algorithmo GmbH e non è affiliato né approvato dal progetto Drupal, da Google, da Meta o da TikTok. Google Analytics, Google Ads e Google Tag Manager sono marchi di Google LLC; Meta è un marchio di Meta Platforms, Inc.; TikTok è un marchio di ByteDance Ltd.; Drupal è un marchio registrato di Dries Buytaert.

