Estructura de una consulta

Las consultas para los campos de métrica y segmento se pueden enviar al método reports.search. Para crear una consulta en el lenguaje de Merchant Center Query Language, primero debes componerla con la gramática del lenguaje. Una consulta se compone de varias cláusulas:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

Las cláusulas usan nombres de campos, nombres de tablas, operadores, condiciones y ordenamientos para ayudarte a seleccionar los datos deseados. Una vez que se combinan en una sola consulta, se puede realizar una solicitud con la API de Content de Google Shopping. Veamos cómo se puede usar cada cláusula.

modelo de la UE

SELECT

La cláusula SELECT especifica un conjunto de campos que se recuperarán en la solicitud. SELECTtoma una lista separada por comas de campos de segmentos y métricas, y devuelve los valores en la respuesta. La cláusula SELECT es obligatoria en una consulta.

A continuación, se muestra una consulta de ejemplo que selecciona métricas de clics de una tabla determinada:

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

También puedes consultar diferentes tipos de campos en una sola solicitud:

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

Algunos campos no se permiten en la cláusula SELECT debido a la siguiente restricción:

  • Consultar campos de segmentación sin al menos un campo de métrica

Puedes encontrar información relacionada con la condición anterior en nuestros documentos de referencia.

FROM

La cláusula FROM especifica la tabla de la que se recuperarán los datos en la solicitud. La tabla en la cláusula FROM define qué campos pueden usar todas las demás cláusulas para la consulta determinada. Solo se puede especificar una tabla en la cláusula FROM. Actualmente, solo se admite la tabla MerchantPerformanceView. La cláusula FROM es obligatoria en una búsqueda al método search en el servicio reports.

WHERE

La cláusula WHERE especifica las condiciones que se deben aplicar cuando se filtran los datos para la solicitud. Cuando se usa la cláusula WHERE, se pueden especificar una o más condiciones con AND para separarlas. Cada condición debe seguir el patrón field_name Operator value. Cualquier campo de segmentos se puede usar en la cláusula WHERE, pero los campos de métricas se deben especificar en la cláusula SELECT para usarse en la cláusula WHERE. La cláusula WHERE es obligatoria en una consulta, ya que siempre debes especificar el período para el que deseas que se muestren tus datos de rendimiento.

A continuación, se muestra un ejemplo del uso de WHERE para devolver métricas de un período determinado:

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

Puedes combinar varias condiciones para filtrar los datos. En este ejemplo, se mostrará la cantidad de clics por oferta para el programa de anuncios de Shopping en el que los clics son mayores que 100 en el período de 30 días determinado.

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;

En la siguiente búsqueda, notarás que se seleccionó segments.date. Independientemente de si seleccionas segments.date, siempre se debe proporcionar un período finito en la cláusula WHERE para recuperar los datos de rendimiento.

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

Cuando filtres, es importante que tengas en cuenta si tu operador distingue mayúsculas y minúsculas.

Para obtener una lista completa de los operadores, consulta la gramática del lenguaje.

ORDER BY

La cláusula ORDER BY especifica el orden en que se deben devolver los resultados. Esto te permite ordenar los datos de forma ascendente o descendente según el nombre de un campo. Cada ordenamiento se especifica como un field_name seguido de ASC o DESC. Si no se especifican ASC ni DESC, el orden predeterminado es ASC. Solo se pueden usar en la cláusula ORDER BY los campos especificados en la cláusula SELECT. La cláusula ORDER BY es opcional en una consulta.

La siguiente consulta ordena las filas devueltas por cantidad de clics, de mayor a 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

Puedes especificar varios campos en la cláusula ORDER BY con una lista separada por comas. El ordenamiento se realizará en la misma secuencia que se especifica en la consulta. Por ejemplo, en esta consulta, los resultados se ordenarán de forma ascendente por offer_id, luego de forma descendente por la cantidad de impresiones y, por último, de forma descendente por la cantidad de clics:

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

La cláusula LIMIT te permite especificar la cantidad de resultados que se mostrarán. Esto es útil si solo te interesa un resumen.

Por ejemplo, LIMIT se puede usar para restringir la cantidad total de resultados de la siguiente 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