f in x
Google Tag Manager da zero: container, tag, trigger e variabili spiegati bene
> cd .. / HUB_EDITORIALE > Visualizza in Inglese
Analisi dei dati e metriche

Google Tag Manager da zero: container, tag, trigger e variabili spiegati bene

[2026-05-31] Author: Ing. Calogero Bono

Hai appena installato Google Analytics, ma i dati delle conversioni non tornano. Oppure hai un modulo di contatto che non traccia gli invii, e passi ore a cercare codice da infilare nel tema. Succede a tutti. La soluzione si chiama Google Tag Manager, e il bello è che non serve saper scrivere codice a mano per usarlo bene.

Noi, di Meteora Web, lavoriamo con GTM dalla versione 1 — quando ancora si chiamava Google Tag Manager e non aveva il debug integrato. Lo abbiamo usato per tracciare e-commerce con WooCommerce, campagne lead con form personalizzate, eventi scroll, click su pulsanti, tutto senza toccare una riga di PHP. In questa guida ti portiamo dentro i tre mattoncini fondamentali — container, tag, trigger — più le variabili, che sono il vero motore della personalizzazione.

Perché un Tag Manager e non codice hardcoded

Il problema del codice hardcoded è semplice: ogni volta che vuoi aggiungere un pixel, modificare un evento o attivare un nuovo script, devi aggiornare il tema del sito, fare un deploy, spesso aspettare la coda di sviluppo. Con GTM invece inserisci un unico snippet nel sito (lo fa una volta sola), e tutto il resto lo gestisci dal pannello di controllo, senza toccare il codice. In più hai un ambiente di debug, versioni, rollback immediati.

L'errore comune: pensare che GTM serva solo per Analytics. In realtà ci puoi gestire Meta Pixel, LinkedIn Insight, script di terze parti, cookie banner, A/B testing. Un unico punto di controllo invece di 10 snippet diversi sparsi nel tema. Noi una volta, su un cliente con 15 script diversi, abbiamo ridotto il carico di richieste del 40% centralizzando tutto in GTM e schedulando i tag con trigger di engagement.

Container: il contenitore che comanda tutto

Il container di GTM è il contenitore che installi una volta nel sito. Contiene tutti i tag, trigger e variabili di quel progetto. Ogni sito (o ambiente) di solito ha un container. Puoi avere più container per multilingua, multi-brand o ambienti (staging vs produzione).

Come creare e installare il container

Vai su Google Tag Manager, crea un account, poi un container. Scegli il tipo di piattaforma (Web, AMP, iOS, Android). Per un sito web, seleziona Web. Ti verranno forniti due snippet di codice: uno da inserire subito dopo il tag <head> e uno subito dopo il tag <body>. Copiali e incollali nel tuo sito. Se usi WordPress con un tema custom o un page builder, puoi inserirli tramite il file header.php o con un plugin come Insert Headers and Footers.

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

Una volta installato, il container è vuoto? Non preoccuparti. Ogni tag che crei si aggiungerà lì dentro. Puoi creare versioni del container, pubblicare solo quando sei sicuro, e in caso di errore tornare indietro con un click.

Tag: cosa vuoi far succedere

Un tag è un'istruzione che dice a GTM di eseguire un certo codice quando si verifica una condizione. I tag più comuni sono:

  • Google Analytics: GA4 Configuration e GA4 Event – per inviare dati a GA4.
  • Google Ads Conversion Tracking – per tracciare conversioni da annunci.
  • Meta Pixel – per il tracciamento di Facebook/Instagram.
  • Custom HTML – per qualsiasi script personalizzato (script di chatbot, heatmap, ecc.).

Esempio pratico: vuoi mandare un evento a GA4 ogni volta che un utente clicca su un pulsante “Richiedi preventivo”.

1. Crea un nuovo tag, tipo “Google Analytics: GA4 Event”.
2. Inserisci il tuo ID di misurazione (G-XXXXXXXXXX).
3. Definisci il nome dell'evento, es. “click_preventivo”.
4. Collega un trigger che ascolti il click su quel pulsante (vedi prossimo paragrafo).

Attenzione: non creare tag senza prima aver configurato un trigger. Un tag senza trigger non si attiverà mai. Sembra banale, ma lo vediamo spesso.

Trigger: quando quel tag si attiva

I trigger sono le condizioni che fanno scattare un tag. Senza di loro, il tag resta inattivo. GTM mette a disposizione molti tipi di trigger predefiniti:

  • Page View – si attiva al caricamento di una pagina (tutte, solo alcune, o per tipo di pagina).
  • Click – tutti i click o solo quelli su classi/id specifici.
  • Scroll – quando l'utente supera una certa profondità (es. 50%, 75%).
  • Form Submission – quando un form viene inviato.
  • Custom Event – eventi personalizzati inviati tramite dataLayer.

Esempio: trigger per click su pulsante con classe specifica

Supponiamo di avere un pulsante con classe btn-preventivo. Vuoi tracciare ogni click su di esso.

1. Crea un nuovo trigger di tipo “Click – Solo link” (o “Click – Tutti gli elementi” se non è un link).
2. Imposta la condizione: “Click Element” contiene “btn-preventivo”.
3. Dai un nome al trigger, es. “click_preventivo”.
4. Salva.

