Approfondimento · 13 min di lettura

Il report delle query di ricerca Shopping che Google non ti dà

I report Shopping e PMax mostrano la query ma mai il prodotto. Ricostruisci il report mancante query × prodotto con un parametro URL e due dimensioni GA4.

Illustrazione che accosta una pila di query di ricerca a un singolo prodotto, l'anello mancante che i report di Google nascondono.
I fatti seri sono veri — le copertine degli articoli no.

In breve: I report Shopping e PMax mostrano la query ma nascondono il prodotto. Aggiungi un parametro URL, {lpurl}?utm_content={product_id}, ed entro una settimana GA4 ti consegna il report ritirato query × prodotto unendo sessionManualAdContent con sessionGoogleAdsQuery. Su un account reale quella vista ha rivelato l'85% della spesa che scorreva in coppie mai convertite, mentre una fetta dello 0,25% reggeva l'intero account a 46,8× di ROAS.

Un cliente una volta mi ha fatto una domanda che dovrebbe avere una risposta in un clic. Qualcuno ha cercato “aspirapolvere senza filo sotto i 200”, ha cliccato sull’annuncio Shopping e l’account ha pagato. Su quale dei 5.000 prodotti del feed è atterrato quel clic? Ho aperto il report delle query di ricerca, poi quello dei prodotti, e non c’era modo di collegarli. Non c’è ancora. Google ti mostra la query e ti mostra il prodotto, ma mai insieme.

Anni fa la vecchia API di AdWords ti dava esattamente questa coppia. Poi è sparita in silenzio, e nessuna impostazione, nessun report, nessun campo API la riporta indietro. Per un negozio online quel buco non è cosmetico. Query-prodotto è dove vive la vera ottimizzazione. Se i tuoi titoli corrispondono alla domanda reale. Quali prodotti attirano traffico spazzatura. Perché un prodotto riceve clic ma non converte mai.

Dodici anni di codice contro la Google Ads API mi hanno insegnato che quando Google ritira un report, non torna. Così l’ho ricostruito da solo, e la ricostruzione è quasi imbarazzantemente semplice. Un parametro URL. Entro una settimana, GA4 ti consegna ogni clic a pagamento accoppiato come query × prodotto, con sessioni, conversioni e ricavi attaccati. Il montaggio richiede minuti; il resto di questo articolo è cosa fai con ciò che torna indietro.

78 %
dei clic abbinati query × prodotto
22
campagne aggiornate
1
parametro URL, ed è tutto lo stack
7 giorni
fino a dati verificati in GA4

La soluzione: un parametro, due dimensioni GA4

Aggiungi un tracking template

Imposta {lpurl}?utm_content={product_id} sulle tue campagne Shopping e PMax. La variabile ValueTrack {product_id} invia l’ID prodotto di Merchant Center a ogni clic.

GA4 memorizza il prodotto

L’UTM atterra nella dimensione Session manual ad content (sessionManualAdContent).

GA4 conosce già la query

L’auto-tagging (gclid) riempie sessionGoogleAdsQuery sulla stessa sessione.

Unisci le due dimensioni

Ogni clic a pagamento diventa una coppia query × prodotto, con sessioni, tasso di conversione e ricavi attaccati.

L’auto-tagging e l’UTM manuale non si pestano i piedi. Il gclid continua a gestire origine, mezzo e campagna; il tuo UTM porta solo l’ID prodotto.

Sappi cosa stai ottenendo (e cosa no)

  • Solo query cliccate. Questo dataset parte dal clic. Le query per cui il tuo annuncio è apparso ma nessuno ha cliccato non arrivano mai a GA4. L’analisi a livello di impressione resta nel report standard di Google, senza prodotti.
  • Circa il 20% dei clic non si accoppierà. Sessioni con consenso rifiutato, superfici PMax senza alcuna query (Display, YouTube, Gmail), clic che non hanno mai attivato analytics.
  • Ambito di sessione. Una sessione porta un solo ID prodotto, quello cliccato, anche se l’utente poi ne sfoglia altri dieci.

Tirare fuori il report da GA4

