• AdWords Scriptsは小さな定型処理をJavaScriptで自動化する

AdWords Scriptsは小さな定型処理をJavaScriptで自動化する

公開日: 執筆:佐藤

AdWords Scriptsは、AdWordsアカウント内にJavaScriptを保存し、クラウドで実行する自動化機能です。キャンペーン、広告グループ、広告、キーワードの取得や変更、統計の出力に使えます。

最初から入札変更や停止処理を書かず、対象を絞って統計を読む処理から始めます。取得対象、変更条件、一回に扱う上限を確認してから、変更処理とスケジュールを加える順序なら、自動化する範囲と運用責任を分けられます。

AdWords Scriptsはアカウント内に保存してクラウドで実行する

AdWords Scriptsの開発者向け説明は、JavaScriptで書いたスクリプトをAdWordsアカウントへ保存し、Google Apps Scriptの基盤上で実行すると説明しています。別のサーバーへプログラムを置かなくても、アカウント内から定型処理を動かせます。

対象にできる主な要素は、キャンペーン、広告グループ、広告、キーワードです。アカウント管理への利用例では、外部の在庫情報に応じた入札変更やキーワードの停止と再開、統計のスプレッドシート出力、複数週の傾向に応じた入札変更が挙げられています。Google Spreadsheets、Url Fetcher、メールもスクリプトから利用できます。

自動化する目的は、コードを置くことではありません。毎回同じ条件で対象を選び、同じ処理を繰り返せるようにすることです。条件の決まっていない判断までコードへ渡すと、手作業の迷いが自動実行へ移るだけです。

Selectorで対象と期間を先に絞る

AdWords Scriptsでは、Selectorで取得条件、並び順、件数、統計期間を指定できます。次は、前月にクリックがあったキーワードを最大50件取得し、キーワードの文字をログへ出す仮例です。実在するアカウントのコードではありません。

function main() {
  var keywords = AdWordsApp.keywords()
      .withCondition("Clicks > 0")
      .orderBy("Clicks DESC")
      .forDateRange("LAST_MONTH")
      .withLimit(50)
      .get();

  while (keywords.hasNext()) {
    var keyword = keywords.next();
    Logger.log(keyword.getText());
  }
}

Selectorの公式例では、withCondition()、orderBy()、withLimit()、forDateRange()を組み合わせて、統計を参照する対象を絞っています。上のコードには、入札、配信状態、広告文を変える処理がありません。

まず、読み取った対象が意図と一致するかを確認します。対象が合わない状態でpause()や入札変更を加えると、誤った選択条件がそのまま変更範囲になります。

変更処理は対象、条件、上限を固定してから加える

AdWords Scriptsは、キーワードや広告文の更新、入札変更、キーワードの停止と再開に使えます。一方で、キャンペーン、広告グループ、広告、キーワードを取得できることと、それらを一括で変更してよいことは別です。

たとえば、前月にクリックがありコンバージョンがないキーワードを停止する処理では、計測漏れ、集計期間、コンバージョンまでの時間差を確認する必要があります。「数値が条件に合った」という一つの理由だけで停止すると、計測の問題まで配信判断に変えてしまいます。

変更を加える前に、対象の条件、参照期間、一回の最大件数、変更内容、元へ戻す条件を決めます。変更前の値も、ログまたはスプレッドシートへ残します。コードを書いた人と、配信判断を承認する人が異なるなら、どちらが条件を決め、どちらが実行結果を確認するかも先に決めてください。

PreviewはAdWords内の変更だけを止める

保存したスクリプトは、すぐに実行する前にPreviewで確認できます。AdWords Scriptsの開始手順によると、Previewでは最初の30秒間の結果が表示され、その間はAdWordsアカウントへ変更を加えません。

ただし、Preview中でも、メール送信やスプレッドシート変更など、スクリプトが外部サービスへ行う処理は実行されます。Previewを「何も変更しない試運転」とは考えられません。外部処理には試験用の送信先とスプレッドシートを使い、本番データへ書き込まない状態で確認します。

Previewで確認できる時間にも限りがあります。対象の選択、ログ、外部処理を先に確認し、その後で件数を小さく限定した実行を行います。Previewの表示だけで、長い処理やスケジュール実行の完了まで保証されたとは判断しません。

スケジュール実行には停止条件と確認担当を付ける

AdWords Scriptsは、一回、毎日、毎週、毎月のスケジュールを設定できます。定期実行に向くのは、対象、条件、出力先、異常時の扱いを事前に決められる処理です。

スケジュールを設定する前に、手動実行で一回分を確認します。実行結果を見る担当、エラー時に止める担当、変更条件を更新する担当を決め、不要になったスクリプトとスケジュールを残さないようにします。

定期実行する処理へ、季節、在庫、広告方針など、担当者が判断しなければ確定しない条件を入れる場合は、その入力元と更新期限も必要です。自動化は確認作業をなくすものではなく、確認すべき場所をコード、ログ、入力データへ移します。

AdWords APIとは必要な機能で分ける

AdWords ScriptsはAdWords APIを置き換えるものではなく、補う機能です。開発者向け説明では、Scriptsは登録やdeveloper tokenを必要とせず、小さな処理や一回限りの作業に向く一方、すべての機能と設定を扱えるわけではないとしています。

Scriptsが対応する要素と操作で完結し、アカウント内に保存して運用できるなら、Scriptsから検討できます。必要な設定がScriptsへ公開されていない場合は、コードを複雑にして回避せず、AdWords APIを使う別の実装として判断します。

最初の一件は、統計を読むだけの処理にしてください。Selectorで期間と最大件数を限定し、Previewのログと外部処理を確認します。対象が正しいと確認できてから、一つの変更処理と、その変更を戻す条件を加えます。

戻る