Blog

Pixel ChatGPT Ads con Google Tag Manager: guida e consenso

pixel chatgpt ads

Una campagna ChatGPT Ads senza misurazione delle conversioni è una spesa di cui non si conosce il risultato. OpenAI mette a disposizione due strumenti: il Pixel OpenAI, che registra le azioni degli utenti dal browser, e le Conversions API, che inviano gli stessi dati dal server. In questa guida vediamo come installare il pixel con Google Tag Manager, come collegarlo al banner dei cookie nel rispetto del GDPR e quali conversioni ha senso misurare per un’attività che raccoglie contatti.

La guida è pensata soprattutto per chi ha un sito di servizi, un professionista o una piccola azienda, e non un grande negozio online: è il caso meno trattato, ed è quello in cui gli errori di misurazione sono più frequenti.

Ho installato il pixel su questo sito a settembre 2026, prima di lanciare la mia prima campagna ChatGPT Ads. All’inizio ho seguito le istruzioni dell’Ads Manager e ho inserito lo script direttamente nel sito; poi ho spostato tutto in Google Tag Manager, perché solo lì potevo controllare davvero il consenso e gli eventi. Quello che trovi in questa guida è la configurazione che uso oggi, compresi gli errori che ho incontrato lungo la strada.

Pixel e Conversions API: cosa fanno e quando servono

Il pixel è un piccolo codice JavaScript che si carica nelle pagine del sito. Quando un utente arriva da un annuncio su ChatGPT, il pixel memorizza un identificativo del clic in un cookie proprio del sito e, quando l’utente compie un’azione importante, invia l’evento a OpenAI. È lo strumento da cui partire, e per molte piccole attività è sufficiente.

Le Conversions API fanno lo stesso lavoro dal server: è il sistema del sito, non il browser dell’utente, a comunicare a OpenAI che è avvenuta una conversione. Servono quando il browser non basta: quando i blocchi pubblicitari o le restrizioni dei browser fanno perdere eventi, oppure quando la conversione avviene fuori dal sito, per esempio un contratto firmato giorni dopo il primo contatto.

OpenAI consiglia di usarli insieme per una misurazione più solida. Se lo fai, ogni evento deve avere lo stesso identificativo in entrambi i canali: OpenAI riconosce i doppioni in base al Pixel ID, al nome dell’evento e all’identificativo, tiene il primo evento ricevuto e scarta gli altri. Senza un identificativo comune, la stessa conversione viene contata due volte.

Prima di iniziare: creare l’origine dati e ottenere il Pixel ID

Il pixel si crea nell’Ads Manager di OpenAI, nella sezione dedicata alle conversioni, aggiungendo un’origine dati di tipo web. Al termine viene mostrato il Pixel ID, il codice che identifica il tuo sito e che servirà in Google Tag Manager.

Prima di passare a GTM, conviene preparare anche:

  • l’accesso al contenitore Google Tag Manager del sito, con permesso di pubblicazione
  • l’elenco delle azioni da misurare e della pagina o dell’evento che le rappresenta (ne parliamo più avanti)
  • il nome del sistema di gestione dei consensi usato dal banner dei cookie e il modo in cui comunica con GTM

Nell’Ads Manager in italiano il percorso è Conversioni → Fonte di dati. Nella stessa sezione trovi altre due schede utili: Eventi di conversione, dove si definiscono le azioni che le campagne devono conteggiare, e Flusso di eventi, che mostra in tempo quasi reale tutto ciò che il pixel invia. Il flusso di eventi sarà il tuo strumento principale di verifica. Un consiglio: rinomina subito la fonte di dati, che di default si chiama “My first pixel”, con il nome del sito; quando i pixel diventano più di uno, ti servirà.

Installare il pixel con Google Tag Manager

OpenAI fornisce il codice del pixel da incollare nella sezione head del sito, ma non offre un modello ufficiale per Google Tag Manager. Le strade sono due.

