GASでGoogle Analyticsデータを自動取得!毎日の集計作業から解放
/ 初心者向け
GASでGoogle Analyticsデータを自動取得!毎日の集計作業から解放
Google Analytics (GA) のデータを毎日のように手作業でスプレッドシートに転記したり、レポートを作成したりしていませんか? そんな面倒な作業は、Google Apps Script (GAS) を使えば自動化できます!
このブログ記事では、GASを使ってGoogle Analyticsのデータを自動で取得し、Google スプレッドシートに集計する方法を、初心者の方にも分かりやすく解説します。この自動化によって、あなたは集計作業に費やす時間を大幅に削減し、本来注力すべきマーケティング戦略の立案や改善に時間を割けるようになります。
なぜGASでGAデータを自動取得するのか?
Google Analyticsは、ウェブサイトのトラフィックやユーザー行動を把握するための強力なツールです。しかし、その豊富なデータを活用するためには、定期的な分析とレポーティングが不可欠です。手作業でのデータ収集は、時間と労力がかかるだけでなく、ヒューマンエラーのリスクも伴います。
GASによる自動化は、これらの課題を解決します。
- 時間と労力の削減: 定期的なレポート作成やデータ集計の時間をゼロにできます。
- ヒューマンエラーの防止: 自動化されたスクリプトは、一貫性のある正確なデータを提供します。
- リアルタイム性の向上: 必要な時に最新のデータを取得できます。
- 高度な分析への集中: データ収集の手間が省けるため、より高度な分析や施策の検討に時間を費やせます。
GASでGAデータを取得する準備
GASでGoogle Analyticsのデータを取得するには、いくつかの準備が必要です。
1. Googleアカウントの準備
Google AnalyticsとGoogle スプレッドシートを使用するため、Googleアカウントは必須です。
2. Google Analyticsアカウントとプロパティの確認
データを取得したいGoogle Analyticsのビュー(旧称:プロファイル)が設定されていることを確認してください。GA4(Google Analytics 4)とユニバーサルアナリティクス(UA)で取得方法が若干異なりますが、基本的な考え方は同じです。
3. Google スプレッドシートの準備
データを格納するためのGoogle スプレッドシートを作成しておきましょう。シート名や列ヘッダー(例: 日付, セッション数, ページビュー数)もあらかじめ決めておくとスムーズです。
GASスクリプトの作成方法
それでは、実際にGASスクリプトを作成していきましょう。
1. GASエディタを開く
Google スプレッドシートを開き、「拡張機能」>「Apps Script」を選択してGASエディタを開きます。
2. スクリプトの作成(GA4の場合)
GA4からデータを取得するには、Analytics Data API を利用します。GASでは、このAPIを直接呼び出すためのライブラリはありませんが、UrlFetchApp サービスを使用してHTTPリクエストを送信することで実現できます。
注意: GA4のAnalytics Data API v1beta を利用するには、OAuth 2.0認証が必要です。この部分が初学者には少し難易度が高いかもしれません。
より手軽に始めるには、Google が提供する Google Analytics Reporting API (UA向け) を利用するのが一般的でした。
ここでは、よりシンプルで、かつ現在も広く利用されている「Google Analytics Reporting API (UA向け)」を使った例を紹介します。 UAのサポート終了は迫っていますが、概念を理解する上で非常に役立ちます。
function getAnalyticsData() {
// Google Analytics Reporting API v4 を使用
// 認証情報やAPIキーの設定は別途必要になる場合があります。
// ここでは、Analytics Reporting API v4 のライブラリが利用可能であると仮定します。
// もしライブラリが見つからない場合は、UrlFetchApp で直接APIを叩く必要があります。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
// Reporting API v4 の設定
var api = Analytics.newApi(VIEW_ID); // VIEW_IDはご自身のGAビューIDに置き換えてください
// 取得したいディメンションとメトリクス
var startDate = '2023-01-01'; // 取得開始日
var endDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd"); // 今日まで
var dimensions = 'ga:date,ga:sourceMedium'; // 日付、参照元/メディア
var metrics = 'ga:sessions,ga:pageviews,ga:users'; // セッション数、ページビュー数、ユーザー数
// APIリクエストの作成
var request = api.newAdvancedCollections().newReportData().setDimensions(dimensions).setMetrics(metrics).setStartDate(startDate).setEndDate(endDate);
// APIの実行
var response = request.execute();
// 結果のスプレッドシートへの書き込み
if (response && response.reports && response.reports.length > 0) {
var report = response.reports[0];
var rows = report.data.rows;
if (rows) {
var dataToWrite = [];
// ヘッダー行をスキップする場合は、ここで調整
for (var i = 0; i < rows.length; i++) {
var currentRow = rows[i].dimensions;
var metricsRow = rows[i].metrics;
dataToWrite.push([
currentRow[0].value, // 日付
currentRow[1].value, // 参照元/メディア
parseInt(metricsRow[0].values[0]), // セッション数
parseInt(metricsRow[0].values[1]), // ページビュー数
parseInt(metricsRow[0].values[2]) // ユーザー数
]);
}
// スプレッドシートの既存データをクリアしてから書き込む場合
// sheet.clearContents();
// 追記する場合
sheet.getRange(sheet.getLastRow() + 1, 1, dataToWrite.length, dataToWrite[0].length).setValues(dataToWrite);
}
} else {
Logger.log('データが取得できませんでした。');
}
}
スクリプトの解説:
getAnalyticsData(): スクリプトのメイン関数です。Analytics.newApi(VIEW_ID): Google Analytics Reporting API v4 のインスタンスを作成します。VIEW_IDはご自身のGoogle AnalyticsのビューIDに置き換えてください。setDimensions(): 取得したいデータの「軸」(例: 日付、参照元)を指定します。setMetrics(): 取得したい「数値」(例: セッション数、ページビュー数)を指定します。setStartDate(),setEndDate(): データの取得期間を指定します。execute(): APIを実行し、結果を取得します。sheet.getRange(...).setValues(): 取得したデータをスプレッドシートに書き込みます。
【重要】VIEW_IDの取得方法:
1. Google Analyticsの管理画面にアクセスします。
2. 「管理」>「ビュー」>「ビュー設定」を選択します。
3. 「ビューID」が表示されていますので、それをコピーしてスクリプトのVIEW_IDに貼り付けてください。
【補足】GA4への移行について:
UAは2023年7月1日にデータ収集を終了しました。現在、GA4が主流です。GA4からデータを取得するには、Analytics Data API を利用する必要があります。GASで Analytics Data API を直接操作するには、OAuth 2.0認証の設定が必須となり、初学者には少しハードルが高いかもしれません。しかし、GASは進化しており、将来的にGA4データ取得をより容易にするライブラリが登場する可能性もあります。まずはUAでの自動取得の概念を理解し、徐々にGA4への対応を進めていきましょう。
3. スクリプトの保存と実行
1. GASエディタの上部にあるフロッピーディスクのアイコンをクリックしてスクリプトを保存します。プロジェクト名(例: GAデータ自動取得)を任意で設定してください。
2. 保存後、実行したい関数(例: getAnalyticsData)を選択し、再生ボタン(▶)をクリックして実行します。
3. 初回実行時には、スクリプトがGoogleアカウントにアクセスするための「承認」を求められます。「権限を確認」→「詳細」→「(プロジェクト名)(安全ではないページ)に移動」→「許可」と進んでください。
スケジュール実行の設定
スクリプトを一度実行するだけでなく、毎日自動で実行されるように設定しましょう。
1. GASエディタの左側にある時計のアイコン(トリガー)をクリックします。
2. 右下にある「トリガーを追加」ボタンをクリックします。
3. 設定項目を以下のように設定します。
- 実行する関数を選択:
getAnalyticsData(作成した関数名) - 実行するデプロイを選択:
Head - イベントのソースを選択:
時間主導型 - 時間の間隔を選択:
毎日を選択し、実行したい時間(例: 午前6時~7時)を指定します。
4. 「保存」をクリックします。
これで、指定した時間にスクリプトが自動実行され、Google Analyticsのデータがスプレッドシートに自動で集計されるようになります!
まとめ
Google Apps Script (GAS) を活用することで、Google Analyticsのデータ取得作業を自動化できます。これにより、あなたは貴重な時間を節約し、より戦略的なマーケティング活動に集中できるようになります。
最初は少し難しく感じるかもしれませんが、この記事を参考に、ぜひGASを使った自動化に挑戦してみてください。一度自動化してしまえば、その恩恵は計り知れません!
---
【免責事項】
- 本記事は2023年時点の情報に基づいています。Google AnalyticsやGASの仕様は変更される可能性があります。
- UAはデータ収集を終了しており、GA4への移行が推奨されています。GA4からのデータ取得には、Analytics Data APIの利用とOAuth 2.0認証の設定が必要です。本記事のスクリプト例は、UA向けReporting API v4をベースとしています。GA4への対応は別途ご自身での調査・実装が必要となります。
- スクリプトの実行や設定は、ご自身の責任において行ってください。
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。