Estrutura da consulta

As consultas de campos de métricas e segmentos podem ser enviadas ao método reports.search. Para criar uma consulta na linguagem de consulta do Merchant Center, primeiro é necessário compor a consulta usando a gramática da linguagem. Uma consulta é formada por várias cláusulas:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

As cláusulas usam nomes de campos, nomes de tabelas, operadores, condições e ordenações para ajudar você a selecionar os dados desejados. Depois de combinadas em uma única consulta, uma solicitação pode ser feita usando a API Content do Google para 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 recebe uma lista separada por vírgulas de campos de segmento e métricas, retornando os valores na resposta. A cláusula SELECT é obrigatória em uma consulta.

Confira 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
  • Campos de segmento

    • 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 nos nossos documentos de referência.

FROM

A cláusula FROM especifica a tabela de onde os dados serão extraídos na solicitação. A tabela na cláusula FROM define quais campos podem ser usados por todas as outras cláusulas para a consulta especificada. Só é possível especificar uma tabela na cláusula FROM. No momento, apenas a tabela "MerchantPerformanceView" é compatível. A cláusula FROM é obrigatória em uma consulta ao 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, é possível especificar uma ou mais condições separando-as com AND. 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ê sempre precisa especificar o período em que quer que os dados de performance sejam retornados.

Confira 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 vai retornar o número de cliques por oferta para o programa SHOPPING_ADS em que os cliques > 100 no 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. Independente de você selecionar segments.date, um período finito na cláusula WHERE sempre precisa ser fornecido para recuperar dados de performance.

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

Ao filtrar, é importante considerar 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

A cláusula ORDER BY especifica a ordem em que os resultados serão retornados. Isso permite organizar os dados em ordem crescente ou decrescente com base em um nome de campo. Cada ordenação é especificada como um field_name seguido por ASC ou DESC. Se nem ASC nem DESC 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 vai 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 por número de impressões e, por fim, em ordem decrescente por 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ê só quiser um resumo.

Por exemplo, LIMIT pode ser usado para restringir o número total de resultados da 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