Con un modello della Galleria modelli della community

È il metodo più pulito. Nella Galleria modelli della community di GTM è disponibile un modello per il pixel OpenAI pubblicato da Stape. Una volta aggiunto al contenitore, si crea un tag, si inserisce il Pixel ID e si sceglie l’evento da inviare, senza scrivere codice. Il vantaggio principale è la gestione del consenso integrata, di cui parliamo nella prossima sezione.

Esistono anche altri modelli open source per il pixel OpenAI, ma al momento vanno importati manualmente da GitHub. Un modello della galleria ufficiale riceve aggiornamenti direttamente in GTM ed è la scelta più sicura nel tempo.

Con un tag HTML personalizzato

In alternativa si può creare un tag HTML personalizzato con il codice fornito da OpenAI. La struttura è questa:

<script>   (function (w, d, s, u) {     if (w.oaiq) return;     var q = function () { q.q.push(arguments); };     q.q = []; w.oaiq = q;     var js = d.createElement(s); js.async = true; js.src = u;     var f = d.getElementsByTagName(s)[0]; f.parentNode.insertBefore(js, f);   })(window, document, "script", "https://bzrcdn.openai.com/sdk/oaiq.min.js");   oaiq("consent", false);   oaiq("init", { pixelId: "IL-TUO-PIXEL-ID" }); </script>

Nota la riga oaiq(“consent”, false) prima dell’inizializzazione: senza di essa il pixel considera il consenso come già concesso. Il tag va attivato su tutte le pagine; il consenso viene poi sbloccato da un secondo tag, come vediamo tra poco.

Questo è uno dei due modi di gestire il consenso con il tag HTML personalizzato. L’altro, più semplice se il banner dei cookie invia un evento a Tag Manager, è far partire il tag solo dopo l’accettazione: in quel caso la riga oaiq(“consent”, false) non serve. È il metodo che uso io, e lo spiego nella sezione sul consenso.

Questo metodo funziona, ma richiede più attenzione nella gestione del consenso e nella manutenzione. Se il sito usa una Content Security Policy, vanno autorizzati i domini bzrcdn.openai.com e bzr.openai.com, altrimenti il pixel non si carica o non riesce a inviare i dati.

Il consenso: il passaggio che non si può saltare in Italia

Il pixel imposta due cookie sul dominio del sito: __oppref, che conserva per 30 giorni l’identificativo del clic sull’annuncio, e __obref, un identificativo casuale del browser che dura un anno. Sono cookie di marketing, e in Italia possono essere installati solo dopo il consenso dell’utente.

Il punto critico è che, per impostazione predefinita, il pixel considera il consenso già concesso. Se lo installi senza configurazioni aggiuntive, registra dati anche dagli utenti che hanno rifiutato i cookie.

Il pixel OpenAI ha un proprio meccanismo di consenso, separato dalla Modalità di consenso di Google. Come collegarli dipende dal metodo scelto:

  • con il modello della galleria di Stape, puoi attivare il supporto alla Modalità di consenso: il tag controlla il segnale ad_storage e, finché il consenso non è concesso, mette in attesa il caricamento e gli eventi, inviandoli solo quando l’utente accetta
  • con il tag HTML personalizzato, il pixel parte con il consenso negato e serve un secondo tag che esegua oaiq(“consent”, true), attivato dall’evento con cui il tuo banner dei cookie comunica l’accettazione della categoria marketing

In entrambi i casi, aggiungi OpenAI all’elenco dei fornitori nel banner e nella cookie policy, indicando i due cookie e la loro durata.

Sul mio sito il banner dei cookie è gestito da Complianz, che quando l’utente accetta i cookie di marketing invia a Tag Manager un evento chiamato cmplz_event_marketing. Ho scelto la soluzione più semplice: il tag del pixel parte solo su quell’evento. Così il pixel non si carica affatto finché l’utente non accetta, e non serve gestire il consenso dentro il codice.

