Запросы к полям метрик и сегментов можно отправлять в метод 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