Ключевые термины
- Ресурс
- Объект в Google Ads, например,
campaignилиad_group. - Сегмент
- Измерение, используемое для группировки данных, например,
segments.dateилиsegments.device. Когда сегменты включаются в предложениеSELECTвместе с метриками, метрики разделяются по сегментам. - Метрическая система
- Показатель эффективности, например,
metrics.impressionsилиmetrics.clicks. - Приписываемый ресурс
- Ресурс, который неявно связан с основным ресурсом в предложении
FROM, что позволяет выбирать его атрибуты наряду с атрибутами основного ресурса.
Запрос информации о ресурсах или метаданных.
Язык запросов Google Ads позволяет запрашивать у API Google Ads следующие типы информации:
Ресурсы и связанные с ними атрибуты, сегменты и метрики с помощью поиска
GoogleAdsServiceили SearchStream : результатом запроса GoogleAdsService является список экземпляровGoogleAdsRow, причем каждый экземплярGoogleAdsRowпредставляет собой ресурс.Если запрашиваются какие-либо атрибуты или метрики, то строка также включает эти поля. Если запрашиваются какие-либо сегменты, то в ответе также отображается дополнительная строка для каждой пары сегмент-ресурс.
Метаданные о доступных полях и ресурсах в
GoogleAdsFieldService: Этот сервис предоставляет каталог полей, по которым можно выполнять запросы, с указанием их совместимости и типа.Результатом запроса к
GoogleAdsFieldServiceявляется список экземпляровGoogleAdsField, причем каждыйGoogleAdsFieldсодержит подробную информацию о запрошенном поле.
Более подробную информацию о структуре запроса см. в разделах «Структура запроса» и «Грамматика языка запросов Google Ads» .
Запрос атрибутов ресурса
Вот пример простого запроса для получения атрибутов ресурса кампании, иллюстрирующий, как вернуть идентификатор, название и статус кампании:
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 показами, сортируя по ID кампании. В каждой полученной строке 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 .
Передовые методы
- Выбирайте только необходимые поля, чтобы избежать длительного времени ответа и тайм-аутов.
- Используйте
LIMITво время разработки и тестирования, чтобы избежать обработки больших наборов результатов. - Примените фильтры в предложении
WHERE, чтобы минимизировать передачу данных и размер ответа. - Используйте
GoogleAdsFieldServiceдля проверки совместимости полей и типов данных перед составлением сложных запросов. - Следует учитывать, что некоторые поля, особенно те, которые содержат большие объемы данных или требуют сложных вычислений, могут увеличить стоимость запроса.
Изменить на основе результатов запроса
При запросе к определенному ресурсу вы можете немедленно получить возвращенные результаты в виде объектов, изменить их и отправить обратно в метод `mutate` в сервисе этого ресурса. Вот пример рабочего процесса: 1. Выполните запрос для всех кампаний, которые в данный момент находятся PAUSED и имеют более 1000 показов. 2. Получите объект Campaign из поля campaign каждой строки GoogleAdsRow в ответе. 3. Измените статус каждой кампании с PAUSED на ENABLED . 4. Вызовите метод 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 .