Nell’interfaccia di GA4, apri Esplora e costruisci una tabella in formato libero. Le dimensioni sono Session manual ad content e Session Google Ads query. Le metriche, sessioni, eventi chiave (prima conversioni) e ricavi da acquisto. Filtra su origine/mezzo della sessione uguale a google / cpc.

Per qualsiasi cosa seria vorrai la Data API, perché questo report appartiene a una dashboard o a un join in BigQuery, non a una scheda del browser:

from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
    RunReportRequest, DateRange, Dimension, Metric, FilterExpression, Filter
)

request = RunReportRequest(
    property=f"properties/{GA4_PROPERTY_ID}",
    dimensions=[
        Dimension(name="sessionManualAdContent"),  # product ID
        Dimension(name="sessionGoogleAdsQuery"),    # search term
    ],
    metrics=[
        Metric(name="sessions"),
        Metric(name="keyEvents"),
        Metric(name="purchaseRevenue"),
    ],
    date_ranges=[DateRange(start_date="30daysAgo", end_date="today")],
    dimension_filter=FilterExpression(filter=Filter(
        field_name="sessionSourceMedium",
        string_filter=Filter.StringFilter(value="google / cpc"),
    )),
)

Unisci sessionManualAdContent al tuo feed prodotti (dall’id a titolo, prezzo, categoria) e il report è completo. Query, prodotto, titolo ed economia in un’unica tabella.

Verificato, non teorizzato

Lo abbiamo messo in produzione su un account reale, un retailer di elettronica ceco con 22 campagne Shopping attive, e ho controllato GA4 sette giorni dopo:

GA4, 7 giorni dopo il deploy

  • Righe di traffico google/cpc 9.753
  • Con l'ID prodotto (utm_content) 96 %
  • Con la query di ricerca (sessionGoogleAdsQuery) 81 %
  • Con entrambi, un report query × prodotto funzionante 78 %

Ora la parte divertente: cosa ti dicono le coppie

1 · Il title gap

Metti le query accanto al titolo e alla descrizione che hanno attivato. Il disallineamento salta all’occhio:

What people actually search
aspirapolvere senza filo peli animaliaspirapolvere per peli di cane allergiaanimali domestici aspirapolvere silenziosomiglior aspirapolvere peli animali 2026
What the title says
Vacuum X300 Turbo 2000W, EAN 8595…
Descrizione: "Aspirapolvere di alta qualità con design moderno e accessori ricchi."
The gap: Il titolo vende watt che nessuno cerca e manca il caso d'uso peli animali che cercano tutti. (Esempio illustrativo.)

La roadmap del feed si scrive da sola. Ho passato gli ultimi due anni a costruire uno strumento di arricchimento feed con l’AI, e la debolezza onesta dell’intera categoria è dimostrare l’impatto. Questo report la risolve. Riscrivi il titolo attorno alla domanda che hai appena dimostrato, poi guarda CTR e tasso di conversione muoversi per query. L’arricchimento del feed con l’AI smette di essere un atto di fede e diventa un loop misurabile.

2 · Chi altro c’è sulla “tua” query, e con quale prodotto

Una cosa che non puoi fare è aggiungere parole chiave escluse per prodotto. Google non ti dà questa leva né in Shopping né in PMax. Quindi quando una coppia query × prodotto rende poco, chiedersi come escluderla non porta da nessuna parte. La domanda produttiva è perché rende poco.

Prendi la query e fai lo scraping della pagina dei risultati live. Io uso DataForSEO, endpoint serp/google/organic/live/advanced. Un POST con il testo della query e il location_code del tuo mercato restituisce l’intera pagina dei risultati come JSON strutturato, annunci a pagamento, blocchi shopping con nomi dei merchant e prezzi, organico sotto. DataForSEO fattura per SERP, e una SERP copre fino a 10 risultati. Al prezzo base attuale di circa 0,002 $ per SERP, controllare 200 query a profondità predefinita costa circa 0,40 $, prima dei parametri avanzati a pagamento.

