Approfondimento · 11 min di lettura

Come importare il margine degli ordini in Google Ads quando lo shop non salva il click ID

La piattaforma dello shop non salva il Google Click ID con ogni ordine. Ricavalo dall'esportazione GA4 in BigQuery e invia il margine a Google Ads via API.

Uno chef impiatta una piccola porzione su un piatto con la scritta Margin, mentre un cuoco alle sue spalle regge un piatto stracolmo con la scritta Revenue che viene respinto. Un piccolo robot cameriere con la targhetta Google Ads aspetta al pass.
I fatti seri sono veri — le copertine degli articoli no.

In breve: La normale importazione degli ordini in Google Ads tramite API richiede il Google Click ID salvato con ogni ordine. Una piattaforma e-commerce chiusa spesso non lo salva. Non hai bisogno di salvarlo nello shop. L'esportazione di GA4 in BigQuery registra già il clic associato a ogni visita proveniente da un annuncio. Puoi abbinare gli ordini ai clic in BigQuery. Poi invii il margine di ogni ordine per cui è stato registrato il consenso tramite la Data Manager API. Lo invii con l'ID del clic oppure con l'indirizzo email e il numero di telefono sottoposti a hashing. Invii gli annullamenti tramite la Google Ads API. Niente cambia sul sito web.

Download gratuito

Vuoi subito il brief per Claude Code?

Claude Code o uno sviluppatore scrive il codice dell'intera importazione seguendo questo pacchetto di istruzioni. Lascia il tuo indirizzo email per ricevere il file, oppure continua a leggere.

Un file, una lista. Scrivo solo quando c'è qualcosa che vale la pena leggere.

Google Ads ottimizza le campagne in base alle entrate segnalate dal tag del sito web. Le entrate non sono il profitto. La maggior parte degli shop vende prodotti a marchio proprio insieme ai prodotti dei fornitori. Nella mia esperienza, il margine su questi prodotti varia all’incirca dal 20 al 60%. Quando l’ottimizzazione delle offerte si basa sulle entrate, due ordini con le stesse entrate contano allo stesso modo, anche se uno ha un margine basso e l’altro alto. In genere dal 3 al 10% degli ordini viene anche annullato. Il tag del sito web non registra questi annullamenti. La conversione mantiene quindi l’intero valore.

Evita di inviare il margine tramite il tag del sito web. Chiunque può leggere i dati del tag nel browser. Anche i tuoi concorrenti possono farlo. Per questo motivo il margine passa a Google Ads tramite l’API.

La normale importazione tramite API richiede il Google Click ID di ogni ordine. Su una piattaforma chiusa come Shopify o Shoptet non controlli come il checkout salva un ordine. L’ordine non ha un campo per il click ID. Shopify, per esempio, conserva solo le pagine di destinazione della prima e dell’ultima visita del cliente. Queste pagine possono contenere il click ID, ma solo se il visitatore ha consentito il tracciamento. Senza codice personalizzato o un’app dedicata, l’ordine non riporterà il click ID in modo affidabile. Non hai bisogno del click ID nello shop. L’esportazione di GA4 in BigQuery registra già il clic associato a ogni visita proveniente da un annuncio.

Punti chiave tl;dr
  • Cosa inviare esattamente. Per ogni ordine invia il numero d'ordine, il margine come valore, l'ora, l'identificatore del clic, l'indirizzo email e il numero di telefono sottoposti a hashing e il consenso. Indica anche se il cliente è nuovo o di ritorno.
  • Gli annullamenti vengono inviati tramite la vecchia Google Ads API. La nuova Data Manager API non può ritirare una conversione. I nuovi ordini e le modifiche al margine vengono inviati tramite la Data Manager API.
  • Invia ogni ordine per cui è stato registrato il consenso, non solo quelli con un clic. Gli ordini senza un Google Click ID vengono inviati con l'indirizzo email e il numero di telefono sottoposti a hashing. Google ne abbina una parte tramite le conversioni avanzate.
  • Il clic proviene dall'esportazione di GA4 in BigQuery. Niente di nuovo viene salvato nello shop. L'esportazione è gratuita. BigQuery costa pochi dollari al mese per uno shop tipico.

