您可以使用 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
可在 - 段键(
segments.*字段和细分资源)。这些字段用于细分查询中指定的指标。仅针对category为RESOURCE的字段进行填充。 selectableWith- 当相应资源或细分不是
FROM子句中的主要资源时,可在同一 Google Ads 查询语言查询中选择的资源、细分或指标。
FROM 子句中与资源一起选择的 使用 selectableWith 查询兼容性
资源或细分字段的 selectableWith 属性用于指定可在同一 Google Ads 查询语言查询中选择的其他资源、细分或指标。如果您想纳入未在 FROM 子句中指定的资源或细分的字段,此属性至关重要。
构建 Google Ads 查询语言查询时:
FROM子句中的资源是主要实体。您可以随时从此资源中选择字段。- 您还可以选择与主要实体兼容的指标和细分。
- 如果您在
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。