标签

借助标签,您可以将账号中的元素整理成对您而言有意义的分组,快速过滤和报告您最感兴趣的数据。Google Ads 脚本支持在账号广告系列广告组广告关键字一级使用标签。

使用场景

在 Google Ads 账号中,标签可用于将任意数据与 Google Ads 实体相关联。在经理账号中,标签可用于对类似的子账号进行分组。标签有助于实现多种用例:

  • 处理账号列表
    • 如果您是代理机构,则可以将 plumber_accounts 标签应用于所有水管工账号,然后脚本便可将与水管工相关的关键字(例如“紧急淋浴维修”)推送到这些账号中的所有广告系列。
  • 处理实体列表
    • 如果您有一组关键字只想在周末启用,则可以为其应用 weekend_keywords 标签。然后,脚本就可以在周五晚上使用 weekend_keywords 启用所有关键字,并在周一早上将其暂停。
  • 跨多个运行处理实体
    • 如果您有大量实体无法在 30 分钟内处理完毕,则可以在脚本中创建 processed 标签,并将其应用于已处理的实体。将脚本安排为每小时运行一次,然后仅处理未应用 processed 标签的实体。
  • 两步更改
    • 您可以使用 increase_bid_by_10% 为关键字添加标签,然后登录 Google Ads 界面,滤除与标签匹配的关键字,对其进行检查,如果对结果满意,则使用批量修改更改其出价,而无需让脚本对大量关键字执行出价更改。
  • 灵活出价
    • 脚本可以利用标签来维护出价更改历史记录。例如,当脚本将关键字出价提高 20% 时,它可以使用标签 increased_20% 标记账号。在第二天,当脚本针对该标签运行时,如果发现之前已提高出价,则只能将出价提高 10%。
  • 质量得分跟踪
    • 脚本可以为重要关键字及其质量得分添加标签,然后定期检查质量得分不再与标签相符的关键字并生成报告。

账户级别的标签

借助 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();
}

报告

在为 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_ALLCONTAINS_ANYCONTAINS_NONE 运算符按标签资源名称进行过滤。