Cosa ti serve

  • GA4 sul sito web dello shop, che registra gli acquisti con il numero d’ordine
  • gli ordini dello shop con i prezzi di acquisto, da un’esportazione, dall’API della piattaforma o dal database
  • un progetto Google Cloud
  • accesso come amministratore all’account Google Ads
  • un ambiente in cui eseguire un job al giorno

Nessuno deve modificare il sito web o il checkout. Il clic proviene da GA4. GA4 è già attivo sul sito. Il margine proviene dai dati degli ordini già conservati dallo shop. Le piattaforme chiuse di solito esportano gli ordini con i prezzi di acquisto. Controlla che la tua lo faccia.

Passo 1: Crea il progetto Google Cloud

Indico i nomi delle pagine e dei pulsanti nella console Google Cloud in inglese. Un progetto Cloud ospita l’esportazione di GA4 e consente l’accesso a entrambe le API. Se GA4 esporta già in un progetto, usa quello.

  1. Se non hai ancora un account di fatturazione, apri Billing nella console Google Cloud e creane uno. Un nuovo account di fatturazione è inizialmente in modalità Free Trial.
  2. Apri la pagina Overview dell’account di fatturazione. Se vedi Free trial account, fai clic su Activate in quella pagina o nella pagina Welcome della console e conferma nella finestra di dialogo.
  3. Apri Manage resources, fai clic su Create project, inserisci un nome e scegli quell’account di fatturazione. Se usi un account personale, l’organizzazione rimane impostata su No organization. Fai clic su Create.
  4. In APIs & Services, apri Library, trova BigQuery API e fai clic su Enable. Fai lo stesso per Data Manager API e Google Ads API.

Il progetto richiede un account di fatturazione a pagamento. La documentazione attuale di Google indica che le richieste di accesso alla Google Ads API vengono rifiutate se il progetto è in prova gratuita o se l’account di fatturazione è sospeso o disabilitato. Senza un account di fatturazione, BigQuery funziona in modalità sandbox, dove le tabelle scadono dopo 60 giorni.

L’esportazione di GA4 in sé è gratuita. BigQuery addebita i costi di archiviazione e delle query. Nella mia esperienza, la spesa è di pochi dollari al mese per uno shop tipico. Per vedere l’importo reale, apri Billing, seleziona l’account di fatturazione, apri Reports e filtra per questo progetto.

Controllo. La pagina Enabled APIs & services elenca tutte e tre le API.

Passo 2: Attiva l’esportazione di GA4 in BigQuery

In questo passaggio ottieni il Google Click ID senza modificare nulla nello shop. Attiva l’esportazione il prima possibile. L’esportazione contiene solo i dati dei giorni successivi al collegamento. La guida di Google non descrive alcun modo per esportare i giorni precedenti.

Ti serve il ruolo Editor sulla proprietà GA4 e il ruolo Proprietario sul progetto Cloud. In Google Ads controlla che la codifica automatica sia attiva. Si trova sotto Amministratore, Impostazioni account, Tagging automatico. Senza la codifica automatica, ai clic sugli annunci non è associato alcun Google Click ID. Se è disattivata, spunta Aggiungi un tag all’URL a cui vengono indirizzati gli utenti facendo clic sul mio annuncio e fai clic su Salva.

  1. In GA4 apri Amministrazione. Sotto Collegamenti dei prodotti, fai clic su Collegamenti BigQuery, poi su Collega.
  2. Fai clic su Scegli un progetto BigQuery, seleziona il progetto dal passo 1 e fai clic su Conferma.
  3. Scegli la posizione dei dati. Per uno shop nell’UE scegli una posizione nell’Unione Europea (la multi-regione UE o una regione UE) e annotala. Le query dell’importazione e le tabelle di stato usano la stessa posizione. Se il progetto ha già un set di dati per questa proprietà, la posizione è fissa e non può essere modificata. Fai clic su Avanti.
  4. Fai clic su Configura stream di dati ed eventi, seleziona lo stream web dello shop e fai clic su Fine.
  5. Lascia disattivato Comprende identificatori pubblicitari per gli stream di app mobile. Per uno shop sul web non serve.
  6. Scegli Ogni giorno e lascia disattivato Streaming.
  7. Fai clic su Avanti, poi su Invia.

