Вы можете использовать GoogleAdsFieldService для динамического запроса каталога ресурсов, полей ресурсов, ключей сегментации и метрик, доступных в методах GoogleAdsService Search и SearchStream . Каталог предоставляет метаданные, которые могут использоваться клиентами Google Ads API для проверки и построения операторов языка запросов Google Ads.
Пример HTTP-запроса и ответа
Запрос представляет собой HTTP GET к серверу Google Ads API по следующему URL-адресу:
https://googleads.googleapis.com/v23/googleAdsFields/{resource_or_field}
В следующем примере показан запрос, за которым следует ответ, полученный от GoogleAdsFieldService для ресурса ad_group :
Запрос
https://googleads.googleapis.com/v23/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. -
metrics - Метрики, которые можно выбрать вместе с ресурсом в предложении
FROM. Заполняются только для полей,categoryкоторых —RESOURCE. -
segments - Ключи сегментации, которые можно выбрать вместе с ресурсом в предложении
FROM. Эти ключи сегментируют метрики, указанные в запросе. Заполняются только для полей,categoryкоторых —RESOURCE. -
selectableWith Атрибут
selectableWithполя ресурса или сегмента указывает другие ресурсы, сегменты или метрики, которые могут быть выбраны в том же запросе GAQL. Этот атрибут имеет решающее значение, если вы хотите включить поля из ресурса или сегмента, которые не указаны в предложенииFROM.При построении GAQL-запроса:
- Ресурс в предложении
FROMявляется основной сущностью. Вы всегда можете выбирать поля из этого ресурса. - Вы также можете выбрать совместимые метрики и сегменты, доступные для основного объекта.
- Если вы включаете поля из любого ресурса или сегмента, не входящего в предложение
FROM, необходимо убедиться, что этот ресурс или сегмент, не входящийFROM, совместим со всеми другими полями, сегментами и метриками, выбранными в запросе.
- Ресурс в предложении
Список
selectableWithдля конкретного ресурса (назовем его Ресурс A) содержит все остальные ресурсы, сегменты и метрики, которые можно выбрать вместе с полями из Ресурса A, когда Ресурс A не является основным объектом.Пример:
Рассмотрим следующий пример запроса:
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 на следующих уровнях:
- Ресурс
- Например,
googleAdsFields/campaign. - Ресурсная область
- Например,
googleAdsFields/campaign.name. - Поле сегментации
- Например,
googleAdsFields/segments.ad_network_type. - Метрика
- Например,
googleAdsFields/metrics.clicks.