选择器可帮助程序员构建用于提取所需 Google Ads 实体的查询。通过使用选择器,编程人员可以精简实体检索结果列表,并为其排序。大多数选择器提供以下方法:
withCondition()
- 向选择器添加条件。如果使用多个条件,这些条件会通过 AND 运算符组合在一起,换句话说,选择器只会返回满足所有指定条件的实体。
withIds()
- 添加一组 ID 作为条件。基于 ID 的条件将与所有其他条件进行 AND 运算。
forDateRange()
当条件或排序子句引用 Stats 字段(例如 Ctr 或 Impressions)时,需要使用 - 。如果您请求所有展示次数超过 100 的广告系列,Google Ads 脚本需要知道要查看的日期范围。
orderBy()
- 指定返回实体的排序顺序。
withLimit()
- 将返回的实体数量限制为指定值。它与
orderBy()
结合使用时特别有用,可用于提取“昨天获得最多展示次数的 10 个关键字”之类的信息。默认情况下,所有选择器都会将限制设置为 50,000。您可以通过手动指定限额来提高限额。
这些方法可以按任意顺序调用。一个例外是 orderBy()
,其中调用顺序确实很重要:对该方法的多次调用将指定多个排序子句,并且这些子句将按顺序应用。请考虑以下代码段:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
结果按 Clicks 降序排列,如果结果的“点击次数”值相同,则按“点击率”升序排序。
对选择器方法的调用可以链接在一起。以下代码
var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");
可以更紧凑地重写为:
var campaignSelector = AdsApp.campaigns()
.withCondition("metrics.clicks > 10")
.withCondition("metrics.impressions > 1000")
.orderBy("metrics.impressions DESC")
.forDateRange("YESTERDAY");
构造选择器后,可以通过调用 selector.get()
从中获取 Iterator。
如需有关高效使用选择器的提示和技巧,请参阅最佳实践。