L’esportazione giornaliera basta. L’importazione legge le tabelle giornaliere events_YYYYMMDD. Lo streaming aggiunge i dati di oggi in pochi minuti. Un job giornaliero non usa i dati di oggi. Inoltre, lo streaming costa di più.

Il limite di 1 milione. Una proprietà GA4 standard può esportare 1 milione di eventi al giorno con l’esportazione giornaliera. Se la proprietà continua a superare questo limite, Google mette in pausa l’esportazione e non recupera i dati dei giorni mancanti. Se sei vicino al limite, escludi gli eventi che non ti servono nella finestra degli stream di dati. Escludi ad esempio scroll o user_engagement. Mantieni purchase, page_view e session_start. Da questi eventi ricavi i dati dell’ordine, della pagina di destinazione e del clic. Se questo non basta, lo streaming non ha limiti ma richiede un adattamento dell’importazione. La guida di Google suggerisce anche un upgrade ad Analytics 360.

Le prime settimane. I clic precedenti alla data di collegamento non sono in BigQuery. Per i primi 30 giorni, l’importazione invia quindi un maggior numero di ordini usando solo l’indirizzo email e il numero di telefono sottoposti a hashing.

Controllo. I dati dovrebbero iniziare ad arrivare entro 24 ore in un set di dati BigQuery analytics_<ID proprietà>. Ogni giorno viene aggiunta al set di dati una tabella con i dati del giorno precedente. Questo avviene di solito nel primo pomeriggio secondo il fuso orario della proprietà. A volte la tabella arriva più tardi nella stessa giornata o il giorno successivo.

Passo 3: Imposta l’accesso a entrambe le API

I nuovi ordini e le modifiche al margine vengono inviati tramite la Data Manager API. Gli annullamenti vengono inviati tramite la vecchia Google Ads API. La Data Manager API non può ritirare una conversione. Per entrambe usi lo stesso progetto e le stesse credenziali di accesso.

Scrivo codice per la Google Ads API da dodici anni e nel 2026 sono cambiate le modalità di accesso. Google ha dismesso i token sviluppatore il 9 settembre 2026. L’accesso è ora associato al progetto Cloud. Un nuovo progetto ha il livello di accesso Test. Questo livello consente di usare solo account di prova. Per usare il tuo account reale serve il livello Explorer.

  1. Nella console Cloud apri la pagina Google Ads API Overview e controlla che il livello di accesso sia Test.
  2. Espandi Upgrade access level e controlla che il livello successivo sia Explorer.
  3. Fai clic su Apply for access, compila il breve modulo e aspetta la risposta di Google via email. La pagina Overview mostra Explorer solo dopo l’approvazione.

Explorer consente 2.880 operazioni al giorno in account reali e non richiede la verifica del brand. Google approva automaticamente la richiesta nella maggior parte dei casi. Una causa documentata di rifiuto è l’uso di un account di fatturazione in prova gratuita, sospeso o disabilitato. Controlla il motivo nell’email. Sistema l’account di fatturazione, aspetta qualche minuto e fai di nuovo richiesta per Explorer.

L’accesso. Per un account utente imposta OAuth nella console Cloud sotto Google Auth Platform.

  1. Su Branding compila il nome dell’app, un indirizzo email per l’assistenza agli utenti e un indirizzo email di contatto dello sviluppatore. Poi fai clic su Create.
  2. Su Data Access fai clic su Add or remove scopes e aggiungi Data Manager API, Google Ads API e BigQuery API. Le stesse credenziali consentono anche di leggere l’esportazione di GA4. Fai clic su Update, poi su Save.
  3. Su Audience scegli Internal solo se il progetto Cloud appartiene alla tua organizzazione Google Workspace e tutti gli utenti ne fanno parte. Altrimenti scegli External e fai clic su Publish app. Lo stato diventa In production.

