Le query per i campi delle metriche e dei segmenti possono essere inviate al metodo reports.search
. Per creare una query nel linguaggio di query di Merchant Center, devi prima comporre la query utilizzando la grammatica del linguaggio.
Una query è composta da una serie di clausole:
SELECT
FROM
WHERE
ORDER BY
LIMIT
Le clausole utilizzano nomi di campi, nomi di tabelle, operatori, condizioni e ordinamenti per aiutarti a selezionare i dati desiderati. Una volta combinate in un'unica query, è possibile effettuare una richiesta utilizzando l'API Google Content for Shopping. Vediamo come può essere utilizzata ciascuna clausola.
Clausole
SELEZIONA
La clausola SELECT
specifica un insieme di campi da recuperare nella richiesta. SELECT
accetta un elenco separato da virgole di campi e metriche del segmento, restituendo i valori
nella risposta. La clausola SELECT
è obbligatoria in una query.
Ecco una query di esempio che seleziona le metriche sui clic da una determinata tabella:
SELECT
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Puoi anche eseguire query su diversi tipi di campi in una singola richiesta:
SELECT
segments.date,
segments.program,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Campi segmento
segments.date
segments.program
Metriche
metrics.impressions
metrics.clicks
Alcuni campi non sono consentiti nella clausola SELECT
a causa della seguente
limitazione:
- Eseguire query sui campi del segmento senza almeno un campo metrico.
Le informazioni relative alla condizione sopra riportata sono disponibili nella documentazione di riferimento.
FROM
La clausola FROM
specifica la tabella da cui recuperare i dati nella richiesta. La tabella nella clausola FROM
definisce i campi che possono essere utilizzati da tutte le altre clausole per la query specificata. Nella clausola FROM
è possibile specificare una sola tabella. Al momento è supportata solo la tabella MerchantPerformanceView.
La clausola FROM
è obbligatoria in una query al metodo search
del servizio
reports
.
WHERE
La clausola WHERE
specifica le condizioni da applicare durante il filtro dei dati per la richiesta. Quando utilizzi la clausola WHERE
, puoi specificare una o più condizioni
utilizzando AND
per separarle. Ogni condizione deve seguire il pattern
field_name Operator value
. Qualsiasi campo dei segmenti può essere utilizzato nella clausola WHERE
, ma i campi delle metriche devono essere specificati nella clausola SELECT
per essere utilizzati nella clausola WHERE
. La clausola WHERE
è obbligatoria in una query,
perché devi sempre specificare l'intervallo di date per il quale vuoi che vengano restituiti i
dati sul rendimento.
Di seguito è riportato un esempio di utilizzo di WHERE
per restituire le metriche di un determinato periodo di tempo:
SELECT
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Puoi combinare più condizioni per filtrare i dati. Questo esempio restituirà il numero di clic per offerta per il programma SHOPPING_ADS in cui i clic > 100 nel periodo di 30 giorni specificato.
SELECT
segments.offer_id,
segments.program,
metrics.clicks
FROM MerchantPerformanceView
WHERE metrics.clicks > 100
AND segments.program = SHOPPING_ADS
AND segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’;
Nella query seguente, noterai che è stato selezionato segments.date
.
Indipendentemente dalla selezione di segments.date
, per recuperare i dati sul rendimento è sempre necessario fornire un intervallo di date limitato nella clausola WHERE
.
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Quando applichi i filtri, è importante tenere presente la sensibilità alle maiuscole dell'operatore.
Per un elenco completo degli operatori, consulta la grammatica del linguaggio.
ORDER BY
La clausola ORDER BY
specifica l'ordine in cui devono essere riportati i risultati. In questo modo puoi organizzare 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 viene specificato né ASC
né DESC
, l'ordine predefinito è ASC
. Nella clausola ORDER BY
possono essere utilizzati solo i campi specificati nella clausola SELECT
. La clausola ORDER BY
è facoltativa in una query.
La seguente query ordina le righe restituite in base al numero di clic dal più alto al più basso:
SELECT
segments.offer_id,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC
Puoi specificare più campi nella clausola ORDER BY
utilizzando un elenco delimitato da virgole. L'ordinamento verrà eseguito nella stessa sequenza specificata nella query.
Ad esempio, in questa query i risultati verranno ordinati in ordine crescente per offer_id
, poi in ordine decrescente per numero di impressioni e infine in ordine decrescente per numero di clic:
SELECT
segments.offer_id,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY
segments.offer_id,
metrics.impressions DESC,
metrics.clicks DESC
LIMIT
La clausola LIMIT
consente di specificare il numero di risultati da restituire.
Questa opzione è utile se ti interessa solo un riepilogo.
Ad esempio, LIMIT
può essere utilizzato per limitare il numero totale di risultati per la
seguente query:
SELECT
segments.program,
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.impressions DESC
LIMIT 50