Vai al contenuto

Guida

Conversions API di OpenAI per WooCommerce: inviare gli acquisti lato server

La OpenAI Conversions API permette a un negozio WooCommerce di inviare le conversioni di ChatGPT Ads dal proprio server invece che dal browser di chi acquista. Per un negozio, la conversione che conta di più è l'acquisto: quando WooCommerce segna un ordine come pagato, l'ordine esiste, che uno script nel browser lo abbia segnalato o no. Questa guida spiega come funziona il tracciamento lato server degli acquisti, cosa deve gestire un'implementazione corretta e cosa non può risolvere.

Aggiornato il

In questa pagina

In sintesi: invia order_created da WooCommerce quando l'ordine raggiunge uno stato pagato, con lo stesso event ID usato dal pixel nel browser per quell'ordine, l'orario originale dell'acquisto e la chiave API custodita sul server. In caso di errori temporanei ripeti l'invio con lo stesso ID e tieni traccia di cosa è successo a ogni ordine.

Architettura

Il tracciamento lato server degli acquisti in breve

Dal negozio partono due canali. Quello del browser segue tutto il percorso d'acquisto; quello del server porta l'ordine pagato.

Nel browser, il Measurement Pixel invia visualizzazioni di prodotto, aggiunte al carrello, inizi di checkout e l'acquisto. Quando WooCommerce conferma un ordine pagato, l'acquisto parte anche dal tuo server tramite la OpenAI Conversions API, con lo stesso event ID, così OpenAI può contarlo una sola volta.

Il browser del cliente acquista sul negozio WooCommerce. Nel browser, il Measurement Pixel invia a OpenAI visualizzazioni di prodotto, aggiunte al carrello, inizi di checkout e l'acquisto. Quando WooCommerce segna l'ordine come pagato, il plugin invia l'acquisto dal server alla OpenAI Conversions API. OpenAI deduplica i due acquisti in base all'event ID.

Browser del cliente

Guarda i prodotti, aggiunge al carrello, completa il checkout

Negozio WooCommerce

Prodotti, carrello, checkout e ordini

Nel browser

Measurement Pixel

contents_viewed, items_added, checkout_started, order_created

OpenAI

Riceve gli eventi del browser

Sul tuo server

Ordine segnato come pagato

Cambio di stato in WooCommerce

Il plugin invia order_created

Stesso event ID · nuovi tentativi · diagnostica

Conversions API

Autenticata con la tua chiave API

Un solo acquisto conteggiato

OpenAI abbina Pixel ID, nome dell'evento ed event ID, e ignora il duplicato arrivato dopo.

Cosa sfugge alla misurazione nel browser

Il Measurement Pixel gira nel browser di chi acquista. È l'unico punto da cui si vedono le visualizzazioni di prodotto e l'attività sul carrello, ma significa anche che un evento va perso ogni volta che la pagina o lo script non arrivano fino in fondo:

  • Estensioni che bloccano i contenuti o strumenti per la privacy impediscono il caricamento dello script del pixel.
  • Il cliente chiude la scheda dopo aver pagato, prima che si carichi la pagina di conferma dell'ordine.
  • Il pagamento viene confermato più tardi (bonifico, alcuni gateway con reindirizzamento), quando il cliente non è più sul sito.
  • Un caricamento lento o fallito della pagina fa perdere la richiesta.

In tutti questi casi WooCommerce registra comunque l'ordine. Un evento di acquisto lato server parte da quell'ordine, quindi nessuno di questi casi ne impedisce l'invio.

Come funziona la Conversions API

Il tuo server fa una richiesta HTTPS autenticata a OpenAI con uno o più eventi. La richiesta è indirizzata tramite il Pixel ID e autorizzata con una chiave della Conversions API, entrambi generati nella scheda delle conversioni di Ads Manager (documentazione della OpenAI Conversions API, in inglese, come tutta la documentazione di OpenAI citata in questa guida).

Campi principali di un evento di acquisto nella Conversions API
CampoCosa contiene per un acquisto WooCommerce
event_nameorder_created: un acquisto completato
idL'event ID. Deve coincidere con quello dell'evento del browser per lo stesso ordine.
timestamp_msQuando è avvenuto l'acquisto, in millisecondi.
action_sourceweb per un negozio online

