GASでGoogle Analyticsデータを自動取得!初心者向け解説
/ 初心者向け
GASでGoogle Analyticsデータを自動取得!レポート作成を効率化しよう
Google Analytics(GA)は、ウェブサイトのトラフィックやユーザー行動を把握するための強力なツールです。しかし、日々のレポート作成やデータ集計に時間を費やしていませんか?
そんな悩みを解決するのが、Google Apps Script(GAS)です。GASを使えば、Google Analyticsのデータを自動的に取得し、スプレッドシートに記録したり、メールで送信したりすることが可能です。この記事では、GAS初心者の方でも理解できるように、Google Analyticsデータを自動取得する基本的な方法を解説します。
なぜGASでGoogle Analyticsデータを取得するのか?
GASでGAデータを取得するメリットは多岐にわたります。
- 作業の自動化: 手作業でのデータダウンロードとコピペ作業から解放されます。決まった時間に自動でデータが取得されるので、常に最新の情報を把握できます。
- レポート作成の効率化:GASで取得したデータをスプレッドシートに集約すれば、グラフ化や分析が格段に容易になります。カスタムレポートを簡単に作成できるでしょう。
- アラート機能の実装: 特定の指標(例:直帰率の急増)が閾値を超えた場合に通知するような、簡易的なアラートシステムを構築することも可能です。
- 他のGoogleサービスとの連携: 取得したデータをGoogleスプレッドシートだけでなく、Gmail、Googleドキュメントなど、他のGoogleサービスと連携させることで、より高度なワークフローを構築できます。
GASでGAデータを取得する準備
GASでGAデータにアクセスするには、いくつか準備が必要です。
1. Googleアカウント: GASを使用するためには、Googleアカウントが必要です。
2. Google Analyticsアカウント: GAのデータにアクセスするため、GAアカウントとトラッキングコードが設置されたウェブサイトが必要です。
3. Google Apps Scriptプロジェクトの作成: Googleドライブから「新規」→「その他」→「Google Apps Script」を選択して、新しいプロジェクトを作成します。
GASからGoogle Analytics APIへアクセスする
GASからGoogle Analytics APIにアクセスするには、Analyticsという組み込みサービスを利用します。これにより、GAのデータをプログラムで操作できるようになります。
1. サービスのアクティベート
GASプロジェクトのエディタで、左側のメニューにある「+」ボタン(サービスを追加)をクリックし、「Google Analytics」を選択して追加します。これで、GASスクリプトからGAのデータにアクセスできるようになります。
2. データの取得(基本例)
以下は、特定期間のGAデータを取得し、スプレッドシートに出力する簡単なコード例です。
function getAnalyticsData() {
// 取得したいGoogle AnalyticsのView IDを指定します。
// (UA-XXXXX-Yの形式であれば、Yの部分がView IDです)
var VIEW_ID = 'YOUR_VIEW_ID';
// 取得したい日付範囲を指定します。
// 例:今日から過去7日間
var startDate = new Date();
startDate.setDate(startDate.getDate() - 7);
var endDate = new Date();
// Google Analytics APIのレポートを取得します。
var response = Analytics.Data.Ga.get(
'ga:' + VIEW_ID,
formatDate(startDate), // 開始日 (YYYY-MM-DD)
formatDate(endDate), // 終了日 (YYYY-MM-DD)
'ga:sessions,ga:pageviews,ga:users', // 取得したいメトリクス
{
'dimensions': 'ga:date,ga:sourceMedium', // ディメンション(集計軸)
'sort': '-ga:sessions' // セッション数が多い順にソート
}
);
// 取得したデータをスプレッドシートに出力します。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// ヘッダー行を追加
sheet.appendRow(['日付', 'ソース/メディア', 'セッション', 'ページビュー', 'ユーザー']);
// 取得したデータを1行ずつ追加
if (response.rows) {
response.rows.forEach(function(row) {
sheet.appendRow([
row[0], // 日付
row[1], // ソース/メディア
parseInt(row[2]), // セッション
parseInt(row[3]), // ページビュー
parseInt(row[4]) // ユーザー
]);
});
} else {
sheet.appendRow(['データがありません']);
}
Logger.log('Google Analyticsデータを取得しました。');
}
// 日付をYYYY-MM-DD形式にフォーマットするヘルパー関数
function formatDate(date) {
var year = date.getFullYear();
var month = ('0' + (date.getMonth() + 1)).slice(-2);
var day = ('0' + date.getDate()).slice(-2);
return year + '-' + month + '-' + day;
}
コードの解説
VIEW_ID: ご自身のGoogle AnalyticsのビューIDを指定してください。startDate,endDate: 取得したい期間を指定します。formatDate関数でYYYY-MM-DD形式に変換しています。Analytics.Data.Ga.get(): GAのデータを取得するための主要な関数です。- 第一引数: GAのビューID。
- 第二引数、第三引数: 取得期間。
- 第四引数: 取得したいメトリクス(例:
ga:sessions(セッション数)、ga:pageviews(ページビュー数)、ga:users(ユーザー数))。 - 第五引数: オプション。
dimensions: データを集計する軸(例:ga:date(日付)、ga:sourceMedium(参照元/メディア))。sort: データの並べ替え。SpreadsheetApp.getActiveSpreadsheet(): 現在アクティブなスプレッドシートを取得します。sheet.appendRow(): スプレッドシートの末尾に新しい行を追加します。
コードの実行と自動化
GASエディタで getAnalyticsData 関数を選択し、実行ボタン(▶️)をクリックすることで、スクリプトを実行できます。初回実行時には、Googleアカウントへのアクセス許可を求められますので、承認してください。
さらに、このスクリプトを定期的に自動実行させたい場合は、GASエディタの左側にある時計のアイコン(トリガー)をクリックします。
- 「トリガーを追加」ボタンをクリック。
- 実行する関数に
getAnalyticsDataを選択。 - イベントのソースに「時間主導型」を選択。
- 時間の間隔(例:「毎日」「毎週」など)と時間を設定します。
これで、指定した時間に自動でGAデータが取得され、スプレッドシートに記録されるようになります。日々のレポート作成が格段に楽になるはずです。
まとめ
Google Apps Scriptを使えば、Google Analyticsのデータを自動で取得し、日々の業務を効率化できます。今回ご紹介した基本的なコードを元に、ぜひご自身の目的に合わせたデータ取得・活用方法を検討してみてください。GASとGAの連携は、データ分析の可能性を大きく広げてくれます。ぜひ、この機会にGASを使った自動化に挑戦してみましょう!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。