AdWords scriptsのHello World

では手始めに, Hello Worldからやってみましょう. Hello Worldとは, プログラミング言語の勉強をする際に一番最初に出てくる項目の1つで, 画面上に「Hello World」という文字を出力させるだけのプログラムになります.

これだけではつまらないですが, プログラミングの世界はここから始まるものだと思っていただければと思います. 出力先は, ログにします. 単に固定文字列を表示させるだけでは面白く無いので, 実行しているアカウントの名前を表示させてみることにします.

AdWordsの管理画面から, 「一括処理」→「スクリプト」を選び, 「スクリプトの追加」ボタンをクリックしましょう. するとスクリプトのエディタ画面が開きます. エディタ部分に下記の処理を書き込み, 「アクセス許可」と保存をした上で, 「プレビュー」を押して実行してみましょう.

adwords-hello_world.js
function main() {
  var currentAccount = AdWordsApp.currentAccount();
  Logger.log("Hello, " + currentAccount.getName());
}

"Hello"の文字列とともに, 実行しているアカウントのアカウント名が表示されたかと思います.

いろいろできるAdWords Scripts

Google Apps Scriptを触ったことのある方であれば、既に気づいた方もいらっしゃるかと思いますが, AdWords ScriptsはGoogleのApps Scriptsの一部となっています. Apps ScriptsはJavaScriptベースなので, 処理の書き方などはJavaScriptの文法がそのまま使えます.

AdWords Scriptの充実したレファレンスは, https://developers.google.com/adwords/scripts/docs/reference/adwordsapp/index から見ることができます. ただ, 英語版しかなく, いきなりリファレンスを見ても, と思われる方は, 先ほどのスクリプトの編集画面にある「サンプルを表示」ボタンをクリックしてみるといいでしょう. いくつかの目的別にサンプルコードを見ることができるようになっています. またサンプルの目的もひと通りのニーズを満たせるようなものになっているので, 最初はこのサンプルコードを参考にして, これでは物足りなくなったときにリファレンスを見ればいいかと思います.

キャンペーンの統計情報の取得

getCampaignStats.js
function getCampaignStats() {
  var campaignIterator = AdWordsApp.campaigns().get();
  while(campaignIterator.hasNext()) {
    var campaign = campaignIterator.next();
    var stats = campaign.getStatsFor("LAST_MONTH");
    Logger.log(campaign.getName() + "¥t" + stats.getClicks() + "clicks¥t" + stats.getImpressions() + "imp");
  }
}

キャンペーン情報を取得し, Iteratorでループしながら, それぞれのキャンペーンの統計情報を取得しつづログ出力します. キャンペーン以外にも, 広告グループや, 広告, キーワードでも同様の方法で統計情報を取得できます.

カスタムレポートをスプレッドシートに出力する

exportReportToSpreadsheet.js
function exportReportToSpreadsheet() {
  var spreadsheet = SpreadsheetApp.create("INSERT_REPORT_NAME_HERE");
  var report = AdWordsApp.report(
    'SELECT CampaignName, Clicks, Impressions, Cost ' +
    'FROM   CAMPAIGN_PERFORMANCE_REPORT ' +
    'WHERE  Impressions < 10 ' +
    'DURING LAST_30_DAYS');
  report.exportToSheet(spreadsheet.getActiveSheet());
}

スプレッドシートを新規に作成して, SQL文に似たクエリを発行して, 作成したスプレッドシートにエクスポートするだけという超カンタンなスクリプトでできちゃいます. 取得する列を変更するときは, SELECTの行の後ろにカンマ区切りで取得したいものをつなげていけばOKです. また, キャンペーンレポートではなく, 別のレポートにしたい場合は, FROMの部分を変えてあげればOKです.

JavaScriptについての勉強

ここまで、AdWords Scriptの簡単な書き方について書いてみました。ただし、リスティング広告を運用している方の多くは、プログラミングの経験がない方が多く、どのようにプログラムを書いたらいいか分からない、という方もいるかと思います。そんな方のために、JavaScriptの入門に良さそうなサイトをいくつかまとめてみました。

初心者のためのJavaScript講座

http://www.pori2.net/js/

目次を見るとたくさん覚えなければいけないように思ってしまいがちですが、目的を絞って「AdWords Scriptの開発のための基礎知識」「リスティング広告運用のためのタグの簡易的なカスタマイズ」のために勉強するのであれば「初心者のためのJavaScript講座」の目次上の

  • JavaScript基本編
  • 数値&文字列編
  • 日付と時刻
  • cookie
  • イベント関係

だけで十分かと思います。「AdWords Scriptの開発のための基礎知識」だけに絞ってしまえば、

  • JavaScript基本編
  • 数値&文字列編
  • 日付と時刻

だけで十分でしょう。

ドットインストール

エンジニアからの人気の高いドットインストールで勉強するなら、http://dotinstall.com/lessons/basic_javascript_v2 の講座がいいかもしれません。

これなら1回3分以内の動画で勉強することができます。全24回を全部聞くだけなら1時間ちょっとで終わります。これも目的を「AdWords Scriptの開発のための基礎知識」「リスティング広告運用のためのタグの簡易的なカスタマイズ」に絞ってしまえば、#11や#15、#22〜#23は飛ばしてしまってもいいかもしれません(とはいってもどれも3分の動画なので、動画を見るくらいはしてしまってもいいかも)。

まとめ

2014年の年末のSEM LABOの記事今後1年間でリスティング広告の代理店や専門家の80%はアルゴリズムによって置き換えられます。にもあるように、2015年はリスティング広告運用プレイヤーがアルゴリズム・自動化・プログラム化に対して、きちんと向き合っていかないといけない年になるでしょう。そうしたときに、AdWords Scriptを知っているか否かは大きな差になるかもしれません。

AdWords Scriptを勉強してみたい方、いらっしゃいましたら、お問合せいただければ、サポートさせていただきます。