ラベル

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

ユースケース

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

  • アカウントのリストを処理する
    • 代理店の場合は、水道業者のすべてのアカウントに plumber_accounts ラベルを適用できます。これにより、スクリプトによって、水道業者関連のキーワード(「緊急シャワー修理」など)が、それらのアカウントのすべてのキャンペーンにプッシュされます。
  • エンティティのリストを処理する
    • 週末にのみ有効にする一連のキーワードがある場合は、weekend_keywords ラベルを適用できます。スクリプトにより、金曜日に weekend_keywords を指定してすべてのキーワードを有効化する 月曜の朝に一時停止します
  • 複数の実行でエンティティを処理する
    • 30 分以内に処理できないエンティティが大量にある場合は、スクリプトで processed ラベルを作成し、すでに処理されているエンティティに適用できます。スクリプトを 1 時間ごとに実行するようにスケジュールを設定し、processed ラベルが適用されていないエンティティのみを処理します。
  • 2 段階の変更
    • スクリプトで大量の入札単価の変更を実行するのではなく、 キーワードに increase_bid_by_10% のラベルを付けると、 一致するキーワードを除外して ラベルを付けて確認し、満足のいく結果が得られたら入札単価を変更する 一括編集を使用します。
  • 柔軟な入札 <ph type="x-smartling-placeholder">
      </ph>
    • スクリプトでラベルを使用することで、入札単価の変更履歴を維持することができます。対象 スクリプトによってキーワードの入札単価が 20% 引き上げられた場合、 「increased_20%」というラベルが付いているアカウントです。翌日、スクリプトがラベル全体で実行され、入札単価がすでに引き上げられていることが判明した場合、入札単価は 10% しか引き上げられない可能性があります。
  • 品質スコアのトラッキング <ph type="x-smartling-placeholder">
      </ph>
    • スクリプトで重要なキーワードに品質スコアのラベルを付けて、 品質スコアが下がっているキーワードを定期的にチェックしてレポートを作成します 一致します。

アカウント単位のラベル

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 広告 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_ANY、 ラベルリソース名でフィルタするための CONTAINS_NONE 演算子。