C’è però un comportamento da conoscere. Nei primi test, nel flusso di eventi comparivano cinque visualizzazioni di pagina per una sola pagina aperta: in alcune pagine Complianz invia l’evento di consenso più volte, e ogni volta il tag ripartiva. L’ho risolto con un controllo nel codice che invia inizializzazione e visualizzazione una sola volta per pagina:

if (!window.__oaiqInit) {

  window.__oaiqInit = true;

  oaiq("init", { pixelId: "IL-TUO-PIXEL-ID" });

  oaiq("measure", "page_viewed", { type: "contents" });

}

Nello stesso blocco ho aggiunto l’invio di lead_created quando la pagina aperta è quella di ringraziamento del modulo: in questo modo la conversione parte sempre dopo l’inizializzazione e solo con il consenso già dato. Se usi un altro sistema di gestione dei consensi il principio è lo stesso: cerca nell’anteprima di Tag Manager l’evento che il banner invia all’accettazione e usalo come attivatore.

Quali conversioni misurare se raccogli contatti

Il pixel prevede una serie di eventi standard. Per un negozio online sono quelli legati al carrello e all’acquisto. Per un’attività di servizi, i più utili sono:

  • lead_created: l’invio di un modulo di contatto o di richiesta preventivo
  • appointment_scheduled: la prenotazione di un appuntamento o di una consulenza
  • registration_completed: l’iscrizione a una newsletter o a un’area riservata
  • page_viewed: la visualizzazione di pagina, utile come base ma non come conversione

La scelta è importante per un motivo preciso: solo gli eventi standard possono essere usati per le campagne ottimizzate per le conversioni. Gli eventi personalizzati servono per l’analisi, ma il sistema di OpenAI non può usarli per trovare utenti simili a chi ha convertito.

Clic su telefono e WhatsApp: intenzione, non contatto

Su molti siti di servizi le conversioni principali sono i clic sul numero di telefono, sul pulsante WhatsApp o sull’indirizzo email. È facile misurarli in GTM con un attivatore sui link tel:, wa.me e mailto:. Ma bisogna essere consapevoli di cosa si misura: un clic registra l’intenzione, non il contatto avvenuto. Chi clicca sul numero può non chiamare, chi apre WhatsApp può non scrivere.

Il consiglio è di non inviare questi clic come lead_created. Se lo fai, la campagna ottimizzata per le conversioni imparerà a cercare persone che cliccano, non persone che ti contattano davvero, e i numeri nell’Ads Manager non corrisponderanno mai ai contatti reali. Meglio inviarli come eventi personalizzati, utili per l’analisi, e riservare lead_created all’invio effettivo del modulo.

Il modulo di contatto: pagina di ringraziamento o evento di invio

Per il modulo ci sono due modi affidabili. Il più semplice è una pagina di ringraziamento con un indirizzo dedicato, per esempio /grazie/, che si raggiunge solo dopo l’invio: il tag si attiva sulla visualizzazione di quella pagina. Il secondo è intercettare l’evento di invio riuscito che molti plugin per moduli di WordPress espongono, e attivare il tag su quell’evento.

Evita l’attivatore generico sull’invio del modulo di GTM: si attiva anche quando l’invio fallisce per un campo obbligatorio mancante, e conta conversioni che non esistono. Per ogni evento, se prevedi di usare anche le Conversions API, invia un identificativo univoco dell’evento.

Verificare che tutto funzioni

Prima di pubblicare il contenitore, e prima di lanciare la campagna, controlla il funzionamento su tre livelli.

  • Anteprima di Google Tag Manager: verifica che il tag del pixel si attivi su tutte le pagine solo dopo il consenso, e che il tag di conversione si attivi solo sulla pagina di ringraziamento o sull’evento corretto
  • Strumenti per sviluppatori del browser: nella scheda Rete, filtrando per “bzr”, devi vedere il caricamento del codice di OpenAI e le chiamate che inviano gli eventi. Rifiutando i cookie, queste chiamate non devono comparire
  • Ads Manager: la sezione delle conversioni mostra gli eventi ricevuti di recente, in genere entro circa 15 minuti, con il nome dell’evento e il canale di provenienza, browser o server

