Questa guida spiega perché le righe con metriche pari a zero vengono visualizzate nei report dell'API Google Ads e come escluderle o gestirle nelle query.
Metriche pari a zero nei risultati di ricerca
Quando esegui una query, potresti riscontrare metriche pari a zero per le entità. I motivi potrebbero essere i seguenti:
- Le entità non sono idonee alla visualizzazione.
- Sono state messe in pausa nell'intervallo di date del report.
Con i risultati delle query, spesso vuoi ottenere informazioni sul rendimento delle tue campagne. In questo contesto, le metriche pari a zero potrebbero non essere auspicabili. Per generare un report più utile, puoi escludere esplicitamente le metriche pari a zero.
Escludi le metriche con valore zero utilizzando un predicato
Un predicato è un'espressione che restituisce TRUE, FALSE o UNKNOWN.
I predicati vengono utilizzati nella condizione di ricerca delle clausole WHERE in
Google Ads Query Language.
La seguente query mostra come rimuovere esplicitamente le metriche pari a zero con un predicato:
SELECT
campaign.id,
metrics.impressions
FROM campaign
WHERE metrics.impressions > 0
Escludi le metriche pari a zero tramite la segmentazione
Le metriche pari a zero vengono sempre escluse quando si segmenta un report, a condizione che tutte le metriche selezionate siano pari a zero (consulta Righe restituite con metriche pari a zero).
La segmentazione di un report viene eseguita includendo qualsiasi campo segments nella clausola SELECT della query di ricerca (il filtro in base a un segmento di data principale in WHERE senza selezionarlo in SELECT non segmenta il report). Ad esempio, se segmenti un report in base a segments.date, le metriche vengono suddivise con una riga per ogni data. Le date senza metriche non vengono restituite in questo report.
Per la seguente query, il report non includerà righe con metriche pari a zero:
SELECT
campaign.name,
metrics.impressions,
segments.date
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Righe restituite con metriche pari a zero
Le righe con metriche selezionate tutte pari a zero non verranno restituite durante la segmentazione. Ad esempio, considera la seguente query che seleziona metrics.impressions, metrics.clicks e metrics.conversions:
SELECT
ad_group_criterion.criterion_id,
metrics.impressions,
metrics.clicks,
metrics.conversions,
segments.date
FROM keyword_view
WHERE segments.date BETWEEN '2026-01-01' AND '2026-01-31'
Il report risultante non conterrà righe in cui tutte e tre le metriche selezionate sono pari a zero, ma restituirà righe in cui almeno una delle tre metriche selezionate è maggiore di zero.
Quando esegui query su dati storici oltre il
periodo di conservazione dei dati, i dati granulari risalenti a più di 37 mesi fa non sono
disponibili e non restituiscono righe. Le richieste di segmenti di date granulari (segments.date, segments.week e segments.hour) che coprono intervalli precedenti a 37 mesi restituiscono DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED nella versione 24 e successive (o DateRangeError.UNKNOWN nella versione 23). I dati aggregati di alto livello (segments.month, segments.quarter e segments.year) vengono conservati per 11 anni, in linea con l'inizio del periodo di calendario completo successivo. Ad esempio, se il limite di 11 anni per l'analisi retrospettiva cade il giorno 2015-03-22 (o 2015-03-01), i dati mensili sono disponibili a partire dal primo mese di calendario completo successivo al limite (2015-04-01). Per maggiori dettagli, consulta Intervalli di date.
Soppressione delle metriche di copertura e valori pari a zero
Oltre alle entità che non hanno pubblicato impressioni, le metriche di copertura (come
metrics.unique_users e le metriche dei bucket di frequenza
da metrics.unique_users_two_plus a metrics.unique_users_ten_plus) possono
essere visualizzate come zero o essere omesse quando i dati sulla copertura vengono soppressi. La metrica metrics.unique_users (e metrics.unique_users_info) è supportata nelle campagne display, video, Demand Gen e per app, mentre le metriche del bucket di frequenza metrics.unique_users_*_plus (e metrics.unique_users_*_plus_info) si applicano alle campagne video.
La soppressione della copertura avviene per diversi motivi:
- Soglie di privacy: i dati sulla copertura vengono soppressi quando il numero di utenti non soddisfa le soglie di privacy (ad esempio la k-anonimità) per proteggere l'identità degli utenti.
- Soglie di qualità: i dati sulla copertura potrebbero non essere mostrati se non soddisfano gli standard di qualità.
- Conservazione dei dati: i dati storici sulla copertura vengono conservati per 3 anni (36 mesi). Le query che coprono date successive a questo periodo di conservazione di 3 anni non possono restituire metriche di copertura. Le query che coprono date comprese tra 36 e 37 mesi fa vengono eseguite correttamente senza restituire
DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDdescritto nella sezione precedente, ma omettono le metriche di copertura (e restituisconoDATE_RANGE_BEYOND_RETENTIONquando vengono selezionati i metadati di copertura companion).
Nella versione 26 e successive, ogni metrica di copertura degli utenti unici ha un campo di metadati associato di tipo ReachMetricInfo (ad esempio metrics.unique_users_info e da metrics.unique_users_two_plus_info a metrics.unique_users_ten_plus_info).
In Google Ads Query Language (GAQL), i campi di copertura companion sono metriche MESSAGE selezionate direttamente nella clausola SELECT (ad esempio, metrics.unique_users_info).
Non aggiungere .reach_metric_states nella clausola SELECT, perché la selezione dei campi dei messaggi nidificati in GAQL non va a buon fine con UNRECOGNIZED_FIELD. Selezionando metrics.unique_users_info, viene restituito un messaggio ReachMetricInfo contenente il campo enum ripetuto reach_metric_states di tipo ReachMetricState, che indica se la metrica è stata soppressa o è completa.
Ogni volta che una metrica di copertura viene soppressa o non rientra nella finestra di conservazione (PRIVACY_SUPPRESSION, QUALITY_SUPPRESSION o DATE_RANGE_BEYOND_RETENTION), il campo optional int64 su Metrics non viene impostato (il che restituisce 0 se la presenza del campo non viene controllata), mentre LOW_QUALITY compila comunque la metrica numerica:
COMPLETE: la metrica di copertura è completa e non è stata soppressa.PRIVACY_SUPPRESSION: i dati sulla copertura sono stati soppressi per motivi di privacy.QUALITY_SUPPRESSION: i dati sulla copertura sono stati soppressi per motivi di qualità dei dati.LOW_QUALITY: la metrica di copertura è stata calcolata, ma è contrassegnata come di bassa qualità.DATE_RANGE_BEYOND_RETENTION: le metriche di copertura non sono disponibili perché l'intervallo di date non rientra nel limite di conservazione dei dati di copertura di 3 anni.
Selezionando sia la metrica di copertura sia il campo dei metadati associato, l'applicazione può distinguere tra una copertura effettivamente pari a zero e i valori di copertura che sono stati soppressi:
SELECT
campaign.id,
campaign.name,
metrics.unique_users,
metrics.unique_users_info,
metrics.unique_users_two_plus,
metrics.unique_users_two_plus_info,
metrics.unique_users_ten_plus,
metrics.unique_users_ten_plus_info
FROM campaign
WHERE campaign.advertising_channel_type = 'VIDEO'
AND segments.date DURING LAST_30_DAYS