Основные термины
- Ресурс
- Объект в Google Рекламе, например
campaignилиad_group. - Сегмент
- Параметр, используемый для группировки данных, например
segments.dateилиsegments.device. Если сегменты включены в предложениеSELECTвместе с показателями, показатели разбиваются по сегментам. - Показатель
- Показатель эффективности, например
metrics.impressionsилиmetrics.clicks. - Ресурс с атрибуцией
- Ресурс, который неявно связан с основным ресурсом в пункте
FROM, что позволяет выбирать его атрибуты вместе с атрибутами основного ресурса.
Запрос информации о ресурсе или метаданных
С помощью языка запросов Google Ads Query Language можно запрашивать у Google Ads API следующие типы информации:
Ресурсы и связанные с ними атрибуты, сегменты и показатели, использующие
GoogleAdsServiceSearch или SearchStream. Результатом запросаGoogleAdsServiceявляется список экземпляровGoogleAdsRow, каждый из которыхGoogleAdsRowпредставляет ресурс.Если запрашиваются какие-либо атрибуты или показатели, то строка также включает эти поля. Если запрашиваются какие-либо сегменты, то в ответе также отображается дополнительная строка для каждого кортежа сегмент-ресурс.
Метаданные о доступных полях и ресурсах в
GoogleAdsFieldService. Этот сервис предоставляет каталог полей, которые можно запрашивать, с информацией об их совместимости и типе.Результатом запроса
GoogleAdsFieldServiceявляется список экземпляровGoogleAdsField, каждыйGoogleAdsFieldиз которых содержит сведения о запрошенном поле.
Подробнее о структуре запросов и грамматике языка запросов Google Рекламы…
Запрос атрибутов ресурса
Ниже приведен пример простого запроса атрибутов ресурса кампании, который возвращает идентификатор, название и статус кампании.
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 представляет собой кортеж из кампании и сегмента даты.
Сегментирование разделяет выбранные показатели, группируя их по каждому сегменту в пункте 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 в сервисе этого ресурса. Вот пример рабочего процесса:
- Выполните запрос для всех кампаний
PAUSED, у которых количество показов больше 1000. - Получите объект
Campaignиз поляcampaignкаждого объектаGoogleAdsRowв ответе. - Измените статус каждой кампании с
PAUSEDнаENABLED. - Вызовите
CampaignService.MutateCampaignsс измененными кампаниями и соответствующимFieldMask, чтобы обновить их.
Метаданные поля
Запросы, отправленные в 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 API одинаковы во всех поддерживаемых версиях Google Ads API (v23, v24, v25 и v26), но каталог ресурсов, сегментов, показателей и принципов работы отчетов, доступных для запросов, зависит от основной версии. Отправьте запрос к конечной точке GoogleAdsFieldService целевой версии API, чтобы проверить поля и правила совместимости для этой версии:
- Представление объектов дополнения конечного URL:
- Поддержка торговых кампаний (версия 26 и более поздние).
final_url_expansion_asset_viewподдерживает торговые кампании (campaign.advertising_channel_type = 'SHOPPING') в дополнение к кампаниям с максимальной эффективностью и поисковым кампаниям. В торговых кампаниях можно выбирать и фильтровать поляad_group, но нельзя выбирать поляasset_group. - Выбираемые показатели (v25 и более поздние версии). Запрос
final_url_expansion_asset_viewвозвращает все выбираемые показатели для представления. В версии 24 и более ранних версиях ответы содержат толькоmetrics.conversionsиmetrics.conversions_valueдля кампаний с максимальной эффективностью иmetrics.impressionsдля поисковых кампаний.
- Поддержка торговых кампаний (версия 26 и более поздние).
- Ресурсы целей по жизненному циклу. В версии 25 и более поздних все цели по жизненному циклу (привлечение новых клиентов, удержание клиентов и удержание участников программы лояльности) запрашиваются из унифицированных ресурсов
goalиcampaign_goal_config, которые заменяютcustomer_lifecycle_goalиcampaign_lifecycle_goal(использовавшиеся для целей привлечения новых клиентов в версии 24 и более ранних, наряду сgoalиcampaign_goal_configдля целей удержания клиентов). - Отчеты о товарах в кампаниях для приложений. В версии 24 и более поздних ресурс
shopping_productвозвращает строки товаров для кампаний для приложений, а также торговых кампаний, кампаний с максимальной эффективностью, кампаний для создания спроса и видеокампаний (в версии 23 кампании для приложений исключены из результатовshopping_product). - Ресурсы, сегменты и показатели, относящиеся к определенной версии:
- Версия 26 и более поздние. Включает ресурс
search_lift_keyword_bundle,campaign.lift_measurement_config,local_services_lead.campaign,segments.search_lift_keyword_bundle,segments.search_propertyи показатели Search Lift (например,metrics.relative_search_lift,metrics.normalized_incremental_searches,metrics.search_lift_cost_microsиmetrics.search_lift_impressions). - Версия 25 и более поздние. Включает ресурсы для измерения роста (например,
lift_measurement_config), сегменты, такие какsegments.ad_sub_format_typeиsegments.loyalty_membership, и показатели взаимодействия на YouTube (metrics.youtube_likes,metrics.youtube_commentsиmetrics.youtube_shares). Удален ресурсlocal_services_lead.contact_details.email(который можно выбрать в версии 24 и более ранних). - v24 и более поздние версии. Включает ресурс
cart_data_sales_view,segments.conversion_attribution_event_typeвshopping_performance_view,segments.mobile_device_platformиsegments.ad_network_typeвperformance_max_placement_view. Удаляетcampaign.video_brand_safety_suitability(заменяется наcustomer.video_brand_safety_suitability),segments.ad_sub_network_typeвcampaign_budgetиsegments.click_typeвad_group_asset,campaign_assetиcustomer_asset(которые можно выбрать только в v23).
- Версия 26 и более поздние. Включает ресурс
- Код ошибки при запросе подробных данных за период учета, превышающий 37 месяцев. Запросы, в которых сегментирование выполняется по полям
segments.date,segments.weekилиsegments.hour(или фильтрация выполняется по диапазону дат меньше месяца) за период, превышающий 37 месяцев, возвращают ошибкуDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDв версии 24 и более поздних (илиDateRangeError.UNKNOWNв версии 23). Подробнее о диапазонах дат…
Примеры кода
В клиентских библиотеках есть примеры использования языка запросов Google Рекламы в GoogleAdsService. В папке basic operations (основные операции) есть примеры GetCampaigns, GetKeywords и SearchForGoogleAdsFields.