Вы можете использовать GoogleAdsFieldService (через GetGoogleAdsField или SearchGoogleAdsFields), чтобы динамически запрашивать каталог ресурсов, полей ресурсов, ключей сегментации и показателей, доступных в методах GoogleAdsService Search и SearchStream. Каталог содержит метаданные, которые могут использоваться клиентами Google Ads API для проверки и создания запросов на языке Google Ads Query Language.
Пример HTTP-запроса и ответа
Запрос состоит из HTTP GET к серверу Google Ads API по следующему URL:
https://googleads.googleapis.com/v26/googleAdsFields/{resource_or_field}
Ниже приведен пример запроса и ответа, возвращенного GoogleAdsFieldService для ресурса ad_group.
Запрос
https://googleads.googleapis.com/v26/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.