Un risultato tipico. Il tuo sacco a pelo di fascia media raccoglie clic su una query generica, e la stessa query mostra tre brand economici della stessa categoria a metà del tuo prezzo. Il prodotto va bene. Il prezzo perde quella specifica asta.

Ora hai opzioni reali. Ritocca il prezzo. Porta il fattore differenziante nel titolo (“imbottitura in piuma, comfort −15 °C”). Sposta il prodotto in una campagna con offerte che corrispondono alla realtà del suo margine. Oppure accetta la query come upper-funnel e giudicala sulle metriche assistite invece che sull’ultimo clic.

3 · Decisioni di struttura e di offerte

I prodotti che attirano query ad alto intento meritano i propri gruppi di asset e budget. I prodotti che raccolgono solo traffico generico stanno nei gruppi catch-all con target conservativi. Questo report dà alla segmentazione shopping una base di prove, e sostituisce l’istinto.

4 · Un check di salute per PMax

PMax non ti dice quasi nulla sulla ricerca. Questo report è la cosa più vicina che avrai a un audit di ciò che PMax compra davvero per te sulla superficie search, per prodotto.

Guardami percorrere un export reale, passo per passo

Tutto ciò che precede è il perché. Ecco com’è davvero, ogni passo, cosa scarichi, cosa fissi e il numero reale che torna indietro.

I dati sono di un secondo account, un negozio online ceco di medie dimensioni nel segmento degli affari. Non è il retailer di elettronica del box GA4 qui sopra; lo uso perché il suo catalogo è abbastanza ampio da far emergere ogni pattern a piena scala. Ho estratto il suo report grezzo delle query di ricerca Shopping tramite la Google Ads API in una tabella SQLite locale e ho eseguito le aggregazioni qui sotto. Prima una precisazione. Il report grezzo ti dà il gruppo di annunci o il gruppo di prodotti sotto cui la query è stata servita, non il singolo prodotto. È esattamente il gap che il trucco dell’UTM chiude. Ma anche a livello di gruppo di prodotti, gli output intermedi sono abbastanza rumorosi da rendere l’idea.

Fonte per ogni numero di questa sezione: report delle query di ricerca Shopping di Google Ads, un account di negozio online ceco di medie dimensioni, ~22,6 mln di righe, dati estratti ad aprile 2026. Importi convertiti da CZK a ~25 CZK/EUR.

Passo 1 · Estrai il report grezzo e misura il mucchio

Esporta il report delle query di ricerca Shopping tramite la Google Ads API (search_term_view) in qualsiasi cosa su cui tu possa eseguire GROUP BY, SQLite o BigQuery. Prima di unire o filtrare qualsiasi cosa, esegui un semplice COUNT(*) e un paio di SUM. Devi sentire quanto è grande e rumoroso il mucchio grezzo, perché quel singolo fatto azzera ogni aspettativa che segue:

Il mucchio grezzo, un COUNT e tre SUM

  • Righe del report (query × gruppo di prodotti) 22.640.716
  • Query di ricerca distinte 5.370.131
  • Gruppi di prodotti sotto cui sono state servite 10.393
  • Spesa / ricavi (ROAS misto 6,8×) 103k € / 697k €

22,6 milioni di righe, 5,4 milioni di query uniche. Nessun umano le legge. L’unico compito del numero è dirti la mossa successiva, cioè collassare il mucchio in base alla dimensione che paga le bollette, e avvertirti che il triage manuale riga per riga è senza speranza.

Passo 2 · Butta via il 96% prima di analizzare qualsiasi cosa

Conta le righe con zero clic, poi filtrale via. Il report delle query di ricerca Shopping registra ogni query per cui il tuo annuncio è apparso, e la maggior parte di quelle query nessuno le ha mai cliccate. Le righe di sole impressioni non possono costarti né convertire. Sono rumore che fa sembrare la tabella spaventosa.

WHERE clicks > 0 collassa la tabella a 738.444 righe, una dimensione su cui puoi davvero lavorare.

L'inondazione di impressioni

  • Righe con zero clic (pure impressioni) 21.902.272 (96,7 %)
  • Righe che sono arrivate a costare qualcosa 738.444 (3,3 %)