Poi collega questo trigger al tag GA4 Event creato prima. Fatto. Ora ogni click su quel pulsante manderà l'evento “click_preventivo” a GA4.

Errore comune: usare “Click – Tutti gli elementi” quando si potrebbe usare “Solo link” (più performante). Oppure non testare mai con l'anteprima. Noi abbiamo risolto un caso in cui il trigger non funzionava perché il pulsante era dentro un iframe – i trigger di GTM non penetrano iframe cross-origin.

Variabili: i dati che il tag può leggere

Le variabili sono il sistema nervoso di GTM. Ti permettono di estrarre informazioni dall'ambiente o dal dataLayer e usarle dentro i tag. Senza variabili, i tag sono muti: non sanno chi ha cliccato, su quale pagina, che valore è stato inviato.

Esistono due tipi di variabili:

  • Built-in – fornite di default da GTM. Le attivi dalla sezione “Variabili” (es. Click URL, Page Path, Page Title, Referrer).
  • User-defined – le crei tu: variabili di tipo “JavaScript variable”, “Data Layer Variable”, “Constant”, “Custom JavaScript”, ecc.

Variabili built-in utili (attivale subito!)

Vai su “Variabili” → “Configura” e attiva almeno: Click Element, Click URL, Page Path, Page Title, Scroll Depth, Form ID, Form Text. Te ne servirai per quasi tutti i tag.

Variabile Data Layer: il cuore dei dati strutturati

Il dataLayer è un array JavaScript dove puoi pushare dati prima che i tag si attivino. GTM legge queste variabili come “Data Layer Variable”. Esempio: in un e-commerce WoCommerce, puoi inviare il prezzo del prodotto al dataLayer quando l'utente aggiunge al carrello.

dataLayer.push({ ecommerce: null });  // Clear previous ecommerce object
dataLayer.push({
  event: "add_to_cart",
  ecommerce: {
    currency: "EUR",
    value: 19.99,
    items: [{
      item_id: "SKU123",
      item_name: "T-shirt",
      price: 19.99,
      quantity: 1
    }]
  }
});

Poi in GTM crei una variabile “Data Layer Variable” chiamata “ecommerce.value”. Nel tag GA4 Event usi {{ecommerce.value}} per popolare il parametro “value”.

Quando usare variabili Custom JavaScript

Se hai bisogno di trasformare un dato (es. estrarre solo il nome di un file dall'URL), puoi scrivere una piccola funzione JavaScript dentro una variabile “Custom JavaScript”. Attenzione: deve essere veloce e non fare chiamate asincrone. Noi abbiamo creato una variabile che pulisce il titolo di pagina rimuovendo il nome del brand, per avere un dato più pulito in GA4.

Come testare prima di pubblicare

GTM ha un ambiente di preview (o debug) potentissimo. Clicca su “Anteprima” in GTM, si apre una finestra che ti mostra in tempo reale quali tag si attivano, quali no, e i valori delle variabili. Naviga nel tuo sito con quella console aperta. Se il trigger non si attiva, vedi subito il motivo. Pubblicare senza testare è come pilotare un aereo senza checklist. Lo abbiamo visto fare a clienti che poi ci chiamavano in emergenza.

La gestione delle versioni

Ogni volta che pubblichi, GTM crea una versione. Puoi aggiungere note (es. “Aggiunto tag Facebook Pixel”, “Corretto trigger form contatto”). In caso di errori, ripristina una versione precedente con un click. Mai pubblicare senza descrizione, perché tra 6 mesi non ricorderai cosa hai fatto.

In sintesi — cosa fare adesso

  1. Installa lo snippet del container sul tuo sito (una volta sola).
  2. Attiva le variabili built-in essenziali (Click Element, Page Path, ecc.).
  3. Parti con un tag semplice: GA4 Configuration con trigger All Pages. Poi un GA4 Event su click di un pulsante.
  4. Usa sempre Anteprima prima di pubblicare. Non fidarti del tuo occhio, fidati del debug.
  5. Dai nomi chiari a ogni tag, trigger e variabile. Es. “GA4 – Event – Click preventivo” invece di “Tag 1”. Il te del futuro ti ringrazierà.

Vuoi approfondire il setup di GA4? Leggi la nostra guida su Google Analytics 4 da zero. Oppure se hai bisogno di tracciare form, la nostra guida su Google Ads da zero spiega come integrare conversioni.

E ricorda: un tag manager non è uno strumento magico. Se non sai cosa tracciare, non tracci nulla. Noi, di Meteora Web, partiamo sempre da una domanda: “Quale decisione prenderai con questi dati?” Se non hai risposta, quei tag sono inutili. Ma se la risposta c'è, GTM è il modo più pulito per ottenere i numeri giusti.

Sponsored Protocol

Ing. Calogero Bono

> AUTHOR_EXTRACTED

Ing. Calogero Bono

Co-founder di Meteora Web. Ingegnere informatico, sviluppo ecosistemi digitali ad alte prestazioni. AI, automazione, SEO tecnica e infrastrutture web. Scrivo di tecnologia per rendere complesso… semplice.

[ Read Full Dossier ]

Hai bisogno di applicare questa strategia?

Esegui il protocollo di contatto per iniziare un progetto con noi.

> INIZIA_PROGETTO

Sponsored

> MW_JOURNAL

> READ_ALL()