Las consultas de los campos de métrica y segmento se pueden enviar al método reports.search
. Para crear una consulta en el lenguaje de consulta de Merchant Center, primero debes redactar la consulta con la gramática del lenguaje. Una consulta consta de varias cláusulas:
SELECT
FROM
WHERE
ORDER BY
LIMIT
Las cláusulas usan nombres de campo, nombres de tablas, operadores, condiciones y ordenes para ayudarte a seleccionar los datos deseados. Una vez combinada en una sola consulta, se puede realizar una solicitud con Google Content API for Shopping. Veamos cómo se puede usar cada cláusula.
modelo de la UE
SELECT
La cláusula SELECT
especifica un conjunto de campos para recuperar en la solicitud. SELECT
toma una lista separada por comas de campos y métricas de segmentos, y muestra los valores en la respuesta. La cláusula SELECT
es obligatoria en una consulta.
Aquí hay una consulta de muestra que selecciona las 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 del segmento
segments.date
segments.program
Métricas
metrics.impressions
metrics.clicks
Algunos campos no están permitidos en la cláusula SELECT
debido a la siguiente restricción:
- Consulta campos de segmentos 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 datos en la solicitud. La tabla de la cláusula FROM
define qué campos pueden usar todas las otras cláusulas para la consulta dada. Solo se puede especificar una única 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 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
. 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 que se usen en la cláusula WHERE
. La cláusula WHERE
es obligatoria en una consulta, ya que siempre debes especificar el período en el que quieres que se muestren los 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 muestra la cantidad de clics por oferta para el programa SHOPPING_ADS en los que la cantidad de clics es mayor que 100 en un período determinado de 30 días.
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
.
Sin importar 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 tener en cuenta la distinción entre mayúsculas y minúsculas de tu operador.
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 el que se mostrarán los resultados. Esto te permite organizar los datos en orden ascendente o descendente según el nombre de un campo. Cada orden se especifica como un field_name
seguido de ASC
o DESC
. Si no se especifica ASC
ni DESC
, el orden predeterminado es ASC
. Solo los campos especificados en la cláusula SELECT
se pueden usar en la cláusula ORDER BY
. La cláusula ORDER BY
es opcional en una consulta.
La siguiente consulta ordena de mayor a menor las filas que se muestran por cantidad de clics:
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
mediante una lista separada por comas. El orden se producirá en la misma secuencia que se especifica en la consulta.
Por ejemplo, en esta consulta, los resultados se ordenarán en orden ascendente por offer_id
, luego en orden descendente por cantidad de impresiones y, por último, en orden 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 el resumen.
Por ejemplo, se puede usar LIMIT
para restringir la cantidad total de resultados en 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