利用标签,您可以将帐号中的元素整理成有意义的分组,从而快速过滤和报告您最感兴趣的数据。Google Ads 脚本支持帐号、广告系列、广告组、广告和关键字级别的标签。
用例
在 Google Ads 帐号中,可以使用标签将任意数据与 Google Ads 实体相关联。在经理帐号中,可以使用标签对类似的子帐号进行分组。标签适用于许多使用场景:
- 处理帐号列表
- 如果您是一家代理机构,可以将
plumber_accounts
标签应用于管道工的所有帐号,然后脚本便可将与管道工相关的关键字(例如“紧急淋浴房维修”)推送到这些帐号中的所有广告系列。
- 如果您是一家代理机构,可以将
- 处理实体列表
- 如果您有一组关键字只想在周末启用,您可以为这些关键字应用
weekend_keywords
标签。然后,脚本可以在周五晚上启用所有具有weekend_keywords
的关键字,并在周一早上暂停这些关键字。
- 如果您有一组关键字只想在周末启用,您可以为这些关键字应用
- 在多次运行期间处理实体
- 如果实体数量太多,无法在 30 分钟内处理完毕,则可以在脚本中创建
processed
标签,并将其应用于已处理的实体。将脚本设为每小时运行一次,然后只处理未应用processed
标签的实体。
- 如果实体数量太多,无法在 30 分钟内处理完毕,则可以在脚本中创建
- 两步更改
- 您不用让脚本对大量关键字执行出价更改,而是可以使用
increase_bid_by_10%
标记关键字,登录 Google Ads 界面,过滤出与标签匹配的关键字,检查这些关键字,如果对结果满意,就可以通过批量修改更改它们的出价。
- 您不用让脚本对大量关键字执行出价更改,而是可以使用
- 灵活出价
- 脚本可以利用标签来维护出价更改历史记录。例如,当某个脚本将某个关键字出价提高 20% 时,该脚本可以使用
increased_20%
标签来标记该帐号。第二天,当脚本跨过该标签运行,并意识到之前已经提高了出价时,它可能只会将出价提高 10%。
- 脚本可以利用标签来维护出价更改历史记录。例如,当某个脚本将某个关键字出价提高 20% 时,该脚本可以使用
- 质量得分跟踪
- 脚本可以用质量得分标记重要的关键字,然后定期检查并报告质量得分不再与该标签匹配的关键字。
账户级别的标签
使用 Google Ads 脚本,您可以在经理帐号中创建标签,并将标签应用到该经理帐号下的 Google Ads 帐号:
const labelName = 'High spending accounts';
AdsManagerApp.createAccountLabel(labelName);
您可以使用 applyLabel
方法将标签应用于您选择的帐号:
const accountIds = ['123-456-7890', '345-6789-2100'];
const labelName = 'High spending accounts';
const accounts = AdsManagerApp.accounts().withIds(accountIds).get();
for (const account of accounts) {
account.applyLabel(labelName);
}
同样,您也可以使用 removeLabel
方法移除帐号的标签:
const accountIds = ['123-456-7890', '345-6789-2100'];
const labelName = 'High spending accounts';
const accounts = AdsManagerApp.accounts().withIds(accountIds).get();
for (const account of accounts) {
account.removeLabel(labelName);
}
帐号标签的最常见用途是处理共享同一帐号标签的一组帐号:
const labelName = 'High spending accounts';
const accounts = AdsManagerApp.accounts()
.withCondition(`LabelNames CONTAINS "${labelName}"`)
.get();
请参阅我们的经理帐号脚本指南,详细了解如何在单次脚本执行中处理多个帐号。
账户内的标签
您可以创建标签并将其应用于帐号的广告系列、广告组、广告和关键字。将标签应用到广告系列的方法如下:
const campaign = AdsApp.campaigns()
.withCondition('campaign.name = "My first campaign"').get().next();
campaign.applyLabel('High performing campaign');
同样,您也可以使用 removeLabel
方法移除标签:
const campaign = AdsApp.campaigns()
.withCondition('campaign.name = "My first campaign"').get().next();
campaign.removeLabel('High performing campaign');
标签最常用于处理按标签组合在一起的一组类似实体。以下代码段展示了如何暂停共享同一标签的一组广告系列:
const label = AdsApp.labels()
.withCondition('label.name = "Christmas promotions"')
.get().next();
var campaignIterator = label.campaigns().get();
for (const campaign of campaignIterator) {
campaign.pause();
}
Reporting(报告)
为 Google Ads 帐号生成效果报告时,您可以使用标签资源名称来过滤实体。资源名称是 Google Ads API 中的一个概念,有时在通过 GAQL 生成报告时用到。标签资源名称始终采用以下格式:
customers/[customer id]/labels/[label id]
您可以使用标签的 getResourceName
方法提取标签的资源名称。
以下代码段展示了如何为所有带“春节促销”标签的广告系列生成广告系列报告:
const label = AdsApp.labels()
.withCondition("label.name = 'Christmas promotions'")
.get().next();
const query = `SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost ` +
`FROM campaign WHERE campaign.labels CONTAINS ANY ` +
`["${label.getResourceName()}"] AND segments.date DURING THIS_MONTH`;
const result = AdsApp.search(query);
请注意,您只能使用 CONTAINS_ALL
、CONTAINS_ANY
和 CONTAINS_NONE
运算符按标签资源名称进行过滤。