资源元数据

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

示例 HTTP 请求和响应

该请求包含对以下网址处的 Google Ads API 服务器发出的 HTTP GET:

https://googleads.googleapis.com/v25/googleAdsFields/{resource_or_field}

以下示例展示了请求以及 GoogleAdsFieldService 针对 ad_group 资源返回的响应:

请求

https://googleads.googleapis.com/v25/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 子句中的所有其他细分和资源。

元数据详情

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

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