Linguaggio di query di Google Ads

Query per informazioni su risorse o metadati

Il linguaggio di query Google Ads può eseguire query nell'API Google Ads per i seguenti tipi di informazioni:

  • Risorse e relativi attributi, segmenti e metriche utilizzando GoogleAdsService Search o SearchStream: Il risultato di una query GoogleAdsService è un elenco di istanze GoogleAdsRow, in cui ogni GoogleAdsRow rappresenta 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 GoogleAdsField, con ogni GoogleAdsField contenente dettagli sul campo richiesto.

Query per gli attributi delle risorse

Di seguito è riportato un esempio di query di base per gli attributi della risorsa campagna che mostra come restituire l'ID, 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 che hanno ricevuto più di 1000 impressioni, ordinando 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 Metrics documentazione.

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 all'esecuzione di query per le metriche, questa query filtra solo le campagne che hanno lo 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 la data Segment. 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.

In una query per una determinata risorsa, potresti essere in grado di eseguire un join con altre risorse correlate, se disponibili. Queste risorse correlate sono note come "risorse attribuite". Puoi eseguire il join in modo implicito rispetto alle risorse attribuite 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 delle campagne, consulta la documentazione di riferimento di Campaign.

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 di mutazione nel servizio della risorsa. Ecco un flusso di lavoro di esempio: 1. Esegui una query per tutte le campagne attualmente PAUSED e con impressioni superiori a 1000. 1. Ottieni l'oggetto Campaign dal campo campaign di ogni GoogleAdsRow nella risposta. 1. Modifica lo stato di ogni campagna da PAUSED a ENABLED. 1. Chiama il numero CampaignService.MutateCampaigns con le campagne modificate 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 = &<quot;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.

Esempi di codice

Le librerie client contengono esempi di utilizzo del linguaggio di query di Google Ads in GoogleAdsService. La cartella operazioni di base contiene esempi come GetCampaigns, GetKeywords e SearchForGoogleAdsFields.