Struttura delle query

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é ASCDESC, 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