新的 Google Ads 脚本基础架构以 Google Ads API 为基础。由于该 API 的架构不同,您可能需要更新现有脚本。我们已尽最大努力确保尽可能实现向后兼容,因此这些更改应该很小。
报告
许多 AWQL 报告将继续正常运行。在使用新基础架构时,脚本会在后台将您的 AWQL 查询转换为 GAQL(Google Ads API 的新查询语言),针对新后端运行该查询,然后将结果转换回 AWQL 报告原来使用的格式。使用 GAQL 的查询将按原样传递。
鉴于此开销,我们建议您检查脚本,并尽可能将 AWQL 查询更新为 GAQL 查询。您可以使用查询迁移工具,该工具使用与脚本相同的逻辑来确定给定 AWQL 查询的 GAQL 查询;也可以使用交互式查询构建器来帮助构建查询。
自动将 AWQL 转换为 GAQL 时存在以下限制:
- 并非所有 AWQL 查询都能直接转换为 GAQL 查询。在这些情况下,系统会记录一条包含有关错误详情的错误消息,以便您手动修正错误。
- GAQL 不支持 AWQL 中的所有报告类型。
- GAQL 不支持“零展示次数行”。如果指定报告应包含零展示次数,则会导致错误。
- 一些不确定的字段无法在过滤条件中使用。例如,“标题”可以引用任意数量的不同广告字段。
- 某些字段可能会以不同的格式返回结果,例如将一个结果拆分为多个列。
整理选择器
使用脚本提取资源时,使用 withCondition
和 orderBy
调用对迭代器中的结果进行限制或排序是相当常见的。这些调用中的字段现在使用新的 Google Ads API 名称。例如,以前,若要按广告系列名称进行过滤,您需要使用以下命令:
.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')
现在,您应尽可能为以下条件使用新字段名称:
.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')
不过,我们已尽力添加旧名称与新名称的映射,因此,如果您的脚本仍使用 CampaignName
,系统会在运行时自动将其替换为 campaign.name
,以确保脚本仍能正常运行。如果您遇到旧版名称的任何问题,请先更新脚本以使用新版名称,这也是问题排查的第一步。
限制
许多限制与旧基础架构上的限制相同,在此处所做的更改通常有助于提升性能。
- 时间限制相同。脚本的执行时间可能为 30 分钟。
- 默认情况下,单个迭代器会返回 50,000 个实体,但可以替换该值。以前,此 5 万个上限无法自定义。
- 单个选择器最多可以处理 10,000 个 ID(不变)。
- 新基础架构对单个脚本中可处理的实体数量没有限制。之前的上限为 25 万。
- 新基础架构对每次执行时可创建的关键字或广告数量没有限制。之前的上限为 25 万。
- 日志输出在 100kb 后被截断(未更改)。
- Apps 脚本服务(SpreadsheetApp、MailApp 等)的配额保持不变。
- Google Ads 配额将按您使用 API 时的规则强制执行。也就是说,您的脚本将受到 API 速率限制的约束,但这样可以更灵活地访问更多报告或在每次执行时进行更多更改。
其他变更
由于这些配额在新版中不再适用,ExecutionInfo
不再显示 getRemainingCreateQuota()
或 getRemainingGetQuota()
。