GASでGoogle Analyticsデータを自動取得!初心者向け徹底解説
/ 初心者向け
GASでGoogle Analyticsデータを自動取得!手間いらずでレポート作成
Webサイトやアプリの成果を測る上で欠かせないGoogle Analytics。しかし、日々データを手作業で集計・レポート作成するのは、時間も手間もかかりますよね。そこで今回は、Google Apps Script(GAS)を活用して、Google Analyticsのデータを自動で取得する方法を、初心者の方にも分かりやすく解説します。
GASを使えば、日々のアクセス数、コンバージョン率、流入元などの重要な指標を自動でスプレッドシートに転記したり、メールで通知したりすることが可能です。これにより、レポート作成の自動化はもちろん、より戦略的な分析に時間を割くことができるようになります。
GASとは?
Google Apps Script(GAS)は、Google Workspace(Gmail, Google Drive, Google Spreadsheet, Google Analyticsなど)を連携・自動化するためのJavaScriptベースのスクリプト言語です。特別な環境構築は不要で、ブラウザ上でコードを書いて実行できます。
Google Analytics APIとは?
GASからGoogle Analyticsのデータにアクセスするには、Google Analytics APIを利用します。GASには、Google Analytics APIを簡単に呼び出すためのライブラリが用意されており、数行のコードでデータを取得できます。
GASでGoogle Analyticsデータを取得する基本的な流れ
1. Google AnalyticsのプロパティIDとビューIDの確認
- Google Analyticsの管理画面から、対象となるプロパティとビューのIDを控えておきます。これらはスクリプトでデータを指定する際に必要になります。
2. GASエディタを開く
- Google Spreadsheetを開き、「拡張機能」>「Apps Script」を選択すると、GASエディタが開きます。
3. スクリプトの作成
- GASエディタに、Google Analyticsからデータを取得するためのJavaScriptコードを記述します。
4. スクリプトの実行と権限の承認
- スクリプトを実行すると、Google Analyticsへのアクセス権限を求められるので、承認します。
5. データの取得と活用
- 取得したデータをスプレッドシートに書き込んだり、メールで送信したりします。
サンプルコード:日次アクティブユーザー数を取得する
ここでは、例として「日次アクティブユーザー数」をGoogle Spreadsheetに取得する簡単なスクリプトをご紹介します。
function getDailyActiveUsers() {
var viewId = 'YOUR_VIEW_ID'; // ここにあなたのビューIDを入力
var startDate = formatDate(new Date(new Date().setDate(new Date().getDate() - 1)), 'yyyy-MM-dd'); // 昨日
var endDate = startDate; // 昨日
var query = {
'ids': 'ga:' + viewId,
'start-date': startDate,
'end-date': endDate,
'metrics': 'ga:1dayUsers',
'dimensions': 'ga:date'
};
var data = Analytics.Data.Ga.get(query);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var headers = ['日付', '日次アクティブユーザー数'];
sheet.appendRow(headers);
if (data.getRows()) {
var rows = data.getRows();
for (var i = 0; i < rows.length; i++) {
var date = rows[i][0];
var activeUsers = rows[i][1];
sheet.appendRow([date, activeUsers]);
}
} else {
sheet.appendRow(['データなし']);
}
}
function formatDate(date, format) {
format = format.replace('yyyy', date.getFullYear());
format = format.replace('MM', ('0' + (date.getMonth() + 1)).slice(-2));
format = format.replace('dd', ('0' + date.getDate()).slice(-2));
return format;
}
コードの解説:
YOUR_VIEW_IDの部分を、ご自身のGoogle AnalyticsのビューIDに置き換えてください。startDateとendDateで取得したい期間を指定しています。この例では前日を指定しています。metricsで取得したい指標(ここではga:1dayUsers:日次アクティブユーザー数)を指定します。dimensionsでデータを集計する軸(ここではga:date:日付ごと)を指定します。Analytics.Data.Ga.get(query)でAPIを呼び出し、データを取得しています。- 取得したデータは
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().appendRow()でアクティブなシートの末尾に追加しています。
スクリプトの実行と自動化
1. GASエディタで上記コードを貼り付け、YOUR_VIEW_ID をご自身のビューIDに書き換えます。
2. 関数名 getDailyActiveUsers を選択し、再生ボタン(▶)をクリックして実行します。
3. 初回実行時には、Google Analyticsへのアクセス権限を求められます。「権限を承認」をクリックし、指示に従って承認してください。
4. 実行後、GASを起動したGoogle Spreadsheetにデータが追加されていることを確認してください。
トリガー設定による自動実行
このスクリプトを毎日決まった時間に実行したい場合は、「トリガー」機能を使います。
1. GASエディタの左側にある時計アイコン(トリガー)をクリックします。
2. 「トリガーを追加」ボタンをクリックします。
3. 以下の設定を行います:
- 実行する関数を選択:
getDailyActiveUsers - 実行するデプロイを選択:
Head - イベントのソースを選択:
時間駆動 - 時刻ベースのトリガーの種類を選択:
日タイマー - 時間帯を選択: 実行したい時間帯(例: 午前8時~9時)
4. 「保存」をクリックします。
これで、毎日指定した時間にスクリプトが自動実行され、Google Analyticsのデータがスプレッドシートに自動で記録されるようになります。
まとめ
Google Apps Scriptを活用することで、Google Analyticsのデータ収集・レポート作成作業を劇的に効率化できます。今回ご紹介した基本を応用すれば、さらに様々な指標を、ご自身の目的に合わせた形式で自動取得できるようになります。ぜひ、GASを使ったデータ自動化に挑戦してみてください!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。