こんな人にオススメ
- Google広告のレポート作成を自動化したい
- Looker Studio(データポータル)ではなく、スプレッドシートで関数つかって処理したい
使用するプログラム
function main() {
const FileID = 'スプレッドシートのID'
const temp_sheet = SpreadsheetApp.openById(FileID).getSheetByName('シートの名前');
var dt = new Date();
dt.setMonth(dt.getMonth()-4);
const from = Utilities.formatDate(dt, 'Asia/Tokyo', 'yyyyMMdd');
const to = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyyMMdd');
var report = AdsApp.report(
'SELECT Date, CampaignName, Clicks, Impressions, Cost ' +
'FROM CAMPAIGN_PERFORMANCE_REPORT ' +
'WHERE Cost > 0 ' +
'DURING ' + from + ',' + to
);
temp_sheet.clear();
report.exportToSheet(temp_sheet);
if (temp_sheet.getLastRow() == 1) {
return;
}
}
プログラムの解説
3行目で出力先のスプレッドシートを指定します。
IDはスプレッドシートのURLから判別できます。
4行目はシートの名前を指定します。
6〜10行目はレポートの出力期間の設定用のプログラムです。
集計期間は今日から4ヶ月前。
ここは完全に私個人が使いやすい期間に設定してますので、どうぞみなさんで好きに設定してください。
集計プログラムが実行されたら、一度スプレッドシートを白紙にして、今日から4ヶ月前のデータを出力するように設定しているので、つねに直近4ヶ月間という形になります。
6〜7行目で今日から4ヶ月前の日付を作成して、9〜10行目で開始日と終了日の変数に宣言します。
fromに20220101を宣言すれば、2022年1月1日から今日までになります。
12〜17行目はSELECT関数になります。
カラムは「日付」「キャンペーン名」「クリック数」「インプレッション数」「費用」。
テーブル「CAMPAIGN_PERFORMANCE_REPORT」から。
費用が発生しているデータのみ。
今日から4ヶ月前までの期間。
21行目で指定したスプレッドシートの内容をねんのためクリア。おまじない。
22行目以降でレポートを出力して終了になります。