Non lasciare mai lo stato su Testing. La guida di Data Manager di Google usa lo stato Testing per lo sviluppo ma non va bene in produzione. Se lasci lo stato su Testing, le credenziali di accesso scadono dopo 7 giorni. L’esecuzione giornaliera si ferma dopo una settimana e nessuno viene avvisato a meno che il job non segnali l’errore. Un’app pubblicata che Google non ha verificato mostra un avviso di app non verificata una volta al primo accesso. Se usi l’app per le tue attività, fai clic su Advanced e continua. L’avviso non significa che c’è un problema.

Crea le credenziali.

  1. Se l’importazione verrà eseguita su un server o sul tuo computer, crea un client OAuth di tipo Desktop app su Clients e scarica il relativo file JSON. Google Apps Script accede tramite lo script stesso e non ha bisogno di questo file.
  2. Dai il JSON a chi costruisce l’importazione (passo 5). Questa persona usa il JSON per accedere una sola volta. Da questo accesso si ottengono credenziali memorizzate, che l’importazione rinnova automaticamente.

In alternativa, su un server puoi usare un account di servizio. Crealo e concedigli Service Usage Consumer e BigQuery Job User sul progetto. Concedigli BigQuery Data Viewer sul set di dati GA4 e BigQuery Data Editor sul set di dati dell’importazione. Poi aggiungi la sua email in Google Ads come descritto di seguito.

Aggiungi l’account in Google Ads sotto Amministratore, Accesso e sicurezza. Usa il pulsante più e l’accesso Standard. Se aggiungi una persona, fai clic su Invia invito. La persona accetta l’invito. Per un account di servizio inserisci la sua email e fai clic su Aggiungi account senza invito. Usa un account che resti in azienda. L’importazione si ferma quando l’account viene eliminato.

Controllo. La pagina Overview mostra Explorer. Il passo 6 testa entrambe le API. Usa una chiamata validateOnly a Data Manager e una chiamata di annullamento di prova alla Google Ads API.

Passo 4: Crea l’azione di conversione per il margine

Crea un’azione di conversione separata di tipo importazione per il margine. Qui attivi anche le conversioni avanzate. Queste permettono a Google di abbinare gli ordini senza un clic.

  1. In Google Ads fai clic su Obiettivi, poi su Conversioni, poi su Riepilogo.
  2. Fai clic su + Crea azione di conversione e seleziona Conversioni offline.
  3. Quando ti viene chiesta un’origine dati, scegli Ignora questo passaggio e configura un’origine dati in un secondo momento. L’importazione invia i dati tramite l’API.
  4. Poi definisci l’azione stessa nella procedura guidata. Scegli la categoria Acquisto, dai un nome all’azione, fai clic su Salva e continua e termina facendo clic su Accetta e completa.

La guida di Google dice che una nuova azione offline non è attiva finché non viene collegata un’origine dati. In pratica, l’origine dati è il caricamento tramite API. Il test di dieci ordini nel passo 6 ne è la prova. Se l’azione non mostra alcun valore il giorno successivo, apri l’azione. Fai clic su Modifica origini dati e controllale.

Apri l’azione, fai clic su Modifica impostazioni e imposta queste voci:

  • Valore su Utilizza valori diversi per ogni conversione. Altrimenti Google usa il valore predefinito invece del tuo margine. Il campo richiede comunque un valore predefinito. Inserisci un valore piccolo qualsiasi. Google lo usa solo quando un evento non ha un valore.
  • Conteggio su Ogni. Ogni ordine è una vendita separata.
  • Finestra di conversione clickthrough a 90 giorni. Vengono così conteggiati anche gli ordini con un clic risalente a settimane prima.
  • Modello di attribuzione su Basato sui dati, se l’opzione è disponibile. Seleziona questa opzione o mantienila se è già impostata.

Fai clic su Salva. Poi, in Riepilogo, apri la riga con l’azione del margine e fai clic su Modifica obiettivo. Sotto Ottimizzazione dell’azione di conversione, scegli Secondaria (solo osservazione) e fai clic su Salva. In questo modo, l’azione del margine non influisce sulle offerte prima che tu ne abbia controllato i dati. Una campagna con un obiettivo personalizzato usa tutte le azioni di quell’obiettivo per l’ottimizzazione delle offerte, incluse quelle secondarie. Tieni quindi l’azione del margine fuori dagli obiettivi personalizzati.

