Метаданные ресурса

Вы можете использовать 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-запроса:

  1. Ресурс в предложении FROM является основной сущностью. Вы всегда можете выбирать поля из этого ресурса.
  2. Вы также можете выбрать совместимые метрики и сегменты, доступные для основного объекта.
  3. Если вы включаете поля из любого ресурса или сегмента, не входящего в предложение 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 .