##はじめに
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("完了");
}