Per le conversioni avanzate fai clic su Obiettivi, poi su Impostazioni. Espandi Utilizzo dei dati dei clienti, spunta Attiva le conversioni avanzate e fai clic su Accetta e salva. Poi leggi i termini relativi ai dati dei clienti e fai clic su Accetta e continua. Se non accetti questi termini, Google non usa l’indirizzo email e il numero di telefono sottoposti a hashing.

Copia l’ID dell’azione dalla sua scheda Dettagli, accanto a ID tipo di conversione. Annota anche l’ID a 10 cifre dell’account Google Ads a cui appartiene l’azione. Google consiglia di aspettare dalle 4 alle 6 ore prima del primo caricamento. Il giorno successivo è quindi una scelta pratica per il primo invio.

Controllo. Il campo relativo all’origine della conversione mostra Sito web (importazione da clic). La casella delle conversioni avanzate è selezionata sotto Utilizzo dei dati dei clienti.

Download gratuito

Fai scrivere il codice seguendo il pacchetto di istruzioni

La query di abbinamento dei clic, il calcolo del margine e le correzioni giornaliere sono in un unico file per Claude Code o per uno sviluppatore. Lascia il tuo indirizzo email per ricevere il file.

Un file, una lista. Scrivo solo quando c'è qualcosa che vale la pena leggere.

Passo 5: Trova il clic sull’annuncio per ogni ordine in BigQuery

Da qui in poi Claude Code o uno sviluppatore realizza l’importazione seguendo il pacchetto di istruzioni da scaricare. I passaggi seguenti spiegano cosa fa l’importazione e cosa devi controllare.

Questo passaggio sostituisce il salvataggio del clic nello shop. Abbini ogni ordine alla visita corrispondente nell’esportazione di GA4.

Trova l’acquisto GA4 il cui ecommerce.transaction_id è uguale al numero d’ordine dello shop. Confrontali come testo rimuovendo solo gli spazi iniziali e finali. Ogni visita è identificata dalla coppia di user_pseudo_id e ga_session_id. Prendi l’ultimo Google Click ID o wbraid registrato durante la visita dell’acquisto, prima dell’acquisto. Se la visita non contiene nessuno dei due identificatori, cerca le visite precedenti dello stesso visitatore tramite user_pseudo_id. Considera le visite nei 30 giorni precedenti all’acquisto e prendi l’identificatore del clic più recente. Se un evento contiene entrambi gli identificatori, usa il Google Click ID.

Il Google Click ID si trova in collected_traffic_source.gclid. wbraid è l’identificatore dei clic per iPhone. Se l’URL della pagina nel campo page_location dell’esportazione conserva il parametro wbraid, la query lo legge da quel campo. Verifica che sia così nei tuoi dati.

La query completa, che gestisce anche gli eventi che arrivano in ritardo, si trova nel pacchetto di istruzioni.

Controllo. Prendi cinque ordini dello shop per i quali GA4 registra un acquisto in uno dei giorni già esportati. La query deve trovare quell’acquisto per ciascuno di essi. I numeri d’ordine devono corrispondere carattere per carattere. La stessa query mostra per quanti acquisti trova un clic.

Passo 6: Invia gli ordini con il margine alla Data Manager API

In questo passaggio invii il set completo di dati per ogni ordine tramite la Data Manager API, con il metodo events:ingest. Una richiesta può contenere fino a 2.000 ordini.

Il margine è il margine lordo dell’ordine senza IVA. Prendi i prezzi degli articoli al netto degli sconti sui singoli articoli. Moltiplicali per il numero di unità che il cliente ha tenuto. Sottrai gli eventuali sconti sull’ordine e i prezzi di acquisto di quelle unità. Tralascia le spese di spedizione e di pagamento. Non trattare un prezzo di acquisto mancante come se fosse zero. Non inviare un ordine con prezzi di acquisto mancanti finché non sono disponibili.

