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 innanzitutto 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 i nomi dei campi, i nomi delle tabelle, gli operatori, le condizioni e gli ordini per aiutarti a selezionare i dati desiderati. Una volta combinata in una singola query, è possibile effettuare una richiesta utilizzando la Google Content API for Shopping. Diamo un'occhiata a come può essere utilizzata ciascuna clausola.
Clausole
SELECT
La clausola SELECT
specifica un insieme di campi da recuperare nella richiesta. SELECT
prende un elenco separato da virgole di campi e metriche del segmento, restituendo i valori
nella risposta. La clausola SELECT
è obbligatoria in una query.
Ecco un esempio di query 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:
- Esecuzione di query sui campi dei segmenti senza almeno un campo metrica.
Le informazioni relative alla condizione di cui sopra sono disponibili nei nostri documenti 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 una determinata query. È possibile specificare una sola tabella nella
clausola FROM
. Al momento, è supportata solo la tabella MerchantPerformanceView.
La clausola FROM
è obbligatoria in una query al metodo search
nel
servizio reports
.
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
. Puoi utilizzare qualsiasi campo relativo ai segmenti nella clausola WHERE
, ma i campi delle 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 in cui vuoi che vengano
restituiti i dati sulle prestazioni.
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 sono > 100 nel periodo di 30 giorni.
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 selezioni segments.date
, è sempre necessario fornire un intervallo di date limitato nella clausola WHERE
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.
Per un elenco completo degli operatori, consulta la grammatica del linguaggio.
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
. Solo i campi specificati nella clausola SELECT
possono essere utilizzati nella clausola ORDER BY
. 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 separato da virgole. L'ordinamento verrà applicato 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
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
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