Le query per i campi di metriche e segmenti possono essere inviate al reports.search
metodo. Per creare una query in Merchant Center Query Language, devi prima comporre la
query utilizzando la grammatica del linguaggio.
Una query è composta da una serie di clausole:
SELECTFROMWHEREORDER BYLIMIT
Le clausole utilizzano nomi dei campi, nomi delle tabelle, operatori, condizioni e ordinamenti per aiutarti a selezionare i dati desiderati. Una volta combinate in un'unica query, è possibile effettuare una richiesta utilizzando la Google Content API for Shopping. Vediamo come è possibile utilizzare ogni clausola.
Clausole
SELECT
La clausola SELECT specifica un insieme di campi da recuperare nella richiesta. SELECT
accetta un elenco di campi di segmenti e metriche separati da virgole e restituisce i valori nella risposta. La clausola SELECT è obbligatoria in una query.
Di seguito è riportata una query di esempio che seleziona le metriche dei 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 un'unica richiesta:
SELECT
segments.date,
segments.program,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Campi di segmenti
segments.datesegments.program
Metriche
metrics.impressionsmetrics.clicks
Alcuni campi non sono consentiti nella clausola SELECT a causa della seguente limitazione:
- Esecuzione di query sui campi di segmenti senza almeno un campo di metriche.
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 filtraggio 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. Nella clausola WHERE è possibile utilizzare qualsiasi campo di segmenti, ma i campi di metriche devono essere specificati nella clausola SELECT per poter essere utilizzati nella clausola WHERE. La clausola WHERE è obbligatoria in una query, perché devi sempre specificare l'intervallo di date per cui 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 dal fatto che tu selezioni segments.date, nella clausola WHERE deve sempre essere fornito un intervallo di date finito per recuperare i dati sul rendimento.
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Quando filtri, è importante tenere presente la sensibilità alle maiuscole dell'operatore.
Tieni presente quanto segue quando esegui query sui metadati utilizzando una stringa di query descritta nella grammatica del linguaggio.
ORDER BY
La clausola ORDER BY specifica l'ordine in cui devono essere restituiti i risultati. In questo modo puoi disporre i dati in ordine crescente o decrescente in base a un nome di campo. Ogni ordinamento viene 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 query seguente 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 separato da virgole. L'ordinamento avverrà nella stessa sequenza specificata nella query.
Ad esempio, in questa query i risultati verranno ordinati in ordine crescente in base a offer_id, poi in ordine decrescente in base al numero di impressioni e infine in ordine decrescente in base al 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 query seguente:
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