Ogni evento contiene questi campi:

  • transactionId, il numero d’ordine
  • conversionValue e currency, il margine e la sua valuta
  • eventTimestamp, l’ora dell’ordine con un offset di fuso orario
  • eventSource, WEB
  • adIdentifiers, il Google Click ID o wbraid dal passo 5
  • userData, l’indirizzo email e il numero di telefono sottoposti a hashing
  • consent, con il consenso adUserData concesso
  • userProperties.customerType, NEW o RETURNING, se puoi determinarlo dagli ordini precedenti dello shop
{
  "transactionId": "ORDER-EXAMPLE-000",
  "eventTimestamp": "2026-01-01T12:00:00+01:00",
  "eventSource": "WEB",
  "conversionValue": 123.45,
  "currency": "EUR",
  "adIdentifiers": { "gclid": "INVALID-EXAMPLE-CLICK-ID" },
  "userData": {
    "userIdentifiers": [
      { "emailAddress": "sha256-hex-of-the-normalised-email" },
      { "phoneNumber": "sha256-hex-of-the-e164-phone-number" }
    ]
  },
  "consent": { "adUserData": "CONSENT_GRANTED" },
  "userProperties": { "customerType": "NEW" }
}

Tutti i valori nell’esempio sono inventati. L’esempio è un evento, non una richiesta completa. L’importazione lo inserisce in una richiesta insieme alla destinazione (l’ID dell’account a cui appartiene l’azione e l’ID dell’azione) e alla codifica. Normalizza l’indirizzo email e il numero di telefono secondo le regole di formattazione di Google. Applica l’hashing SHA-256 a entrambi e imposta l’encoding della richiesta su HEX.

Invia ogni ordine per cui è stato registrato il consenso, non solo quelli con un clic. L’importazione invia ogni ordine idoneo per cui è stato registrato il consenso e che ha almeno un identificatore (click ID, indirizzo email o numero di telefono). Per un ordine senza clic, l’importazione invia l’indirizzo email, il numero di telefono o entrambi sottoposti a hashing. Google abbina solo una parte di questi ordini tramite le conversioni avanzate. Non puoi sapere in anticipo quali. Un ordine privo di click ID, indirizzo email sottoposto a hashing e numero di telefono sottoposto a hashing non può essere abbinato. Quindi saltalo.

Consenso. Invia un ordine solo se per quell’ordine è stato registrato il consenso ad_user_data. Non indicare mai come negato un consenso che non è stato registrato. Per il consenso, l’esportazione di GA4 contiene solo privacy_info.ads_storage. Usa questo dato solo se nel tuo banner dei cookie i consensi ad_storage e ad_user_data vengono sempre concessi insieme. Verifica questa condizione in Tag Assistant. Altrimenti prendi il consenso dai registri dello shop. Spetta allo shop valutare se il consenso raccolto è sufficiente dal punto di vista legale.

Il primo invio. L’importazione può inviare un ordine una volta che esiste la tabella giornaliera GA4 per il giorno dell’ordine. Questa è solo la prima condizione. L’importazione applica anche le regole di attesa descritte nel pacchetto.

  1. Invia un batch a Data Manager con validateOnly impostato su true. Invia una chiamata di annullamento alla Google Ads API sempre con validateOnly. Google controlla entrambe le chiamate e non salva nulla.
  2. Invia dieci ordini reali. Preferisci quelli recenti con un Google Click ID. Il giorno successivo controlla che la richiesta sia terminata con SUCCESS. Controlla che l’azione del margine mostri il loro valore in “Valore di tutte le conv.”. Le azioni secondarie non compaiono nelle colonne standard dedicate alle conversioni. I valori sono espressi nella valuta dell’account. Se puoi annullare uno di questi dieci ordini, annulla anche quello (passo 7).
  3. Poi attiva la pianificazione giornaliera con avvisi in caso di errore.

Una risposta da events:ingest significa solo che Google ha accettato la richiesta. L’importazione memorizza l’ID di ogni richiesta e ne legge l’esito all’esecuzione successiva. Google impiega dai 30 minuti alle 24 ore.

Passo 7: Invia modifiche al margine e annullamenti ogni giorno

Ogni giorno l’importazione confronta ogni ordine inviato con il suo stato nello shop.

