こんにちは。サーバーサイドエンジニアの杉浦です。
今回は、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では一緒に技術のウエディングパークを創っていくエンジニアを募集しています。
興味のある方はぜひ一度気軽にオフィスに遊びにいらして頂ければと思います。