Il 96,7% del numero spaventoso non è mai stato altro che rumore. Filtra sulle righe cliccate prima di analizzare qualsiasi cosa, e ogni aggregazione qui sotto gira sulla parte che spende davvero soldi.

Passo 3 · Poni l’unica domanda che riformula l’account

Sulle righe cliccate, dividi la spesa tra “convertito almeno una volta” e “mai convertito”, e somma il costo di ciascun gruppo. Questo è il numero che trasforma “l’account va bene, il ROAS è 6,8” in “la maggior parte del budget non fa nulla”. Calcolalo prima di qualsiasi idea di ottimizzazione:

Il peso morto a conversione zero

  • Righe del report che hanno convertito zero volte 99,75 %
  • Quota della spesa totale che quelle righe si sono mangiate 85,5 %
  • Spesa senza alcuna conversione dietro 88k €
  • Delle sole righe cliccate, quota con zero conversioni 92,3 %

L’85% del budget è fluito attraverso combinazioni query × gruppo di prodotti che non hanno convertito nemmeno una volta.

Non è un errore di arrotondamento da ottimizzare dopo. È l’evento principale. E hai potuto vederlo solo perché hai collassato la query fino a ciò contro cui è stata venduta.

Passo 4 · Verifica se lo spreco è di pochi colpevoli o di tutta la folla

Ordina le righe cliccate per costo, prendi il top 1% e il top 10%, e guarda quanta spesa totale tengono. Questo decide la tua tattica. Se una manciata di termini brucia il budget, li metti in pausa e hai finito. Se lo spreco è spalmato sottile, mettere in pausa i termini è inutile e ti servono correzioni strutturali:

Dove sta davvero la spesa sprecata

  • Top 1% delle righe cliccate per costo 10,5 % della spesa
  • Top 10% delle righe cliccate per costo 29,8 % della spesa

Il peso morto è long-tail. Il top 1% delle righe costose tiene a malapena un decimo della spesa, quindi mettere in pausa 20 termini cattivi non cambia nulla. Sistema la struttura, quali prodotti stanno in quale campagna con quale target, invece di inseguire singole query. E ricorda che Google comunque non ti lascia nemmeno aggiungere una parola chiave esclusa per prodotto.

Passo 5 · Scopri perché la long tail perde: una query, molti prodotti

Per ogni query di ricerca, conta sotto quanti gruppi di prodotti distinti è stata servita. Questo spiega lo spreco a livello meccanico. Shopping abbina una query ai segnali del tuo intero feed, non alla pertinenza di un singolo prodotto. Una singola query si disperde tra angoli scorrelati del tuo catalogo, e tu paghi ogni buco a vuoto.

Un caso concreto dall’account. La query “dissuasore antiabbaio” continuava a bruciare budget, così ho eseguito COUNT(DISTINCT ad_group) su di essa. Era stata servita sotto 139 diversi gruppi di annunci e di prodotti, per 39 € e circa zero conversioni. “lego technic” ne ha toccati 300.

Dispersione della query nel catalogo

  • Query distinte servite sotto più di un gruppo di prodotti 46,7 %
  • Massimo numero di gruppi di prodotti raggiunti da una singola query 6.661
  • "dissuasore antiabbaio" → gruppi / costo / conversioni 139 / 39 € / ~0

Quasi metà delle query è spalmata su più gruppi di prodotti, e le peggiori ne raggiungono migliaia. È questo il motore del peso morto a conversione zero del passo 3, e proprio la cosa che puoi finalmente vedere una volta che ogni clic porta il suo ID prodotto.

Passo 6 · Guarda a occhio i disallineamenti peggiori, perché sono assurdi

Estrai le righe a costo più alto che non hanno mai convertito e leggi la query accanto al gruppo di prodotti a cui è stata abbinata. I numeri aggregati convincono il tuo foglio di calcolo. Queste tre righe convincono il tuo capo:

Coppie query × gruppo di prodotti a conversione zero e costo più alto (tradotte e anonimizzate; illustrative delle righe reali).
Query di ricercaServita sotto il gruppo di prodottiClicCostoConv.
collare addestramento cane Borse9711 €0
dissuasore antiabbaio Prodotti per bambini769,60 €0
lego technic Illuminazione706,80 €0

Una query per collare da addestramento pagata sotto il gruppo Borse. Un dissuasore antiabbaio abbinato a Prodotti per bambini. Il gruppo di prodotti non ha nulla a che fare con la query. Google ha abbinato su segnali ampi del feed, ha raccolto il clic e ha addebitato l’account. Con query × prodotto vedi tutto questo in un colpo d’occhio; con il report standard di Google non lo vedrai mai. (Categorie tradotte e anonimizzate.)

Passo 7 · Ora la ricompensa: lo 0,25% che paga l’intero account

Inverti il passo 3. Isola solo le righe che hanno convertito e somma il loro costo e i loro ricavi. È la ragione per cui l’intero esercizio conta. Una volta che puoi separare i vincitori dal peso morto, proteggi i vincitori e affami il resto.

La fetta che si guadagna il pane

  • Righe che hanno convertito (quota di tutte le righe) 57.209 (0,25 %)
  • Quanto sono costate 14,9k €
  • Quanto hanno reso 697k €
  • ROAS su quella fetta 46,8×

Un quarto dell’uno percento delle righe gira a 46,8× di ROAS e di fatto regge l’account. L’altro 99,75% trascina il dato misto giù a 6,8×. Trovare quella fetta, proteggerne il budget e strutturare tutto il resto lontano da essa è l’intero lavoro. E niente di tutto questo è possibile finché ogni riga non porta il prodotto contro cui è stata venduta. È questo che ti compra l’UTM a un parametro all’inizio di questo articolo.

Take it with you

Scarica le istruzioni complete per la tua AI

L'intero metodo qui sopra, riscritto come brief che puoi incollare direttamente in Claude o in qualsiasi agente di coding capace. Imposta il tracking template, estrae il report query × prodotto da GA4 ed esegue le aggregazioni sul tuo account. Dentro trovi anche il template e le sue tre trappole. Lascia la tua email e il file è tuo.

One file, one list. I only write when there's something worth reading.

FAQ

Funziona per Performance Max?

Sì, per la superficie search e shopping. I clic su Display, YouTube e Gmail portano l’ID prodotto ma nessuna query, quindi aspettati che quelle righe abbiano la dimensione query vuota.

L'UTM romperà la mia attribuzione GA4?

No. L’auto-tagging (gclid) continua a gestire origine, mezzo e campagna; tu aggiungi solo l’ad content. Ciò che romperebbe le cose è un parametro personalizzato dentro utm_campaign, quindi non metterne mai uno lì.

Perché solo il 78% di copertura?

La modalità consenso, le superfici PMax senza query e i blocker analytics si mangiano il resto. Il 78% basta e avanza per ogni caso d’uso qui sopra, perché stai leggendo pattern, non controllando i centesimi.

Posso vedere le query per cui il mio annuncio è apparso ma nessuno ha cliccato?

No. Questo dataset parte dal clic. L’analisi a livello di impressione resta nel report standard delle query di ricerca, senza prodotti.

Il pattern funziona fuori da Google, per esempio Bing o Sklik?

Sì. Il pattern si trasferisce a qualsiasi piattaforma con un template URL, una macro di prodotto e una dimensione analytics per catturarla. Le macro specifiche cambiano da piattaforma a piattaforma.

Quanto ci vuole prima di avere dati utilizzabili?

Dipende dal volume. Il nostro account aveva un report utilizzabile in 7 giorni; gli account più piccoli dovrebbero raccoglierne 30.


CTA: Quali dei tuoi prodotti si guadagnano i loro clic e quali ti mandano solo il conto? Aggiungi il parametro oggi e tra una settimana lo saprai. Oppure mandami il tuo account e leggiamo il report insieme.

Il senso di tutto questo

Vuoi questo livello di visibilità nel tuo account?

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

Contattami →