Вы можете использовать метод GoogleAdsFieldService (через GetGoogleAdsField или SearchGoogleAdsFields), чтобы динамически запрашивать каталог ресурсов, поля ресурсов, ключи сегментирования и показатели, доступные в методах GoogleAdsService Search и SearchStream. Каталог содержит метаданные, которые клиенты Google Ads API могут использовать для проверки и создания операторов языка запросов Google Рекламы.
Пример HTTP-запроса и ответа
Запрос состоит из HTTP GET к серверу Google Ads API по следующему URL:
https://googleads.googleapis.com/v25/googleAdsFields/{resource_or_field}
В примере ниже показан запрос и ответ, полученный от GoogleAdsFieldService для ресурса ad_group:
Запрос
https://googleads.googleapis.com/v25/googleAdsFields/ad_group
Ответ
{
"resourceName": "googleAdsFields/ad_group",
"name": "ad_group",
"category": "RESOURCE",
"selectable": false,
"filterable": false,
"sortable": false,
"selectableWith": [
"campaign",
"customer",
"metrics.average_cpc",
"segments.device"
],
"attributeResources": [
"customer",
"campaign"
],
"metrics": [
"metrics.conversions",
"metrics.search_budget_lost_impression_share",
"metrics.average_cost",
"metrics.clicks"
],
"segments": [
"segments.date",
"segments.ad_network_type",
"segments.device"
]
}
В этом примере важными являются следующие массивы:
attributeResources- Ресурсы, которые можно неявно присоединить к ресурсу в предложении
FROMбез сегментирования показателей. Заполняется только для полей, где значениеcategory–RESOURCE. metrics- Показатели, которые можно выбрать вместе с ресурсом в
FROMпредложении. Заполняется только для полей, где значениеcategory–RESOURCE. segments- Ключи сегментов (поля
segments.*и ресурсы сегментирования), которые можно выбрать вместе с ресурсом в предложенииFROM. Они сегментируют показатели, указанные в запросе. Заполняется только для полей, гдеcategory– этоRESOURCE. selectableWith- Ресурсы, сегменты или показатели, которые можно выбрать в одном запросе на языке запросов Google Рекламы, если этот ресурс или сегмент не является основным ресурсом в предложении
FROM.
Запрос совместимости с selectableWith
Атрибут selectableWith в поле ресурса или сегмента указывает на другие ресурсы, сегменты или показатели, которые можно выбрать в том же запросе на языке запросов Google Рекламы.
Этот атрибут необходим, если вы хотите включить поля из ресурса или сегмента, не указанного в предложении FROM.
При создании запроса на языке запросов Google Рекламы:
- Ресурс в предложении
FROMявляется основным объектом. Вы всегда можете выбрать поля из этого ресурса. - Вы также можете выбрать совместимые показатели и сегменты, доступные для основного объекта.
- Если вы включаете поля из любого ресурса или сегмента вне конструкции
FROM, убедитесь, что этотFROMресурс или сегмент совместим со всеми другими полями, сегментами и показателями, выбранными в запросе.
Список selectableWith для определенного ресурса (Ресурса А) содержит все остальные ресурсы, сегменты и показатели, которые можно выбрать вместе с полями из Ресурса А, если Ресурс А не является основным объектом.
Пример
Рассмотрим следующий запрос:
SELECT ad_group.id, segments.date, campaign.name FROM ad_group
- Предложение
FROMзадаетad_group. - Этот запрос выбирает
ad_group.id(из ресурсаFROM),segments.dateиcampaign.name. - Поскольку выбран вариант
campaign.name, но вариантcampaignотсутствует в конструкцииFROM, необходимо проверить его совместимость с другими выбранными элементами. - Чтобы этот запрос был действительным, ресурс
campaignдолжен быть совместим сsegments.date(другим выбранным полем). Поэтому вам необходимо проверить атрибутselectableWithдля ресурсаcampaign. Если элементsegments.dateприсутствует в спискеselectableWithобъектаcampaign, запрос действителен.
Если вы выбираете поля из ресурса, которого нет в условии FROM, список selectableWith этого ресурса должен включать все остальные сегменты и ресурсы, присутствующие в условии SELECT.
Сведения о метаданных
Вы можете запросить каталог с помощью GoogleAdsFieldService (по названию ресурса с помощью GetGoogleAdsField или с помощью запроса SearchGoogleAdsFields) на следующих уровнях: GoogleAdsFieldCategory.
- Ресурс (
RESOURCE) - Например,
googleAdsFields/campaign. - Атрибут ресурса (
ATTRIBUTE) - Например,
googleAdsFields/campaign.name. - Поле сегментирования (
SEGMENT) - Например,
googleAdsFields/segments.ad_network_type. - Показатель (
METRIC) - Например,
googleAdsFields/metrics.clicks.