As consultas dos campos de métrica e segmento podem ser enviadas para o método
reports.search
. Para criar uma consulta na linguagem de consulta do Merchant Center, primeiro você precisa escrevê-la usando a gramática da linguagem. Uma consulta é composta de várias 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. Depois de combinadas em uma única consulta, é possível fazer uma solicitação usando a API Content for Shopping do Google. 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.
Veja a seguir um exemplo de consulta que seleciona métricas de cliques 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 em nossos documentos de referência.
FROM
A cláusula FROM
especifica a tabela de onde 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 especificada. Somente uma tabela pode ser especificada 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 os dados da
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 uso na cláusula WHERE
. A cláusula WHERE
é obrigatória em uma consulta porque você precisa sempre especificar o período para o retorno dos dados de desempenho.
Confira 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 vai 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 abaixo, você vai perceber que segments.date
foi selecionado.
Independentemente de você selecionar segments.date
, um período finito na cláusula
WHERE
sempre precisa ser fornecido para recuperar dados de desempenho.
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 seu operador.
Para ver uma lista completa de operadores, consulte a gramática de 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 ordem é especificada como uma 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 por número de impressões e, depois, 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ê tiver interesse 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