LoginSignup
4
3

More than 5 years have passed since last update.

Google広告数値をスプレットシートへ転記する

Last updated at Posted at 2018-11-05

はじめに

AdwordsAPIに関する情報が少なすぎる!!
今、ネットにあるスクリプトを貼ってもエラーが返ってきたり、そのまま使えるものが少なかったので
調べました。

広告代理店はレポーティングに時間を取られすぎだと思う。
こんな作業はさっさと自動化して、もっと成果が出ることに時間を使おう!

動作環境

AdWords>一括管理>スクリプト
で新しいファイルを作成して、貼り付けるだけ。
時間のトリガーはGoogleさんが用意してくれているので、お好きな時間で。
数値の戻りなんかも加味して、私は6時ぐらいにしてます。

説明

シンプルなスクリプトです。
転記したいスプレットシートIDとシート名を入れて、
SELECT行に出力したい項目を入れるとそのレポートが吐き出されます。

あとは
FROM レポート単位(アカウントかキャンペーンかグループか)
WHERE 条件(インプレッション0はなし)
DURING 期間 
で指定。

Yahooの数値と混ぜて
あとピポッドテーブルがしやすいように、
媒体列を追加しました。

demo.gs
function main() {

  //出力先指定
  var ss = SpreadsheetApp.openById("*スプレッドシートID*");
  var sh = ss.getSheetByName("*シート名*");

  //日時
  var date = new Date();
  var today = Utilities.formatDate(date,"JST","yyyy/MM/dd");
  var yesterdayRaw = new Date(date.getTime() - 24 * 60 * 60 * 1000);
  var yesterday = Utilities.formatDate(yesterdayRaw,"JST","yyyyMMdd");

  //出力
  var report = AdWordsApp.report("SELECT Date, Device, Impressions, Clicks, Cost, AveragePosition, SearchImpressionShare, AdNetworkType1 " +
                                 "FROM ACCOUNT_PERFORMANCE_REPORT " +
                                 "WHERE Impressions > 0 " +
                                 "DURING  20180814," + yesterday);

  report.exportToSheet(sh);//選択した項目をスプレッドシートへ出力

  var lastRow = sh.getLastRow();//最終行を取得

  sh.getRange(1,9,1,1).setValue("Source");//A列の識別用の媒体列を追加
  sh.getRange(2,9,lastRow-1,1).setValue("Google");//A列の識別用の媒体列を追加

  Logger.log("完了");
}
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3