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

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

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