対象
- Google Analiticsを利用し、KPIを計測している
- Googleスプレッドシートに、KPIを手入力している
目標
- デイリーで、GoogleスプレッドシートにKPIを自動的に計測する
前提
- 前日(00:00~23:59)のKPIが対象
- 1日1度のみ自動的に計測(例:出社前の時間など)
おおまかな手順
- Google AnalyticsアドオンをGoogleスプレッドシートにインストール
- Google Analyticsアドオンを利用してKPIを取得
- KPIの取得をスケジュール化
- 取得したKPIをGAS(Google Apps Script)を利用して、サマリーシートに出力
- GASの実行をスケジュール化
Google AnalyticsアドオンをGoogleスプレッドシートにインストール
具体的なインストール手順や簡単な利用方法は、すでにまとまっているサイトがあるため割愛します。
個人的には、こちらのサイトがわかりやすいのでおすすめです。
Google Analyticsアドオンを利用してKPIを取得
例として、以下KPI(WebサイトのKPI計測を想定)を取得します。
1. DAU(Daily Active Users)
2. WAU(Weekly Active Users)
3. MAU(Monthly Active Users)
4. ページビュー
5. セッション
「Report Configuration」シートの各設定は以下の通りです。
「View (Profile) ID / ids」は環境により異なります。
Report Name | Web_1dayUsers | Web_7dayUsers | Web_30dayUsers | Web_pv_sessions |
---|---|---|---|---|
Type | core | core | core | core |
View (Profile) ID / ids | ga:XXXXXXX | ga:XXXXXXX | ga:XXXXXXX | ga:XXXXXXX |
Start Date | =TODAY()-1 | =TODAY()-1 | =TODAY()-1 | =TODAY()-1 |
End Date | =TODAY()-1 | =TODAY()-1 | =TODAY()-1 | =TODAY()-1 |
Last N Days | ||||
Metrics | ga:1dayUsers | ga:7dayUsers | ga:30dayUsers | ga:pageviews ga:sessions |
Dimensions | ga:date | ga:date | ga:date | ga:date |
あとは、メニュー「アドオン>Google Analytics」から「Run reports」を選択します。
問題なければ以下の画面が表示され、「Web_1dayUsers」、「Web_7dayUsers」、「Web_30dayUsers」、「Web_pv_sessions」シートが作成されます。
作成された各シートを参照し、正常にKPIが取得できていることを確認します。
KPIの取得をスケジュール化
メニュー「アドオン>Google Analytics」から「Schedule reports」を選択してください。
Enable reports to run automatically | Schedule reports to run | between |
---|---|---|
チェック | every day | 5 a.m. - 6 a.m. |
「Save」ボタンを押すとスケジュール登録完了です。
取得したKPIをGAS(Google Apps Script)を利用して、サマリーシートに出力
KPIのサマリーシートとして、「Daily_KPI_2017」シートを作成します。
内容は、以下ヘッダと日付を入力します。
A | B | C | E | E | F | |
---|---|---|---|---|---|---|
1 | Web KPI | |||||
2 | Date | DAU | WAU | MAU | ページビュー | セッション |
3 | 2017/01/01 | |||||
4 | 2017/01/02 | |||||
5 | 2017/01/03 | |||||
... | ... | |||||
367 | 2017/12/31 |
次にGASを作成します。
メニュー「ツール>スクリプト エディタ...」を選択します。
新規作成の場合は、以下のように無題のプロジェクトが開かれます。
以下、サマリーシート「Daily_KPI_2017」に、KPIを出力するためのGASコードです。なお具体的なGASの記法などはリファレンスやググれば色々参考となるサイトが見つかるので、そちらを参照ください。
function kpiFunction() {
// 別シート参照
var sheet_1dayUsers = SpreadsheetApp.getActive().getSheetByName('Web_1dayUsers');
var sheet_7dayUsers = SpreadsheetApp.getActive().getSheetByName('Web_7dayUsers');
var sheet_30dayUsers = SpreadsheetApp.getActive().getSheetByName('Web_30dayUsers');
var sheet_pv_sessions = SpreadsheetApp.getActive().getSheetByName('Web_pv_sessions');
var sheet_Daily_KPI_2017 = SpreadsheetApp.getActive().getSheetByName('Daily_KPI_2017');
// 各KPIの値を取得
var value_1dayUsers = sheet_1dayUsers.getRange("B16").getValue();// 固定セル取得
var value_7dayUsers = sheet_7dayUsers.getRange("B16").getValue();
var value_30dayUsers = sheet_30dayUsers.getRange("B16").getValue();
var value_pv_sessions = sheet_pv_sessions.getRange(16, 2, 1, 2).getValues();// セルB16, C16取得
var value_total_date = sheet_Daily_KPI_2017.getRange(3, 1, 365, 1).getValues();// セルA3, A368取得
// 今日の日付取得
var today = Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd");
var target_row = 0;
for(i = 0; i < 365; i++){
var date = Utilities.formatDate(new Date(value_total_date[i]), "JST", "yyyy/MM/dd");
if(today == date){// KPI対象日は昨日の日付
// KPIデータ出力対象となる行:+2(ヘッダ分)
target_row = i + 2;
break;
}
}
// KPIを対象スプレッドシートに出力
sheet_Daily_KPI_2017.getRange("B" + target_row).setValue(value_1dayUsers);
sheet_Daily_KPI_2017.getRange("C" + target_row).setValue(value_7dayUsers);
sheet_Daily_KPI_2017.getRange("D" + target_row).setValue(value_30dayUsers);
sheet_Daily_KPI_2017.getRange("E" + target_row).setValue(value_pv_sessions[0][0]);
sheet_Daily_KPI_2017.getRange("F" + target_row).setValue(value_pv_sessions[0][1]);
}
ファイルを保存後、スクリプトが正常に動作するか確認します。
ツールバーメニュー「実行」を選択します。
例えば2017/01/16に実行した場合、サマリーシート「Daily_KPI_2017」のDate列「2017/01/15」の各KPIが正常に出力されていれば問題ありません。
GASの実行をスケジュール化
最後に作成したGASをデイリーで実行するためトリガーを登録します。
メニュー「リソース>現在のプロジェクトのトリガー」を選択します。
トリガーの設定画面が表示されるので以下設定します。
実行 |
---|
kpiFunction |
イベント |
---|
時間主導型 |
日タイマー |
午前6時~7時 |
保存ボタンを選択し、トリガーを保存します。
以上で、デイリー毎にGoogleスプレッドシートへ自動的にKPIを出力する設定は完了です。
翌日、サマリーシートへ正常にKPIが出力されていることや変更履歴に問題がないか確認します。
イベント内容とスケジュール
イベント内容 | 実行日時(毎日) |
---|---|
Google AnalyticsアドオンによるKPIの計測 | 午前5時~6時 |
GASによるサマリーシートへのKPIの出力 | 午前6時~7時 |