Le query per i campi delle risorse, dei segmenti e delle metriche possono essere inviate ai metodi GoogleAdsService
Search o SearchStream. Per creare una query nel linguaggio di query di Google Ads, devi crearla utilizzando la grammatica del linguaggio. Una query è composta da una serie di clausole:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
Le clausole utilizzano i nomi dei campi, i nomi delle risorse, gli operatori, le condizioni e gli ordini per aiutarti a selezionare i dati corretti. Una volta combinata in una singola query, è possibile effettuare una richiesta utilizzando l'API Google Ads.
Clausole
Video: compatibilità con i campi GAQL
SELECT
La clausola SELECT
specifica un insieme di campi da recuperare nella richiesta.
SELECT
richiede un elenco separato da virgole di campi risorsa, campi di segmenti e metriche,
restituendo i valori nella risposta. La clausola SELECT
è
obbligatoria in una query.
La seguente query di esempio mostra un esempio di selezione degli attributi per una determinata risorsa:
SELECT
campaign.id,
campaign.name
FROM campaign
Puoi richiedere diversi tipi di campi in una singola richiesta, ad esempio:
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Campi delle risorse
campaign.id
campaign.name
Campi delle risorse
bidding_strategy.id
bidding_strategy.name
Campi segmento
segments.device
segments.date
Metriche
metrics.impressions
metrics.clicks
Alcuni campi potrebbero non essere consentiti nella clausola SELECT
a causa delle seguenti
limitazioni:
- Campi di query non selezionabili. L'attributo dei metadati
Selectable
di questi campi sarà contrassegnato comefalse
. - Selezione degli attributi dei campi ripetuti. L'attributo dei metadati
isRepeated
di questi campi sarà contrassegnato cometrue
. - Selezione dei campi non disponibili per la risorsa specificata nella clausola
FROM
. Gli attributi di alcune risorse non possono essere selezionati insieme. Inoltre, nella clausolaFROM
sarà disponibile solo un sottoinsieme di tutte le metriche e i segmenti. - Selezione di segmenti o metriche non compatibili tra loro. Per ulteriori informazioni in merito, consulta la sezione Segmentazione.
Informazioni relative alle condizioni di cui sopra sono disponibili nei nostri documenti di riferimento
o in GoogleAdsFieldService
.
FROM
La clausola FROM
specifica la risorsa principale che verrà restituita. La risorsa nella clausola FROM
definisce i campi che possono essere utilizzati tutte le altre clausole per una determinata query. È possibile specificare una sola risorsa nella
clausola FROM
. La clausola FROM
è obbligatoria in una query per i metodi
GoogleAdsService
Search o SearchStream, ma non deve essere specificata quando si utilizza
GoogleAdsFieldService
.
Sebbene possa esistere una sola risorsa nella clausola FROM
per una determinata query, potrebbero essere disponibili anche campi da Risorse attribuite. Queste risorse sono
unite implicitamente alla risorsa nella clausola FROM
, quindi devi solo
aggiungere i relativi attributi alla clausola SELECT
per restituirne i valori. Non tutte
le risorse hanno risorse attribuite. Nell'esempio seguente puoi richiedere
sia l'ID gruppo di annunci sia l'ID campagna per i gruppi di annunci:
SELECT
campaign.id,
ad_group.id
FROM ad_group
Il campo resource_name
della risorsa principale viene sempre restituito.
Nell'esempio seguente, ad_group.resource_name
verrà incluso nella risposta nonostante non sia selezionato esplicitamente nella query:
SELECT ad_group.id
FROM ad_group
Lo stesso vale per le altre risorse quando è selezionato almeno un campo.
Ad esempio: campaign.resource_name
verrà incluso nella risposta per la
seguente query:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE
La clausola WHERE
specifica le condizioni da applicare quando viene applicato il filtro dei dati per la richiesta. Quando si utilizza la clausola WHERE
, è possibile specificare una o più condizioni
utilizzando AND
per separarle. Ogni condizione deve seguire il pattern field_name Operator value
. La clausola WHERE
è facoltativa in una query.
Di seguito è riportato un esempio di utilizzo di WHERE
per restituire le metriche di un determinato periodo di tempo:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Puoi combinare più condizioni per filtrare i dati. In questo esempio viene richiesto il numero di clic per tutte le campagne con impressioni su dispositivi mobili negli ultimi 30 giorni.
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = MOBILE
AND segments.date DURING LAST_30_DAYS
I segmenti della clausola WHERE
devono trovarsi nella clausola SELECT
. Fanno eccezione
i seguenti segmenti di data, denominati segmenti di data principali,
che fanno eccezione:
segments.date
segments.week
segments.month
segments.quarter
segments.year
Nella query seguente, nota che è selezionata l'opzione segments.date
.
Poiché questo segmento è un segmento di date principale, richiede che sia fornito un intervallo di date finito composto da segmenti di date principali nella clausola WHERE
.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Tutti i segmenti che soddisfano la condizione sopra indicata sono: segments.date, segments.week,
segments.month, segments.quarter e segments.year. Se viene selezionato uno qualsiasi di questi segmenti, almeno uno deve essere utilizzato nella clausola WHERE
.
Quando filtri, è importante tenere presente la sensibilità alle maiuscole dell'operatore. Per ulteriori dettagli, consulta Sensibilità alle maiuscole.
Per un elenco completo degli operatori, consulta la grammatica della lingua.
ORDER BY
La clausola ORDER BY
specifica l'ordine in cui devono essere restituiti i risultati. Ciò ti consente di disporre i dati in ordine crescente o decrescente in base al nome di un campo. Ogni ordinamento è specificato come field_name
seguito da
ASC
o DESC
. Se non vengono specificati né ASC
né DESC
, l'ordine predefinito è ASC
. La clausola ORDER BY
è facoltativa in una query.
La seguente query ordina le campagne restituite in base al numero di clic dal più alto al più basso:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Puoi specificare più campi nella clausola ORDER BY
utilizzando un elenco separato da virgole. L'ordinamento verrà applicato nella stessa sequenza specificata nella query.
Ad esempio, se in questa query seleziona i dati del gruppo di annunci, i risultati verranno ordinati in ordine crescente per nome della campagna, poi in ordine decrescente per numero di impressioni e poi in ordine decrescente per numero di clic:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
LIMITE
La clausola LIMIT
consente di specificare il numero di risultati da restituire.
È utile se sei interessato solo a un riepilogo.
Ad esempio, LIMIT
può essere utilizzato per limitare il numero totale di risultati per la
seguente query:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMETRI
La clausola PARAMETERS
consente di specificare meta parametri per la richiesta.
Questi parametri possono influire sui tipi di righe restituite.
Attualmente sono supportati i seguenti meta parametri:
include_drafts
Imposta include_drafts
su true
per consentire la restituzione delle bozze di entità.
Il valore predefinito è false
.
Ad esempio, la seguente query recupera le bozze di campagna insieme alle campagne standard:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
omit_unselected_resource_names
Imposta omit_unselected_resource_names
su true
per impedire che il nome della risorsa di ciascun tipo di risorsa nella risposta venga restituito, a meno che non sia richiesto esplicitamente nella clausola SELECT
. Il valore predefinito è false
.
Esempi di omit_unselected_resource_names | |
---|---|
SELECT campaign.name, customer.id FROM campaign |
Returned resources:campaign.resource_name
omit_unselected_resource_names il valore predefinito è false , quindi
vengono restituiti tutti i campi resource_name.
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resources: Nessuno. omit_unselected_resource_names è specificato come true
e campaign.resource_name e customer.resource_name
non fanno parte della clausola SELECT .
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resource:campaign.resource_name
omit_unselected_resource_names è specificato come true
e campaign.resource_name richiesto nell'ambito della
clausola SELECT .
|
Regole lingua aggiuntive
Oltre agli esempi per ogni clausola, il linguaggio di query di Google Ads presenta i seguenti comportamenti che possono essere utilizzati:
Non è necessario che il campo della risorsa principale si trovi nella clausola
SELECT
per una query. Ad esempio, potresti voler utilizzare solo uno o più campi risorsa principali per filtrare i dati:SELECT campaign.id FROM ad_group WHERE ad_group.status = PAUSED
Le metriche possono essere selezionate esclusivamente per una determinata risorsa; nella query non sono obbligatori altri campi della risorsa:
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaign
I campi di segmentazione possono essere selezionati senza campi di risorse o metriche di accompagnamento:
SELECT segments.device FROM campaign
Il campo
resource_name
(campaign.resource_name
, ad esempio) può essere utilizzato per filtrare o ordinare i dati:SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'