Solo dal server

OpenAI chiede di inviare gli eventi alla Conversions API esclusivamente dal tuo server, e la documentazione del pixel aggiunge di non chiamare l'API lato server direttamente dal codice della pagina. La chiave API non deve mai arrivare al browser.

Quando inviare l'acquisto

Invialo quando WooCommerce segna l'ordine come pagato, non quando si carica la pagina di conferma dell'ordine. Legare l'evento allo stato dell'ordine invece che a una visualizzazione di pagina significa che:

  • Parte una sola volta per ordine, anche se la pagina di ringraziamento viene ricaricata più volte.
  • Con i metodi di pagamento differiti l'acquisto parte quando il pagamento viene davvero confermato.
  • Gli ordini non pagati, falliti o abbandonati non vengono segnalati come acquisti.
  1. Checkout completato

    Ordine creato in WooCommerce

  2. Pagamento confermato

    L'ordine raggiunge uno stato pagato

  3. Acquisto inviato

    order_created dal tuo server

  4. Esito registrato

    Accettato, ritentato o fallito

Event ID e deduplica

Se un acquisto viene inviato sia dal browser sia dal server, OpenAI deve poter capire che si tratta di un solo acquisto. Secondo la documentazione di OpenAI, per la deduplica vengono usati il Pixel ID, l'event_name e l'id: per ogni chiave corrispondente vale il primo evento ricevuto, mentre i duplicati successivi vengono ignorati.

L'event ID deve quindi essere identico sui due canali. Su WooCommerce il modo affidabile per ottenerlo è ricavarlo dall'ordine, che conoscono sia la pagina di conferma sia il server, invece di generare nel browser un ID casuale che il server non vedrà mai. La guida pixel o Conversions API spiega come si incastrano i due canali.

L'acquisto inviato dal browser e quello inviato dal server per lo stesso ordine hanno lo stesso event ID. OpenAI tiene il primo che riceve e ignora il duplicato, quindi l'ordine vale una sola conversione.

Browser · Pixel

Acquisto

Event ID condiviso, ricavato dall'ordine WooCommerce

Server · Conversions API

Acquisto

Event ID condiviso, ricavato dall'ordine WooCommerce

Una sola conversione

Stesso Pixel ID, stesso nome evento, stesso ID: OpenAI tiene il primo evento e ignora il duplicato.

La regola dei 7 giorni

OpenAI rifiuta gli eventi fuori da una certa finestra temporale: secondo la sua documentazione, il timestamp deve cadere negli ultimi 7 giorni e non oltre 10 minuti nel futuro. Per un negozio ci sono due conseguenze:

7 giorni

orario d'acquisto più vecchio accettato

10 minuti

massimo scarto nel futuro

  • Invia l'orario originale dell'acquisto, non quello del tentativo: altrimenti, a ogni nuovo tentativo, l'acquisto risulterebbe avvenuto più tardi del reale.
  • Risolvi in fretta gli invii falliti. Un ordine con un orario d'acquisto più vecchio di 7 giorni non può più essere inviato.

L'API accetta anche batch fino a 1.000 eventi, e la documentazione precisa che se un solo evento del batch fallisce, fallisce l'intero batch: un ordine malformato può bloccare anche gli altri, se l'implementazione raggruppa gli eventi senza cura.

Nuovi tentativi ed errori

La documentazione di OpenAI chiede di riutilizzare lo stesso ID quando ritenti l'invio o mandi la stessa conversione tramite un'altra integrazione. Non pubblica però un calendario dei tentativi, quindi la strategia spetta all'implementazione. Una strategia sensata distingue:

Tipi di errore di invio e come gestirli
ErroreEsempioGestione
TemporaneoTimeout, limite di frequenza (429), errore del server (5xx)Nuovo tentativo automatico con lo stesso ID
Di configurazioneChiave API rifiutata (401)Correggi l'impostazione, poi reinvia
Di reteIl server non raggiunge l'APICorreggi HTTPS in uscita o le regole del firewall

