Las consultas para los campos de métricas y segmentos se pueden enviar al reports.search
método. Para crear una consulta en el lenguaje de consultas de Merchant Center, primero debes redactarla con la
gramática del lenguaje.
Una consulta se compone de varias cláusulas:
SELECTFROMWHEREORDER BYLIMIT
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 para Shopping. Veamos cómo se puede usar cada cláusula.
Cláusulas
SELECT
La cláusula SELECT especifica un conjunto de campos que se recuperarán en la solicitud. SELECT
toma una lista de campos de segmentos y métricas separada por comas, y muestra los valores en la respuesta. La cláusula SELECT es obligatoria en una consulta.
Esta es una consulta de muestra 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 segmentos
segments.datesegments.program
Métricas
metrics.impressionsmetrics.clicks
Algunos campos no se permiten en la cláusula SELECT debido a la siguiente restricción:
- Consultar campos de segmentos sin al menos un campo de métricas.
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 de 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 consulta al método search en el servicio reports.
WHERE
La cláusula WHERE especifica las condiciones que se aplicarán cuando se filtren 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. Se puede usar cualquier campo de segmentos en la cláusula WHERE, pero los campos de métricas deben especificarse 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.
El siguiente es un ejemplo del uso de WHERE para mostrar 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 SHOPPING_ADS en la que los clics > 100 dentro del 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 consulta, notarás que se seleccionó segments.date.
Independientemente de si seleccionas segments.date, siempre se debe proporcionar un período definido 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 tener en cuenta la distinción entre mayúsculas y minúsculas de tu operador.
Ten en cuenta lo siguiente cuando consultes metadatos con una cadena de consulta descrita en la gramática del lenguaje.
ORDER BY
La cláusula ORDER BY especifica el orden en el que se mostrarán los resultados. Esto te permite organizar los datos en orden ascendente o descendente según un nombre de campo. Cada ordenamiento se especifica como un field_name seguido de ASC o DESC. Si no se especifica ASC ni DESC, el orden predeterminado es ASC. Solo se pueden usar los campos especificados en la cláusula SELECT en la cláusula ORDER BY. La cláusula ORDER BY es opcional en una consulta.
La siguiente consulta ordena las filas que se muestran 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 producirá 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 cantidad de impresiones y, luego, de forma descendente por 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