Запрос информации о ресурсах или метаданных
Язык запросов Google Ads может запрашивать у API Google Ads следующие типы информации:
Ресурсы и связанные с ними атрибуты, сегменты и метрики с использованием поиска
GoogleAdsService
или SearchStream : результатом запроса GoogleAdsService является список экземпляровGoogleAdsRow
, где каждыйGoogleAdsRow
представляет ресурс.Если запрашиваются какие-либо атрибуты или метрики, строка также включает эти поля. Если запрашиваются какие-либо сегменты, ответ также отображает дополнительную строку для каждого кортежа сегмент-ресурс.
Метаданные о доступных полях и ресурсах в
GoogleAdsFieldService
: эта служба предоставляет каталог запрашиваемых полей с подробной информацией об их совместимости и типе.Результатом запроса
GoogleAdsFieldService
является список экземпляровGoogleAdsField
, где каждыйGoogleAdsField
содержит сведения о запрошенном поле.
Запрос атрибутов ресурса
Вот пример базового запроса атрибутов ресурса кампании, который иллюстрирует, как вернуть идентификатор кампании, название и статус:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
Этот запрос сортирует данные по идентификатору кампании. Каждая результирующая строка GoogleAdsRow
представляет собой объект campaign
, заполненный выбранными полями, включая resource_name
кампании.
Чтобы узнать, какие еще поля доступны для запросов кампании, обратитесь к справочной документации Campaign
.
Запрос метрик
Наряду с выбранными атрибутами для заданного ресурса вы также можете запрашивать связанные с ним показатели:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
Этот запрос отфильтровывает только кампании со статусом PAUSED
и числом показов более 1000, сортируя их по идентификатору кампании. Каждая полученная строка GoogleAdsRow
будет содержать metrics
с выбранными показателями.
Список запрашиваемых метрик см. в документации Metrics
.
Запрос сегментов
Наряду с выбранными атрибутами для заданного ресурса вы также можете запрашивать связанные сегменты:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date,
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date during LAST_30_DAYS
ORDER BY campaign.id
Подобно запросу метрик, этот запрос фильтрует только кампании со статусом PAUSED
и числом показов более 1000. Однако этот запрос сегментирует данные по дате. В результате каждая результирующая GoogleAdsRow
представляет собой кортеж кампании и даты Segment
. Сегментация разделяет выбранные метрики, группируя их по каждому сегменту в предложении SELECT.
Список запрашиваемых сегментов см. в документации Segments
.
Запрос атрибутов связанного ресурса
В запросе к заданному ресурсу вы можете объединиться с другими связанными ресурсами, если они доступны. Эти связанные ресурсы называются «атрибутированными ресурсами». Вы можете объединиться с атрибутированными ресурсами неявно, выбрав атрибут в запросе.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
Этот запрос не только выбирает атрибуты кампании, но и извлекает связанные атрибуты из каждой выбранной кампании. Каждая результирующая строка GoogleAdsRow
представляет собой объект campaign
, заполненный выбранными атрибутами кампании, а также атрибутом выбранной стратегии назначения ставок bidding_strategy.name
.
Чтобы узнать, какие атрибутированные ресурсы доступны для запросов кампании, обратитесь к справочной документации Campaign
.
Мутировать на основе результатов запроса
При запросе заданного ресурса вы можете сразу же получить возвращаемые результаты как объекты, изменить их и отправить обратно методу mutate в службе этого ресурса. Вот пример рабочего процесса: 1. Выполнить запрос для всех кампаний, которые в настоящее время PAUSED
и имеют количество показов более 1000. 1. Получить объект Campaign
из поля campaign
каждой строки GoogleAdsRow
в ответе. 1. Измените статус каждой кампании с PAUSED
на ENABLED
. 1. Вызвать CampaignService.MutateCampaigns
с изменёнными кампаниями для их обновления.
Метаданные поля
Запросы, отправляемые в GoogleAdsFieldService
, предназначены для получения метаданных полей. Эта информация может быть использована для понимания того, как поля могут использоваться вместе в запросе. Поскольку данные доступны через API и он предоставляет необходимые метаданные для проверки или построения запроса, разработчики могут делать это программно. Вот типичный запрос для получения метаданных:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
В этом запросе вы можете заменить <INSERT_RESOURCE_OR_FIELD>
либо ресурсом (например, customer
или campaign
), либо полем (например, campaign.id
, metrics.impressions
или ad_group.id
).
Список полей запроса см. в документации GoogleAdsField
.
Примеры кода
В клиентских библиотеках есть примеры использования языка запросов Google Ads в GoogleAdsService
. В папке основных операций есть такие примеры, как GetCampaigns
, GetKeywords
и SearchForGoogleAdsFields
.