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