Una query è composta da una serie di clausole: SELECT
,
FROM
,
WHERE
,
ORDER BY
,
LIMIT
,
e PARAMETERS
.
Le clausole utilizzano nomi campo, nomi delle risorse, operatori, condizioni, e ordering che si combinano in una singola richiesta di query.
In termini di base, per creare una query devi:
- Specifica una risorsa da cui recuperare i dati.
- Aggiungi campi e metriche per definire i dati da restituire.
- Aggiungi segmenti per raggruppare i risultati.
- Aggiungi risorse attribuite per unire implicitamente i dati delle risorse correlate.
- Filtra, ordina e limita i risultati.
Clausola SELECT
La clausola SELECT
:
- È una clausola obbligatoria in una query.
- Specifica un insieme di campi da recuperare nella richiesta.
- Utilizza un elenco separato da virgole di campi risorsa, colonne personalizzate, le variabili Floodlight, i campi del segmento e le metriche e restituisce i valori nella la risposta corretta.
Questa query di esempio mostra come selezionare gli attributi dell'elemento campaign
risorsa:
SELECT
campaign.id,
campaign.name
FROM campaign
Più tipi di campi
Nella stessa richiesta, puoi richiedere diversi tipi di campi.
La seguente query di esempio mostra una singola query con una combinazione di:
- Campi risorsa:
campaign.id
,campaign.name
,bidding_strategy.id
ebidding_strategy.name
. - Campi del segmento:
segments.device
esegments.date
. - Campi delle metriche:
metrics.impressions
emetrics.clicks
.
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
Consulta Segmentazione. per saperne di più sulla segmentazione dei report di ricerca.
Campo risorsa principale
Generalmente, dovresti includere il campo della risorsa principale nel campo SELECT
, ma si tratta di un'opzione facoltativa (non obbligatoria).
Questa query di esempio utilizza un campo della risorsa principale (ad_group.status
) solo per filtrare
i risultati.
SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED
Variabili Floodlight personalizzate
Puoi includere variabili Floodlight personalizzate nella clausola SELECT utilizzando il relativo ID.
In questo esempio, la query include una variabile personalizzata con ID 123454321 per il valore risorsa della campagna.
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
Colonne personalizzate
Puoi includere colonne personalizzate nella clausola SELECT utilizzando i relativi ID.
In questo esempio, la query include una colonna personalizzata con ID 12345678 per risorsa della campagna.
SELECT
custom_columns.id[12345678]
FROM campaign
Scopri come ottenere gli ID colonna personalizzati.
Campi delle metriche
Puoi selezionare i campi delle metriche per una determinata risorsa senza includerne altri
della risorsa nella clausola SELECT
.
Questa query di esempio seleziona le metriche impressions
e clicks
per campaign
risorsa.
SELECT
metrics.impressions,
metrics.clicks
FROM campaign
Visita metrics
per
dei campi delle metriche che puoi utilizzare nelle query.
Campi relativi ai segmenti
Puoi selezionare i campi dei segmenti senza specificare i campi risorsa di accompagnamento
o metriche nella clausola SELECT
.
Questa query di esempio segmenta i risultati per dispositivo.
SELECT segments.device
FROM campaign
Visita segments
per
dei segmenti che puoi utilizzare nelle query.
Campi vietati
Non puoi utilizzare i seguenti campi nella clausola SELECT
:
- Campi non selezionabili, ovvero campi con i metadati
Selectable
contrassegnato comefalse
. - Campi ripetuti, ovvero campi con l'attributo di metadati
Repeated
contrassegnato cometrue
. - Campi non disponibili per la risorsa specificata nella clausola
FROM
. Gli attributi di alcune risorse non possono essere selezionati insieme. Solo alcune risorse rendere disponibile un sottoinsieme di tutte le metriche e tutti i segmenti. - Segmenti o metriche incompatibili. Consulta Segmentazione per ulteriori informazioni. informazioni.
Consulta la documentazione di riferimento per su dove trovare queste informazioni per ogni risorsa.
Clausola FROM
La clausola FROM
:
- È una clausola obbligatoria per le query
SearchAds360Service
: (entrambi i metodiSearch
eSearchStream
). - Non deve essere incluso per le query a
SearchAds360FieldService
. - Specifica la risorsa principale restituita dalla query.
- Puoi specificare una sola risorsa.
- Definisce i campi che puoi utilizzare in tutte le altre clausole della query.
Risorse attribuite
Se sono disponibili risorse attribuite, vengono implicitamente unite ai
specificata nella clausola FROM
. Devi solo aggiungere i loro attributi
alla clausola SELECT
per restituire i relativi valori.
Questa query di esempio restituisce sia l'ID gruppo di annunci sia l'ID campagna, perché
campaign
è una risorsa attribuita della risorsa ad_group
.
SELECT
campaign.id,
ad_group.id
FROM ad_group
Campo resource_name
Il campo resource_name
della risorsa principale nella clausola FROM
è sempre
restituito.
In questa query di esempio, nella risposta verrà incluso ad_group.resource_name
anche se non è esplicitamente selezionato nella query:
SELECT ad_group.id
FROM ad_group
Il campo resource_name
di una risorsa attribuita è
restituito quando è selezionato almeno un campo.
In questa query di esempio, campaign.resource_name
verrà incluso nel
risposta perché è stato selezionato campaign.id
:
SELECT
campaign.id,
ad_group.id
FROM ad_group
Clausola WHERE
La clausola WHERE
:
- È una clausola facoltativa in una query.
- Specifica le condizioni per filtrare e segmentare i dati per la richiesta.
Le condizioni seguono questo schema:
FIELD_NAME
OPERATOR
VALUE
(separato da spazi vuoti). - Può includere più condizioni separate dal separatore
AND
.
Questa query di esempio mostra come utilizzare la clausola WHERE
per restituire impressions
metriche per un determinato periodo di tempo:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Consulta Segmentazione. per saperne di più sulla segmentazione dei report di ricerca.
Consulta la sezione Intervalli di date per scoprire di più su come specificare una data. diversi nelle tue query.
Filtra per campo resource_name
Puoi utilizzare il campo resource_name
per filtrare o ordinare i dati.
Questa query di esempio utilizza il campo campaign.resource_name
per filtrare i risultati
da una determinata campagna:
SELECT
campaign.id,
campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'
Più condizioni
Puoi combinare più condizioni per filtrare i dati.
Questa query di esempio richiede il numero di metriche clicks
per tutte le campagne
con impressions
metriche su dispositivi mobili per gli 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
Consulta Segmentazione. per ulteriori informazioni sulla segmentazione dei report.
Distinzione tra maiuscole e minuscole
Quando filtri i valori di stringa, la distinzione tra maiuscole e minuscole predefinita di ciascun operatore gioca un ruolo importante nel filtrare correttamente i risultati.
La tabella seguente mostra la distinzione tra maiuscole e minuscole predefinita di ciascun operatore.
Sensibilità alle maiuscole predefinita | |
---|---|
=/!= |
Case sensitive |
IN/NOT IN |
Case sensitive |
LIKE/NOT LIKE |
Case insensitive |
CONTAINS (...) |
Case sensitive |
REGEXP_MATCH/NOT REGEXP_MATCH |
Case sensitive |
Puoi utilizzare il tasto di modifica (?i)
per cambiare la sensibilità predefinita per
REGEXP_MATCH
e NOT REGEXP_MATCH
senza distinzione tra maiuscole e minuscole, ad esempio:
SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"
Consulta la pagina Riferimento grammaticale per le query per un elenco completo delle operatori che puoi utilizzare per filtrare i dati.
Segmenti di date principali
I seguenti campi dei segmenti sono noti come segmenti di date principali:
segments.date
, segments.week
, segments.month
, segments.quarter
e
segments.year
.
Puoi utilizzare i segmenti di data principali nella clausola WHERE
per specificare una data o un'ora
punto.
Questa query di esempio specifica DURING LAST_30_DAYS
per il campo segments.date
nella clausola WHERE
:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Consulta Segmentazione > Segmenti di data principali per conoscere informazioni sull'uso dei segmenti di data principali.
Filtro vietato
Applicazione di filtri non consentita:
- Nei campi non selezionati dei segmenti, ad eccezione dei segmenti di data principali.
- Nei campi di qualsiasi tipo di messaggio, ad eccezione dei tipi primitivi (ad esempio
Int64Value
,StringValue
e così via). - Sugli attributi dei campi ripetuti di qualsiasi tipo di messaggio, ad eccezione delle primitive
(ad es.
Int64Value
,StringValue
e così via).
Clausola ORDER BY
La clausola ORDER BY
:
- È una clausola facoltativa in una query.
- Specifica l'ordine in cui vengono restituiti i risultati. L'ordine segue questo
motivo:
FIELD_NAME
ORDERING_OPTION
(separato da uno spazio vuoto). - Consente due opzioni:
ASC
(crescente) oDESC
(ordine decrescente). Il valore predefinito è crescente.
Questa query di esempio ordina le campagne in base al numero di clic in ordine decrescente (dal più alto al più basso):
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Ordini multipli
Puoi specificare più campi nella clausola ORDER BY
utilizzando una virgola
dall'elenco di lettura. I risultati verranno ordinati nella stessa sequenza specificata nel campo
query.
Questa query di esempio seleziona i dati del gruppo di annunci e ordina i risultati in ordine crescente in base al nome della campagna, poi in ordine decrescente in base al numero di impressioni e quindi, in ordine decrescente in base al 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
Combina ordinamento e limite
Puoi utilizzare la clausola ORDER BY
in combinazione con la clausola LIMIT
per
per perfezionare i risultati.
Questa query di esempio restituisce le cinque campagne con il maggior numero di impressioni su ultimi 30 giorni:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5
Ordinazione vietata
Ordinamento non consentito:
- In base ad attributi delle risorse non selezionate.
- In base a metriche non selezionate.
- Per segmenti non selezionati.
- Per questi tipi di campi:
MESSAGE
- Campi ripetuti
- Attributi dei campi ripetuti.
Clausola LIMIT
La clausola LIMIT
:
- È una clausola facoltativa in una query.
- Consente di limitare il numero di risultati restituiti dalla query.
Questa clausola è utile, ad esempio, se ti interessa solo un campione un riepilogo dei risultati.
Questa query di esempio limita il numero totale di risultati a 50:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
Clausola PARAMETERS
La clausola PARAMETERS
consente di specificare meta parametri per la richiesta.
Includi bozze
Il parametro include_drafts
consente di stabilire se includere o meno le bozze di entità
i risultati. Il valore predefinito è false
. Impostalo su true
per includere bozze di entità.
Questa query di esempio restituisce sia le bozze di campagna sia le campagne standard:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
Ometti resource_name
deselezionato
Il parametro omit_unselected_resource_names
ti consente di escludere
Campo resource_name
di tutte le risorse che non sono richieste esplicitamente in
SELECT
. Il valore predefinito è false
. Se imposti questo parametro su true
,
ti consigliamo di richiedere esplicitamente il nome della risorsa principale
e le eventuali risorse attribuite
nella clausola SELECT
.
Questa query di esempio non restituisce né campaign.resource_name
né la
customer.resource_name
, perché non è incluso nel SELECT
clausola:
SELECT
campaign.name,
customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Questa query di esempio restituisce il campo campaign.resource_name
, perché è
esplicitamente richiesto nella clausola SELECT
:
SELECT
campaign.name,
campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Cambiare la valuta utilizzata nelle metriche
Il parametro metrics_currency
consente di specificare la valuta da utilizzare
quando calcoli una metrica inclusa nella clausola SELECT
.
Per impostazione predefinita, viene utilizzata la valuta locale dell'account. Se imposti questo
devi utilizzare il codice valuta di tre caratteri ISO 4217.
ad esempio USD, EUR.
Questa query di esempio restituisce la metrica cost_micros nella valuta locale del .
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
Questa query di esempio restituisce la metrica cost_micros in pesos cileni (CLP).
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"