LoginSignup
6
9

More than 5 years have passed since last update.

Google AnaliticsによるKPI計測の自動化

Last updated at Posted at 2017-01-16

対象

  • Google Analiticsを利用し、KPIを計測している
  • Googleスプレッドシートに、KPIを手入力している

目標

  • デイリーで、GoogleスプレッドシートにKPIを自動的に計測する

前提

  • 前日(00:00~23:59)のKPIが対象
  • 1日1度のみ自動的に計測(例:出社前の時間など)

おおまかな手順

  1. Google AnalyticsアドオンをGoogleスプレッドシートにインストール
  2. Google Analyticsアドオンを利用してKPIを取得
  3. KPIの取得をスケジュール化
  4. 取得したKPIをGAS(Google Apps Script)を利用して、サマリーシートに出力
  5. 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」を選択します。
sc_ga_addon_run_reports.png

問題なければ以下の画面が表示され、「Web_1dayUsers」、「Web_7dayUsers」、「Web_30dayUsers」、「Web_pv_sessions」シートが作成されます。
sc_ga_addon_run_reports_success.png

作成された各シートを参照し、正常にKPIが取得できていることを確認します。
image

sc_ga_addon_run_reports_web_1dayusers.png

KPIの取得をスケジュール化

メニュー「アドオン>Google Analytics」から「Schedule reports」を選択してください。
sc_ga_addon_schedule_reports.png

設定画面が開きます。
今回は、以下を設定します。
sc_ga_addon_schedule_reports_setting.png

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を作成します。
メニュー「ツール>スクリプト エディタ...」を選択します。
sc_tool_gas.png

新規作成の場合は、以下のように無題のプロジェクトが開かれます。
sc_gas_new.png

以下、サマリーシート「Daily_KPI_2017」に、KPIを出力するためのGASコードです。なお具体的なGASの記法などはリファレンスやググれば色々参考となるサイトが見つかるので、そちらを参照ください。

Code.gs
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]);
}

ファイルを保存後、スクリプトが正常に動作するか確認します。
ツールバーメニュー「実行」を選択します。
sc_gas_run.png

例えば2017/01/16に実行した場合、サマリーシート「Daily_KPI_2017」のDate列「2017/01/15」の各KPIが正常に出力されていれば問題ありません。
sc_gas_run_ex.png

GASの実行をスケジュール化

最後に作成したGASをデイリーで実行するためトリガーを登録します。
メニュー「リソース>現在のプロジェクトのトリガー」を選択します。
sc_gas_resouce_triger.png

トリガーの設定画面が表示されるので以下設定します。

実行
kpiFunction
イベント
時間主導型
日タイマー
午前6時~7時

sc_gas_triger_setting.png

保存ボタンを選択し、トリガーを保存します。

以上で、デイリー毎にGoogleスプレッドシートへ自動的にKPIを出力する設定は完了です。
翌日、サマリーシートへ正常にKPIが出力されていることや変更履歴に問題がないか確認します。

イベント内容とスケジュール

イベント内容 実行日時(毎日)
Google AnalyticsアドオンによるKPIの計測 午前5時~6時
GASによるサマリーシートへのKPIの出力 午前6時~7時
6
9
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
6
9