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