Terminologia chiave
- Risorsa
- Un'entità in Google Ads, ad esempio
campaignoad_group. - Segmento
- Una dimensione utilizzata per raggruppare i dati, ad esempio
segments.dateosegments.device. Quando i segmenti sono inclusi nella clausolaSELECTcon le metriche, queste vengono suddivise per segmento. - Metrica
- Una misurazione del rendimento, ad esempio
metrics.impressionsometrics.clicks. - Risorsa attribuita
- Una risorsa unita implicitamente alla risorsa principale nella clausola
FROM, che ti consente di selezionarne gli attributi insieme a quelli della risorsa principale.
Eseguire query per informazioni sulle risorse o sui metadati
Il linguaggio di query Google Ads può eseguire query sull'API Google Ads per i seguenti tipi di informazioni:
Risorse e relativi attributi, segmenti e metriche che utilizzano
GoogleAdsServiceSearch o SearchStream: Il risultato di una queryGoogleAdsServiceè un elenco di istanzeGoogleAdsRow, in cui ogniGoogleAdsRowrappresenta una risorsa.Se vengono richiesti attributi o metriche, la riga include anche questi campi. Se vengono richiesti segmenti, la risposta mostra anche una riga aggiuntiva per ogni tupla segmento-risorsa.
Metadati sui campi e sulle risorse disponibili in
GoogleAdsFieldService: questo servizio fornisce un catalogo di campi su cui è possibile eseguire query con dettagli sulla loro compatibilità e sul loro tipo.Il risultato di una query
GoogleAdsFieldServiceè un elenco di istanze diGoogleAdsField, con ogniGoogleAdsFieldcontenente i dettagli del campo richiesto.
Per maggiori dettagli sulla struttura delle query, consulta Struttura delle query e Grammatica di Google Ads Query Language.
Query per gli attributi delle risorse
Ecco un esempio di query di base per gli attributi della risorsa campagna che mostra come restituire l'ID campagna, il nome e lo stato della campagna:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
Questa query ordina in base all'ID campagna. Ogni GoogleAdsRow risultante rappresenta un
oggetto campaign compilato con i campi selezionati, incluso l'resource_name della campagna.
Per scoprire quali altri campi sono disponibili per le query sulle campagne, consulta la
documentazione di riferimento di Campaign.
Eseguire query per le metriche
Oltre agli attributi selezionati per una determinata risorsa, puoi anche eseguire query per metriche correlate:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
Questa query filtra solo le campagne con stato PAUSED e
con più di 1000 impressioni, ordinandole per ID campagna. Ogni
GoogleAdsRow risultante avrà un campo metrics compilato con le
metriche selezionate.
Per un elenco delle metriche su cui è possibile eseguire query, consulta la
documentazione di Metrics.
Eseguire query per i segmenti
Oltre agli attributi selezionati per una determinata risorsa, puoi anche eseguire query per segmenti correlati:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id
Analogamente alla query per le metriche, questa query filtra solo le campagne che
hanno uno stato PAUSED e hanno generato più di 1000 impressioni. Tuttavia,
questa query segmenta i dati per data. In questo modo, ogni GoogleAdsRow risultante rappresenta una tupla di una campagna e del segmento di date.
La segmentazione suddivide le metriche selezionate, raggruppandole in base a ciascun segmento nella clausola SELECT
Per un elenco dei segmenti su cui è possibile eseguire query, consulta la
documentazione di Segments.
Query per gli attributi di una risorsa correlata
In una query per una determinata risorsa, potresti essere in grado di eseguire un'unione con altre risorse correlate, se disponibili. Queste risorse correlate sono note come "risorse attribuite". Puoi eseguire il join delle risorse attribuite in modo implicito selezionando un attributo nella query.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
Questa query non solo seleziona gli attributi della campagna, ma estrae anche gli attributi correlati
da ogni campagna selezionata. Ogni GoogleAdsRow risultante rappresenta
un oggetto campaign compilato con gli attributi della campagna selezionati, nonché
l'attributo della strategia di offerta selezionata bidding_strategy.name.
Per scoprire quali risorse attribuite sono disponibili per le query sulle campagne,
consulta la documentazione di riferimento di Campaign.
Best practice
- Seleziona solo i campi necessari per evitare tempi di risposta lunghi e timeout.
- Utilizza
LIMITdurante lo sviluppo e i test per evitare di elaborare set di risultati di grandi dimensioni. - Applica filtri nella clausola
WHEREper ridurre al minimo il trasferimento di dati e le dimensioni della risposta. - Utilizza
GoogleAdsFieldServiceper controllare la compatibilità dei campi e i tipi di dati prima di creare query complesse. - Tieni presente che alcuni campi, in particolare quelli che coinvolgono grandi quantità di dati o calcoli complessi, possono aumentare il costo della query.
Modifica in base ai risultati della query
Quando esegui una query per una determinata risorsa, puoi utilizzare immediatamente i risultati restituiti come oggetti, modificarli e inviarli di nuovo al metodo mutate nel servizio della risorsa. Ecco un flusso di lavoro di esempio:
- Esegui una query per tutte le campagne
PAUSEDche hanno impressioni superiori a 1000. - Ottieni l'oggetto
Campaigndal campocampaigndi ogniGoogleAdsRownella risposta. - Modifica lo stato di ogni campagna da
PAUSEDaENABLED. - Chiama
CampaignService.MutateCampaignscon le campagne modificate e unFieldMaskcorrispondente per aggiornarle.
Metadati dei campi
Le query inviate a GoogleAdsFieldService hanno lo scopo di recuperare i metadati dei campi.
Queste informazioni possono essere utilizzate per capire come i campi possono essere utilizzati insieme in una query. Poiché i dati sono disponibili dall'API e forniscono i metadati necessari per convalidare o creare una query, gli sviluppatori possono farlo in modo programmatico. Ecco una query tipica per i metadati:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
Puoi sostituire <INSERT_RESOURCE_OR_FIELD> in questa query con una risorsa (ad esempio customer o campaign) o un campo (ad esempio campaign.id, metrics.impressions o ad_group.id).
Per un elenco dei campi su cui è possibile eseguire query, consulta la
documentazione di GoogleAdsField.
Differenze specifiche della versione
Sebbene la sintassi, le clausole e gli operatori del linguaggio di query Google Ads siano identici in tutte le versioni dell'API Google Ads supportate (v23, v24 e v25), il catalogo di risorse, segmenti, metriche e comportamenti di generazione dei report interrogabili varia in base alla versione principale. Esegui una query
GoogleAdsFieldService nell'endpoint della versione API di destinazione per esaminare i campi e le regole di compatibilità per quella versione:
- Risorse per gli obiettivi basati sul ciclo di vita:nella versione 25 e successive, tutti gli obiettivi basati sul ciclo di vita (acquisizione di nuovi clienti, fidelizzazione dei clienti e fidelizzazione) vengono interrogati dalle risorse unificate
goalecampaign_goal_config, sostituendocustomer_lifecycle_goalecampaign_lifecycle_goal(utilizzate per gli obiettivi di acquisizione di nuovi clienti nella versione 24 e precedenti, insieme agoalecampaign_goal_configper gli obiettivi di fidelizzazione dei clienti). - Metriche di visualizzazione degli asset di espansione dell'URL finale:nella versione 25 e successive, la query
final_url_expansion_asset_viewrestituisce tutte le metriche selezionabili per la visualizzazione. Nella versione 24 e precedenti, le risposte includono solometrics.conversionsemetrics.conversions_valueper le campagne Performance Max emetrics.impressionsper le campagne sulla rete di ricerca. - Report sui prodotti Shopping per le campagne per app:nella versione 24 e successive, la risorsa
shopping_productrestituisce righe di prodotti per le campagne per app, oltre a quelle per le campagne Shopping, Performance Max, Demand Gen e video (nella versione 23, le campagne per app sono escluse dai risultati dishopping_product). - Risorse, segmenti e metriche specifiche per la versione:
- v25 e versioni successive:include risorse di misurazione dell'impatto (ad esempio
lift_measurement_config), segmenti comesegments.ad_sub_format_typeesegments.loyalty_membershipe metriche sul coinvolgimento di YouTube (metrics.youtube_likes,metrics.youtube_commentsemetrics.youtube_shares). Rimuovelocal_services_lead.contact_details.email(selezionabile nella versione 24 e precedenti). - v24 e versioni successive:include la risorsa
cart_data_sales_view,segments.conversion_attribution_event_typesushopping_performance_view,segments.mobile_device_platformesegments.ad_network_typesuperformance_max_placement_view. Rimuovecampaign.video_brand_safety_suitability(sostituito dacustomer.video_brand_safety_suitability),segments.ad_sub_network_typesucampaign_budgetesegments.click_typesuad_group_asset,campaign_assetecustomer_asset(selezionabili solo nella versione 23).
- v25 e versioni successive:include risorse di misurazione dell'impatto (ad esempio
- Codice di errore di ricerca retrospettiva granulare della data:le query che segmentano in base a
segments.date,segments.weekosegments.hour(o filtrano in base a un intervallo di date inferiore a un mese) oltre la finestra temporale di 37 mesi restituisconoDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDnella versione 24 e successive (oDateRangeError.UNKNOWNnella versione 23). Per i dettagli, consulta Intervalli di date.
Esempi di codice
Le librerie client contengono esempi di utilizzo del linguaggio di query Google Ads in GoogleAdsService. La cartella operazioni di base contiene esempi come
GetCampaigns, GetKeywords e SearchForGoogleAdsFields.