こんにちは。サーバーサイドエンジニアの杉浦です。
今回は、Google広告(旧:GoogleAdWords)のデータをGoogle Ads Scripts (旧Google AdWords Scripts)を使ってスプレッドシートに出力する方法をご紹介したいと思います。

Google Ads Scriptsとは

Google Ads Scriptsはブラウザベースの IDE で、シンプルな JavaScript を使うことで Google広告 データを取得したり、制御することが出来ます。
Google広告のデータをエクセルでレポートにしている方が多いかと思いますが、Google Ads Scriptsを使うとレポートの作成を自動化することも可能です。
詳細は公式HPをご参照ください。

前提

Google広告を運用しているGoogleアカウントがあること

入門内容

Google Ads Scriptsを作成してみよう

では実際に、Google Ads Scriptsを作成してみましょう。
Google広告にログインし、MCCアカウントにいる状態で画面右上にある[ツール]から、一括操作の[スクリプト]を選択します。

[+]のマークをクリックして、新規スクリプトを作成します。

スクリプトの承認を要求されるので、[承認]リンクをクリックします。

どのアカウントに対して承認するかを選択し、[Allow]をクリックします。

承認が完了したら、「function main(){ }」を削除し、下記コードをコピーして貼り付けてください。
※3行目:MANAGER_CUSTOMER_IDの値を、ご自身で登録しているMCCアカウントのIDに変更してください。

function main() {
  //レポート出力対象MCC-ID
  var MANAGER_CUSTOMER_ID = '1234567890';

  // 日付取得
  var now = new Date();
  var yyyymmdd = now.getFullYear()+
      ( "0"+( now.getMonth()+1 ) ).slice(-2)+
      ( "0"+now.getDate() ).slice(-2);

  // スプレッドシート作成
  var spreadsheet = SpreadsheetApp.create('WeddingparkSampleReport_' + yyyymmdd);

  // デフォルトで作成されるシートを取得 
  var sheet = spreadsheet.getSheetByName('シート1');

  // シート名を変更
  sheet.setName('アカウント一覧');

  // MCC-IDを指定してアカウント情報を取得
  var accountIterator = MccApp.accounts().withCondition("ManagerCustomerId = '"+MANAGER_CUSTOMER_ID+"'").get();
  Logger.log('アカウント件数 : ' + accountIterator.totalNumEntities());

  // 1行目にタイトルを出力
  sheet.getRange(1, 1).setValue('アカウントID');
  sheet.getRange(1, 2).setValue('アカウント名');
  sheet.getRange(1, 3).setValue('タイムゾーン');
  sheet.getRange(1, 4).setValue('通貨コード');

  // データは2行目から出力
  for (var i = 2; accountIterator.hasNext(); i++) {
    // アカウント毎にデータ取得
    var account = accountIterator.next();

    // MCC内に存在する対象のアカウント情報を取得
    MccApp.select(account);

    // アカウントデータを出力
    sheet.getRange(i, 1).setValue(account.getCustomerId());   // アカウントID
    sheet.getRange(i, 2).setValue(account.getName());         // アカウント名
    sheet.getRange(i, 3).setValue(account.getTimeZone());     // タイムゾーン
    sheet.getRange(i, 4).setValue(account.getCurrencyCode()); // 通貨コード
  }
}

コードの貼り付けが完了したら、画面右下の「プレビュー」をクリックしてください。

スクリプトが実行され、「ログ」タブにログが出力されます。
実行時にエラーが発生した場合も、「ログ」タブにエラーが出力されます。

さて。Google Ads Scriptsを実行したGoogleアカウントで、スプレッドシートが出力されているかを確認しましょう。
「WeddingparkSampleReport_YYYYMMDD」というタイトルで、スプレッドシートが出力されています。

最後に

今回はスプレッドシートを作成しましたが、URLを指定していつも同じスプレッドシートにデータを出力することも出来ます。
またアカウントを取得する際にMCCアカウントのIDではなくラベルでフィルターを掛けたり、条件を複数設定することも可能です。
次回はAdWordsAPIを利用したレポート取得方法をご紹介します。

エンジニア大募集中

Wedding Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。
興味のある方はぜひ一度気軽にオフィスに遊びにいらして頂ければと思います。

ブライダル業界のデジタルシフトを加速させるリードエンジニア候補募集!

Join Us !

ウエディングパークでは、一緒に働く仲間を募集しています!
ご興味ある方は、お気軽にお問合せください(カジュアル面談から可)

採用情報を見る