Modifica del margine. Invia di nuovo l’evento memorizzato alla Data Manager API. Usa lo stesso numero d’ordine, gli stessi identificatori e la stessa destinazione. Invia il nuovo valore e il consenso di oggi. Se il cliente ha ritirato il consenso, non inviare di nuovo. Secondo la documentazione, Google sovrascrive il valore e mantiene il conteggio delle conversioni. Controlla questo dopo la prima modifica.

Annullamento. Invialo tramite la Google Ads API. Usa il metodo UploadConversionAdjustments con il tipo RETRACTION, senza specificare un valore. Nell’avviso di Google sulla chiusura di alcune parti della Google Ads API sono menzionati solo i caricamenti di conversioni. Al momento della stesura dell’articolo, gli annullamenti venivano inviati tramite la Google Ads API. Il primo annullamento conferma il funzionamento nel tuo progetto.

Non inviare mai zero o un valore negativo. La guida di Google sugli aggiustamenti delle conversioni dice che un valore pari a 0 comporta il ritiro definitivo della conversione. Un ritiro non può essere annullato. Il comportamento della Data Manager API con un valore pari a zero non è documentato. Non inviare mai zero o un valore negativo. Se il margine di un ordine scende a zero o meno, invia un annullamento.

Tempistiche. Invia un annullamento almeno 24 ore dopo la conversione ed entro 54 giorni. Secondo la guida di Google, una correzione che arriva più di 7 giorni dopo la registrazione della conversione non viene usata per le offerte. Invia le correzioni ogni giorno.

Limiti. Gli aggiustamenti nella Google Ads API non funzionano con wbraid. Non puoi ritirare la conversione di un ordine inviato solo con wbraid. L’importazione registra questo annullamento come irrisolto, con il motivo wbraid. La documentazione di Google per la Data Manager API non elenca alcun limite del genere per le modifiche al margine. Controlla il risultato della prima modifica al margine nell’account. Non inviare mai più un ordine alla Data Manager API dopo un tentativo di annullamento dello stesso ordine. Google potrebbe registrarlo come una nuova conversione che non potresti annullare una seconda volta.

Passo 8: Controlla che funzioni, poi decidi come impostare le offerte

Nella prima settimana controlla quattro cose ogni giorno:

  1. L’azione del margine mostra un valore in “Valore di tutte le conv. (per data/ora conv.)”, non solo un conteggio. Filtra o segmenta il report per azione di conversione.
  2. Ogni richiesta termina con SUCCESS. Leggi anche gli avvisi.
  3. Il valore della colonna “Tutte le conv. (per data/ora conv.)” per l’azione del margine corrisponde all’incirca al numero di ordini che hai inviato per gli stessi giorni. Una chiara differenza è un motivo per indagare. Non è la prova che l’importazione ha inviato un ordine due volte.
  4. Google accetta la prima riga di annullamento. L’assenza di un errore di accesso non basta.

Poi confronta l’azione del margine con l’azione del tag del sito web per data di conversione. Usa solo i dati di almeno 3 giorni fa. Le due azioni possono riportare conteggi diversi. Misura la differenza nel tuo account.

Ottimizzare le offerte in base al margine è una decisione separata. Prendi questa decisione quando i valori, gli annullamenti e le richieste sono tutti in ordine. Poi rendi primaria l’azione del margine. Nello stesso momento rendi secondaria l’azione delle entrate e rimuovila dagli obiettivi personalizzati. Altrimenti ogni acquisto conta due volte. Controlla anche che ogni campagna usi l’obiettivo che contiene l’azione del margine. Ricalcola anche il target tROAS. Il margine è inferiore alle entrate.

Altre due cose da inviare con ogni ordine