Durante i test puoi aggiungere debug: true all’inizializzazione del pixel, se usi il tag HTML personalizzato: il browser mostrerà nella console ogni operazione del pixel. Ricordati di toglierlo prima della pubblicazione.

Quando aggiungere le Conversions API

Per un sito di servizi con un modulo di contatto, il pixel ben configurato è un ottimo punto di partenza. Le Conversions API diventano utili in tre situazioni:

  • quando una parte significativa dei visitatori usa blocchi pubblicitari o browser che limitano i cookie, e gli eventi del pixel risultano sensibilmente inferiori ai contatti reali
  • quando la conversione che conta avviene dopo, fuori dal sito: il preventivo accettato, il contratto firmato, il cliente acquisito
  • quando hai già un’infrastruttura lato server, per esempio un contenitore GTM server-side

Le Conversions API ricevono gli eventi con un identificativo, il tipo di evento, l’orario, e dati dell’utente come email o telefono, da inviare solo in forma cifrata con l’algoritmo SHA-256. Gli eventi possono essere inviati fino a sette giorni dopo che sono avvenuti. Per collegare la conversione al clic, va passato l’identificativo del clic memorizzato dal pixel nel cookie __oppref: per questo il pixel resta comunque la base del sistema.

Sull’attribuzione: la finestra dei clic si configura nelle impostazioni dell’evento di conversione, e la documentazione di OpenAI usa 30 giorni come riferimento, in linea con la durata del cookie __oppref. Le conversioni dopo la sola visualizzazione dell’annuncio hanno invece una finestra fissa di un giorno, e se c’è anche un clic prevale il clic.

Domande frequenti

Esiste un modello ufficiale OpenAI per Google Tag Manager?

No. OpenAI fornisce il codice del pixel e la documentazione delle Conversions API, ma non un modello ufficiale per GTM. Nella Galleria modelli della community di GTM è disponibile un modello di Stape; in alternativa si usa un tag HTML personalizzato con il codice ufficiale.

Il pixel OpenAI rispetta la Modalità di consenso di Google?

Non in modo automatico: il pixel ha un proprio meccanismo di consenso e, se non configurato, considera il consenso già concesso. Il modello di Stape può collegarlo al segnale ad_storage della Modalità di consenso; con il tag HTML personalizzato va gestito con i comandi di consenso del pixel.

Posso usare i clic su telefono e WhatsApp come conversioni?

Puoi misurarli, ma è meglio inviarli come eventi personalizzati e non come lead_created. Un clic indica un’intenzione, non un contatto avvenuto, e usarlo per ottimizzare la campagna porta il sistema a cercare persone che cliccano, non clienti.

Servono per forza le Conversions API?

No. Per molti siti di servizi il pixel ben configurato è sufficiente per iniziare. Le Conversions API sono utili quando si perdono molti eventi nel browser o quando la conversione avviene fuori dal sito.

Quanto tempo ci vuole perché gli eventi compaiano nell’Ads Manager?

Gli eventi ricevuti compaiono nella sezione conversioni in genere entro circa 15 minuti. I dati di spesa e le conversioni attribuite nei report possono invece arrivare con alcune ore di ritardo.

Vuoi un tracciamento fatto bene fin dal primo giorno?

La configurazione del pixel e del consenso è il primo passo di ogni campagna che seguo. Se preferisci affidarla a me, trovi i dettagli nella pagina dedicata alla mia consulenza ChatGPT Ads. Se invece stai ancora aprendo l’account, parti dalla guida su come aprire un account ChatGPT Ads in Italia.

Hai bisogno di una consulenza SEO?

Altri articoli dal blog