资源元数据

您可以使用 GoogleAdsFieldService(通过 GetGoogleAdsField 或 SearchGoogleAdsFields)动态请求 GoogleAdsService Search 和 SearchStream 方法中可用的资源、资源字段、细分键和指标的目录。该目录提供元数据,Google Ads API 客户端可以使用这些元数据来验证和构建 Google Ads 查询语言语句。

示例 HTTP 请求和响应

该请求包含一个发送到 Google Ads API 服务器的 HTTP GET,网址如下:

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
可与 FROM 子句中的资源一起选择的细分键(segments.* 字段和细分资源)。这些字段用于对查询中指定的指标进行细分。仅针对 category 为 RESOURCE 的字段进行填充。
selectableWith
当此资源或细分不是 FROM 子句中的主要资源时,可在同一 Google Ads 查询语言查询中选择的资源、细分或指标。

使用 selectableWith 查询兼容性

资源或细分字段上的 selectableWith 属性指定了可在同一 Google Ads 查询语言查询中选择的其他资源、细分或指标。如果您想添加未在 FROM 子句中指定的资源或细分中的字段,此属性至关重要。

构建 Google Ads 查询语言查询时:

  1. FROM 子句中的资源是主要实体。您始终可以从此资源中选择字段。
  2. 您还可以选择与主要实体兼容的可用指标和细分。
  3. 如果您添加了 FROM 子句之外的任何资源或细分中的字段,则必须确保此非 FROM 资源或细分与查询中选择的所有其他字段、细分和指标兼容。

特定资源(资源 A)的 selectableWith 列表包含所有其他资源、细分和指标,当资源 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(所选的另一个字段)兼容。因此,您必须检查 campaign 资源的 selectableWith 属性。如果 segments.date 存在于 campaign 的 selectableWith 列表中,则查询有效。

如果您从不在 FROM 子句中的资源中选择字段,则该资源的 selectableWith 列表必须包含 SELECT 子句中存在的所有其他细分和资源。

元数据详情

您可以使用 GoogleAdsFieldService(通过 GetGoogleAdsField 的资源名称或通过 SearchGoogleAdsFields 查询)在以下 GoogleAdsFieldCategory 级别请求目录:

资源 (RESOURCE)
例如,googleAdsFields/campaign。
资源属性 (ATTRIBUTE)
例如,googleAdsFields/campaign.name。
细分字段 (SEGMENT)
例如,googleAdsFields/segments.ad_network_type。
指标 (METRIC)
例如,googleAdsFields/metrics.clicks。