Cliente nuovo o di ritorno. Compila userProperties.customerType (passo 6) usando la cronologia degli ordini dello shop. L’ordine è classificato come NEW se, negli ultimi 540 giorni, non risultano ordini precedenti non annullati associati allo stesso indirizzo email o allo stesso ID cliente. Questa è la finestra consigliata da Google. L’esportazione degli ordini deve coprire almeno questo periodo. Se non puoi determinare se il cliente è nuovo o di ritorno, non inviare il campo. Google usa questo campo per il suo obiettivo di acquisizione di nuovi clienti. Una volta che l’ottimizzazione delle offerte delle campagne si basa sull’azione del margine (passo 8), apri una campagna Search, Performance Max, Shopping o Demand Gen. Fai clic su Impostazioni della campagna. Espandi Acquisizione di clienti e seleziona Aggiusta le offerte per acquisire nuovi clienti.

Controllo. Nella tabella Campagne, fai clic su Segmento e aggiungi Clienti nuovi e di ritorno. La suddivisione tra clienti nuovi e di ritorno dovrebbe corrispondere all’incirca ai dati che hai inviato. Il report contiene dati a partire dal giorno in cui attivi l’obiettivo.

Le tue variabili. Una variabile personalizzata aggiunge a ogni conversione un’informazione sull’ordine, ad esempio B2B o B2C. Prima, in Google Ads, fai clic su Obiettivi, poi su Conversioni. Poi fai clic su Variabile personalizzata e sul pulsante più. Inserisci un nome in minuscolo e fai clic su Salva. Il suo stato dovrebbe indicare Attivata. L’importazione invia il nome e il valore della variabile nel campo customVariables dell’evento. Google ignora una variabile che non esiste nell’account e non mostra alcun errore. Non usare mai un indirizzo email, un numero di telefono o un nome come valore della variabile. Google documenta le variabili personalizzate per i report, non per le offerte.

Controllo. Nella tabella Campagne, fai clic su Segmento, seleziona Conversioni, poi Variabile personalizzata e scegli la tua variabile. Ogni valore dovrebbe comparire su una riga separata.

Portalo con te

Scarica il pacchetto di istruzioni per Claude Code

Il pacchetto contiene l'intera procedura sotto forma di istruzioni per Claude Code o per uno sviluppatore. Include i controlli di configurazione, la query di abbinamento dei clic, la struttura dell'evento e le correzioni giornaliere. Non è un programma finito. Lascia il tuo indirizzo email per ricevere il file.

Un file, una lista. Scrivo solo quando c'è qualcosa che vale la pena leggere.

FAQ

Il mio shop deve salvare il Google Click ID?

No. L’esportazione di GA4 in BigQuery registra il clic associato a ogni visita proveniente da un annuncio. L’importazione lo recupera tramite il numero d’ordine. Dallo shop ti servono solo gli ordini con i prezzi di acquisto.

Mi serve un token sviluppatore?

No. Google ha dismesso i token sviluppatore il 9 settembre 2026. La Data Manager API non ne usa uno. L’accesso alla Google Ads API è ora associato a un progetto Google Cloud.

Otterrò conversioni view-through con questa importazione?

Non contarci. L’azione di conversione dell’importazione è basata sui clic. Per i video Google documenta solo le conversioni di tipo visualizzazione “engaged”. Queste devono essere caricate entro 14 giorni. Un’esecuzione giornaliera rispetta questo limite.

Cosa fare prima

  1. Crea il progetto Cloud e attiva l’esportazione di GA4 in BigQuery oggi stesso. L’esportazione non ha uno storico, quindi attivala il prima possibile.
  2. In Tag Assistant controlla che, nel tuo banner dei cookie, i consensi ad_storage e ad_user_data vengano concessi insieme.
  3. Calcola il margine di cinque ordini a mano. Questo mostra se il tuo shop ha un prezzo di acquisto per ogni articolo.
Il senso di tutto questo

Vuoi questo livello di visibilità nel tuo account?

Una sola email. Ti dirò onestamente se ne vale la pena per il tuo setup.

Contattami →
Download gratuito

Scarica il pacchetto di istruzioni per Claude Code

Il pacchetto contiene l'intera procedura sotto forma di istruzioni per Claude Code o per uno sviluppatore. Include i controlli di configurazione, la query di abbinamento dei clic, la struttura dell'evento e le correzioni giornaliere. Non è un programma finito. Lascia il tuo indirizzo email per ricevere il file.

Un file, una lista. Scrivo solo quando c'è qualcosa che vale la pena leggere.