Запросы по полям метрик и сегментов можно отправлять в метод reports.search
. Чтобы построить запрос на языке запросов Merchant Center, необходимо сначала составить его, используя грамматику языка . Запрос состоит из ряда предложений:
-
SELECT
-
FROM
-
WHERE
-
ORDER BY
-
LIMIT
В предложениях используются имена полей , имена таблиц , операторы , условия и порядок сортировки , чтобы помочь вам выбрать нужные данные. После объединения в один запрос его можно выполнить с помощью API контента Google для покупок. Давайте рассмотрим, как использовать каждое предложение.
Пункты
ВЫБИРАТЬ
Предложение SELECT
определяет набор полей для выборки в запросе. SELECT
принимает список полей сегмента и метрик, разделённых запятыми, и возвращает значения в ответе. Предложение SELECT
обязательно в запросе.
Вот пример запроса, который выбирает показатели кликов из заданной таблицы:
SELECT
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Вы также можете запросить различные типы полей в одном запросе:
SELECT
segments.date,
segments.program,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Сегмент полей
-
segments.date
-
segments.program
-
Метрики
-
metrics.impressions
-
metrics.clicks
-
Некоторые поля не допускаются в предложении SELECT
из-за следующего ограничения:
- Запрос полей сегмента без хотя бы одного поля метрики.
Информацию, касающуюся вышеуказанного состояния, можно найти в наших справочных документах.
ОТ
Предложение FROM
указывает таблицу, из которой извлекаются данные в запросе. Таблица в предложении FROM
определяет, какие поля могут использоваться всеми остальными предложениями данного запроса. В предложении FROM
можно указать только одну таблицу. В настоящее время поддерживается только таблица MerchantPerformanceView. Предложение FROM
обязательно в запросе к методу search
в службе reports
.
ГДЕ
Предложение WHERE
определяет условия фильтрации данных для запроса. При использовании предложения WHERE
можно указать одно или несколько условий, разделив их AND
. Каждое условие должно соответствовать шаблону field_name Operator value
. В предложении WHERE
можно использовать любое поле сегмента, но поля метрик необходимо указать в предложении SELECT
для использования в предложении WHERE
. Предложение WHERE
является обязательным в запросе, поскольку необходимо всегда указывать диапазон дат, для которого требуется возврат данных об эффективности.
Ниже приведен пример использования WHERE
для возврата показателей за заданный период времени:
SELECT
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Вы можете комбинировать несколько условий для фильтрации данных. В этом примере будет возвращено количество кликов по каждому предложению для программы SHOPPING_ADS, если число кликов превышает 100 за указанный 30-дневный период.
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’;
В следующем запросе вы заметите, что выбрана segments.date
. Независимо от того, выбрана ли дата segments.date
, для получения данных об эффективности всегда необходимо указать конечный диапазон дат в предложении WHERE
.
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
При фильтрации важно учитывать регистр оператора.
Полный список операторов см. в грамматике языка .
ЗАКАЗАТЬ ПО
Предложение ORDER BY
определяет порядок возврата результатов. Это позволяет упорядочить данные по возрастанию или убыванию имени поля. Каждый порядок задаётся как field_name
за которым следует ASC
или DESC
. Если не указано ни ASC
, ни DESC
, по умолчанию используется порядок ASC
. В предложении ORDER BY
можно использовать только поля, указанные в предложении SELECT
. Предложение ORDER BY
необязательно в запросе.
Следующий запрос упорядочивает возвращаемые строки по количеству кликов от наибольшего к наименьшему:
SELECT
segments.offer_id,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC
В предложении ORDER BY
можно указать несколько полей, разделив их запятыми. Упорядочивание будет происходить в той же последовательности, что и в запросе. Например, в этом запросе результаты будут отсортированы по возрастанию offer_id
, затем по убыванию количества показов и затем по убыванию количества кликов:
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
позволяет указать количество возвращаемых результатов. Это полезно, если вас интересует только сводка.
Например, LIMIT
можно использовать для ограничения общего количества результатов для следующего запроса:
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