Qualunque sia la strategia, un errore deve essere visibile da qualche parte. Senza un registro per ordine, un'integrazione rotta sembra in tutto e per tutto una settimana di vendite fiacca.

Come lo implementa Pixel for ChatGPT Ads

Pixel for ChatGPT Ads è un plugin WooCommerce che invia lato server solo l'acquisto. Ecco cosa fa in ciascuno dei punti visti sopra:

Gestione dell'acquisto lato server in Pixel for ChatGPT Ads
AspettoComportamento
Evento inviato lato serverSolo order_created
Quando parteL'ordine raggiunge uno stato pagato in WooCommerce
Event IDRicavato dall'ordine; lo stesso ID dell'acquisto inviato dal browser
Orario dell'acquistoViene inviato l'orario originale dell'acquisto
Errori temporaneiRitentati in automatico
VisibilitàStato di invio, tentativi e codice HTTP per ogni ordine
Reinvio manualeDisponibile per gli ordini idonei, una volta risolta la causa
Chiave APISalvata per l'uso lato server; mai stampata nella pagina
ConsensoUsa lo stato di consenso registrato per l'ordine (WordPress Consent API)
Archiviazione ordiniSupportate sia HPOS sia l'archiviazione classica

Il canale lato server dell'acquisto, così come lo implementa il plugin.

  1. 1Il punto di partenza è l'ordine WooCommerce pagato, non il browser del cliente.
  2. 2L'acquisto va dal tuo negozio alla OpenAI Conversions API.
  3. 3Script bloccati, schede chiuse ed estensioni che bloccano i contenuti non fermano questo canale.

Visualizzazioni di prodotto, aggiunte al carrello e inizi di checkout restano eventi del browser. La pagina Il pixel di ChatGPT Ads per WooCommerce elenca ogni evento e da dove parte.

Aspettative

Dove aiuta il tracciamento lato server, e cosa non risolve

L'invio lato server rende l'acquisto più affidabile. Non è la soluzione a tutto.

Dove aiuta il tracciamento lato server

  • Acquisti il cui evento nel browser è stato fermato da un'estensione che blocca i contenuti.
  • Clienti che chiudono la scheda dopo aver pagato.
  • Pagamenti confermati più tardi, quando il cliente ha già lasciato il sito.
  • Vedere, ritentare e reinviare gli invii falliti ordine per ordine.

Cosa non risolve

  • Non decide l'attribuzione. Se un acquisto viene attribuito a un annuncio su ChatGPT lo stabilisce OpenAI, non il modo in cui è stato inviato l'evento.
  • Non recupera gli eventi che esistono solo nel browser. Visualizzazioni di prodotto e attività sul carrello hanno comunque bisogno del browser.
  • Non scavalca il consenso. Gli ordini senza consenso marketing non vengono inviati.
  • Non corregge un secondo pixel non gestito. Le copie duplicate senza ID condivisi continuano a contare due volte.
  • Non garantisce ogni conversione. Toglie al browser il ruolo di unico punto di guasto per l'acquisto.

Domande

La Conversions API è obbligatoria per ChatGPT Ads?

OpenAI supporta la misurazione delle conversioni con il pixel, con la Conversions API o con entrambi (panoramica sul tracciamento delle conversioni). Per un negozio, inviare l'acquisto su entrambi i canali con un ID condiviso gli dà un percorso che non dipende dal browser.

Posso chiamare la Conversions API via JavaScript dalla pagina di ringraziamento?

No. Esporresti la chiave API e dipenderesti comunque dal browser. OpenAI indica di usare il pixel nel browser e la Conversions API dal server.

Il tracciamento lato server richiede i container server di Google Tag Manager?

No. WooCommerce gira già su un server: un plugin può inviare l'acquisto direttamente da WordPress.

Questo plugin invia lato server anche l'aggiunta al carrello?

No. Solo l'acquisto viene inviato lato server. Gli altri tre eventi sono eventi del browser.

Acquisti lato server senza sviluppare l'integrazione

Pixel for ChatGPT Ads gestisce per WooCommerce il momento dell'invio, gli event ID, i nuovi tentativi e la diagnostica per ordine. Stesse funzionalità in ogni piano.