Google Ads 查询语言可查询以下内容的 Google Ads API:
- 使用以下各项的资源及其相关属性、细分和指标
GoogleAdsService
Search 或 SearchStream- GoogleAdsService 查询的结果是
GoogleAdsRow
实例的列表,其中每个GoogleAdsRow
代表一个资源。如果请求了任何属性或指标,则该行还将包含这些字段。如果请求了任何细分,则响应中还会针对每个细分-资源元组显示一行额外数据。 - 有关以下各项中可用字段和资源的元数据
GoogleAdsFieldService
此服务提供可查询字段的目录,其中包含有关其兼容性和类型的详细信息。
GoogleAdsFieldService
查询的结果是GoogleAdsField
实例的列表,其中每个GoogleAdsField
都包含请求的字段的详细信息。
查询资源的属性
以下是对广告系列资源属性的基本查询,展示了如何返回广告系列 ID、名称和状态:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
此查询按广告系列 ID 排序。每个生成的 GoogleAdsRow
都代表一个填充了选定字段(包括给定广告系列的 resource_name
)的 campaign
对象。
如需了解还有其他哪些字段可用于广告系列查询,请参阅 Campaign
参考文档。
查询指标
除了为给定资源选择的属性之外,您还可以查询相关指标:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
此查询仅过滤出状态为 PAUSED
且按广告系列 ID 排序时展示次数超过 1000 次的广告系列。每个生成的 GoogleAdsRow
都包含一个填充了所选指标的 metrics
字段。
如需查看可查询指标的列表,请参阅 Metrics
文档。
查询细分
除了为给定资源选择的属性之外,您还可以查询相关细分:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date,
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date during LAST_30_DAYS
ORDER BY campaign.id
与查询指标类似,此查询仅过滤出状态为 PAUSED
且展示次数超过 1000 次的广告系列;不过,此查询会按日期对数据进行细分。这样一来,每个生成的 GoogleAdsRow
都会表示广告系列和日期 Segment
的元组。请务必注意,细分会拆分所选指标,按 SELECT 子句中的每个细分进行分组。
如需查看可查询细分的列表,请参阅 Segments
文档。
查询关联资源的属性
在查询给定资源时,您或许可以联接到其他相关资源(如果有)。这些相关资源称为“归因资源”。您可以在查询中选择属性,以便隐式联接到归因资源。
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
此查询不仅会选择广告系列属性,还会从所选的每个广告系列中提取相关属性。每个生成的 GoogleAdsRow
代表一个 campaign
对象,其中填充了所选的广告系列属性以及所选的出价策略属性 bidding_strategy.name
。
如需了解哪些归因资源可用于广告系列查询,请参阅 Campaign
参考文档。
根据查询结果进行更改
查询给定资源时,您可以立即将返回的结果视为对象,对其进行修改,并将其发回给该资源服务中的 mutate 方法。以下是一个示例工作流程:
- 针对当前处于
PAUSED
状态且展示次数超过 1000 的所有广告系列执行查询。 - 从响应中每个
GoogleAdsRow
的campaign
字段中获取Campaign
对象。 - 将每个广告系列的状态从
PAUSED
更改为ENABLED
。 - 使用修改后的广告系列调用
CampaignService.MutateCampaigns
进行更新。
字段元数据
发送到 GoogleAdsFieldService
的查询用于检索字段元数据。您可以利用这些信息了解如何在查询中将这些字段搭配使用。由于 API 提供数据,并且提供验证或构建查询所需的必要元数据,因此开发者可以通过编程方式执行此操作。以下是典型的元数据查询:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
您可以将此查询中的 <INSERT_RESOURCE_OR_FIELD>
替换为资源(例如 customer
或 campaign
)或字段(例如 campaign.id
、metrics.impressions
或 ad_group.id
)。
如需查看可查询字段的列表,请参阅 GoogleAdsField
文档。
代码示例
客户端库提供了有关如何在 GoogleAdsService
中使用 Google Ads 查询语言的示例。基本操作文件夹中也包含了各种示例,例如 GetCampaigns
、GetKeywords
和 SearchForGoogleAdsFields
。