ラベル

ラベルを使用すると、アカウント内の要素を意味のあるグループに分類できるため、関心のあるデータをすばやくフィルタしてレポートできます。Google 広告 スクリプトでは、アカウントキャンペーン広告グループ広告キーワード単位のラベルがサポートされています。

使用例

Google 広告アカウント内では、ラベルを使用して任意のデータを Google 広告エンティティに関連付けることができます。MCC アカウントでは、ラベルを使用して同様の子アカウントをグループ化できます。ラベルはさまざまなユースケースに役立ちます。

  • アカウントのリストを処理する
    • 代理店の場合は、配管工のすべてのアカウントに plumber_accounts ラベルを適用し、スクリプトを使用して配管工に関連するキーワード(「緊急シャワー修理」など)をそれらのアカウントのすべてのキャンペーンにプッシュできます。
  • エンティティのリストを処理する
    • 複数のキーワードを週末のみに有効にする場合は、weekend_keywords ラベルを適用します。この場合、スクリプトを使用して、weekend_keywords を含むすべてのキーワードを金曜日の夜に有効化し、月曜日の朝に一時停止することができます。
  • 複数回の実行でエンティティを処理する
    • 30 分以内に処理できないエンティティが多数ある場合は、スクリプトに processed ラベルを作成し、すでに処理されたエンティティに適用できます。スクリプトが 1 時間ごとに実行されるようにスケジュールし、processed ラベルが適用されていないエンティティのみを処理します。
  • 2 段階の変更
    • スクリプトで多数のキーワードに対する入札単価の変更を実行する代わりに、increase_bid_by_10% を使用してキーワードにラベルを付け、Google 広告 UI にログインして、ラベルに一致するキーワードをフィルタで除外します。結果に問題がなければ、一括編集を使用して入札単価を変更します。
  • 柔軟な入札
    • スクリプトでラベルを使用することで、入札単価の変更履歴を維持することができます。たとえば、スクリプトによってキーワードの入札単価が 20% 引き上げられた場合に、アカウントに increased_20% というラベルのマークを付けることができます。翌日、スクリプトがラベル全体で実行され、すでに入札単価が引き上げられていることが判明した場合、引き上げ率はわずか 10% でした。
  • 品質スコアのトラッキング
    • スクリプトを使用して、重要なキーワードに品質スコアのラベルを付け、品質スコアがラベルと一致しなくなったキーワードを定期的にチェックしてレポートを作成できます。

アカウント単位のラベル

Google 広告スクリプトを使用すると、MCC アカウント内にラベルを作成したり、MCC アカウント内の Google 広告アカウントにラベルを適用したりできます。

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();

スクリプトを 1 回実行して複数のアカウントを処理する方法について詳しくは、MCC アカウントのスクリプト ガイドをご覧ください。

アカウント内のラベル

ラベルを作成して、アカウントのキャンペーン広告グループ広告キーワードに適用できます。キャンペーンにラベルを適用する方法は次のとおりです。

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 広告アカウントのパフォーマンス レポートを実行するときに、ラベル リソース名を使用してエンティティをフィルタリングできます。リソース名は 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 演算子のみです。