Estrutura da consulta

As consultas dos campos de métrica e segmento podem ser enviadas ao método reports.search. Para criar uma consulta na linguagem de consulta do Merchant Center, você precisa primeiro redigir a consulta usando a gramática da linguagem. Uma consulta é composta por uma série de cláusulas:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

As cláusulas usam nomes de campos, nomes de tabelas, operadores, condições e ordens para ajudar você a selecionar os dados desejados. Uma vez combinada em uma única consulta, é possível fazer uma solicitação usando a Google Content API for Shopping. Vamos ver como cada cláusula pode ser usada.

Cláusulas

SELECT

A cláusula SELECT especifica um conjunto de campos a serem buscados na solicitação. SELECT usa uma lista separada por vírgulas de campos e métricas de segmento, retornando os valores na resposta. A cláusula SELECT é obrigatória em uma consulta.

Aqui está um exemplo de consulta que seleciona métricas de clique de uma determinada tabela:

SELECT
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

Também é possível consultar diferentes tipos de campo em uma única solicitação:

SELECT
  segments.date,
  segments.program,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
  • Segmentar campos

    • segments.date
    • segments.program
  • Métricas

    • metrics.impressions
    • metrics.clicks

Alguns campos não são permitidos na cláusula SELECT devido à seguinte restrição:

  • Consultar campos de segmento sem pelo menos um campo de métrica.

Informações relacionadas à condição acima podem ser encontradas em nossos documentos de referência.

FROM

A cláusula FROM especifica a tabela em que os dados serão buscados na solicitação. A tabela na cláusula FROM define quais campos podem ser usados por todas as outras cláusulas para a consulta em questão. Apenas uma tabela pode ser especificada na cláusula FROM. No momento, somente a tabela MerchantPerformanceView é compatível. A cláusula FROM é obrigatória em uma consulta para o método search no serviço reports.

WHERE

A cláusula WHERE especifica as condições a serem aplicadas ao filtrar dados para a solicitação. Ao usar a cláusula WHERE, uma ou mais condições podem ser especificadas usando AND para separá-las. Cada condição precisa seguir o padrão field_name Operator value. Qualquer campo de segmentos pode ser usado na cláusula WHERE, mas os campos de métricas precisam ser especificados na cláusula SELECT para serem usados na cláusula WHERE. A cláusula WHERE é obrigatória em uma consulta porque você precisa sempre especificar o período em que quer que seus dados de desempenho sejam retornados.

Veja a seguir um exemplo de como usar WHERE para retornar métricas de um determinado período:

SELECT
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

É possível combinar várias condições para filtrar os dados. Este exemplo retornará o número de cliques por oferta para o programa SHOPPING_ADS, em que o número de cliques é maior que 100 em um determinado período de 30 dias.

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’;

Na consulta a seguir, você vai notar que segments.date foi selecionado. Independentemente de você selecionar segments.date, um período finito na cláusula WHERE sempre precisará ser fornecido para recuperar os dados de performance.

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
.

Ao filtrar, é importante ter em mente a diferenciação entre maiúsculas e minúsculas do operador.

Para uma lista completa de operadores, consulte a gramática da linguagem.

ORDER BY

Com a cláusula ORDER BY, você especifica a ordem em que os resultados serão retornados. Isso permite organizar os dados em ordem crescente ou decrescente com base no nome de um campo. Cada ordenação é especificada como field_name seguida por ASC ou DESC. Se ASC e DESC não forem especificados, a ordem será ASC por padrão. Somente os campos especificados na cláusula SELECT podem ser usados na cláusula ORDER BY. A cláusula ORDER BY é opcional em uma consulta.

A consulta a seguir ordena as linhas retornadas pelo número de cliques, do maior para o menor:

SELECT
  segments.offer_id,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC

É possível especificar vários campos na cláusula ORDER BY usando uma lista separada por vírgulas. A ordenação ocorrerá na mesma sequência especificada na consulta. Por exemplo, nesta consulta, os resultados serão classificados em ordem crescente por offer_id, depois em ordem decrescente pelo número de impressões e, por fim, em ordem decrescente pelo número de cliques:

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

A cláusula LIMIT permite especificar o número de resultados a serem retornados. Isso é útil se você estiver interessado apenas em um resumo.

Por exemplo, LIMIT pode ser usado para restringir o número total de resultados para a seguinte consulta:

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