標籤

標籤可將帳戶中的元素分類為有意義的群組,方便您快速篩選所需資料並製作相關報表。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 方法擷取標籤的資源名稱。

下列程式碼片段說明如何為所有標有「Christmas promotions」的廣告活動執行廣告活動報表

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 運算子,依標籤資源名稱進行篩選。