GASでGoogle Analyticsデータを自動取得!初心者向け解説
/ 初心者向け
Google AnalyticsデータをGASで自動取得!レポート作成が楽になる!
Google Analytics(以下、GA)は、ウェブサイトのアクセス状況を把握するための強力なツールです。しかし、毎日のようにレポートを確認したり、特定のデータを抽出しExcelなどに貼り付けたりするのは、時間も手間もかかりますよね。
そんな悩みを解決するのが、Google Apps Script(以下、GAS)です!GASを使えば、GAのデータを自動的に取得し、スプレッドシートに記録したり、メールで通知したりといった作業を自動化できます。この記事では、GAS初心者の方でも理解できるように、GASの基本からGAデータの取得方法、さらに具体的な活用例までを丁寧に解説していきます。
GASとは?
GASは、Google Workspace(Gmail、Google スプレッドシート、Google ドキュメントなど)の機能を拡張したり、自動化したりできるJavaScriptベースのプログラミング言語です。特別な開発環境を用意する必要がなく、ブラウザ上でコードを書くことができます。Google Workspaceを使っている方なら、すぐに始められます。
なぜGASでGAデータを取得するのか?
GASでGAデータを自動取得することには、以下のようなメリットがあります。
- 作業の自動化: 手作業で行っていたデータ集計やレポート作成を自動化し、時間を節約できます。
- リアルタイムなデータ把握: 定期的にデータを更新することで、常に最新の状況を把握できます。
- カスタマイズ可能なレポート: GAの標準レポートでは得られない、独自の分析や加工が可能です。
- データに基づいた意思決定: 収集したデータを元に、より精度の高いマーケティング戦略や改善策を立案できます。
GASでGAデータを取得する基本的な流れ
GASでGAデータを取得するには、大きく分けて以下のステップが必要です。
1. GASプロジェクトの作成: Google スプレッドシートからGASプロジェクトを作成するのが一般的です。
2. Google Analytics APIの有効化: GASからGAのデータにアクセスするために、Google Cloud PlatformでAPIを有効にする必要があります。
3. GAのビューIDの確認: データを取得したいGAのプロパティ・ビューのIDを確認します。
4. GASコードの記述: 取得したいデータや期間を指定して、GASのスクリプトを記述します。
5. トリガーの設定: スクリプトを定期的に実行するためのトリガーを設定します。
実際にGASでGAデータを取得してみよう!
それでは、具体的なコード例を見ていきましょう。
まず、Google スプレッドシートを開き、「拡張機能」>「Apps Script」を選択して、スクリプトエディタを開きます。
function getAnalyticsData() {
// ここにGAのビューIDを記述します。
var VIEW_ID = 'YOUR_VIEW_ID'; // 例: '123456789'
// 取得したい期間を指定します。
var startDate = '2023-10-01'; // 例: 2023年10月1日
var endDate = '2023-10-31'; // 例: 2023年10月31日
// 取得したいメトリクス(指標)とディメンション(項目)を指定します。
// 例: sessions(セッション数), users(ユーザー数), pageviews(ページビュー数)
// 例: date(日付), deviceCategory(デバイスカテゴリ)
var metrics = 'ga:sessions,ga:users,ga:pageviews';
var dimensions = 'ga:date,ga:deviceCategory';
// Google Analytics APIにアクセスします。
var response = Analytics.Data.Ga.get(
'ga:' + VIEW_ID,
startDate,
endDate,
metrics,
{'dimensions': dimensions}
);
// 取得したデータをスプレッドシートに書き込みます。
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// ヘッダー行を書き込む(必要であれば)
sheet.appendRow(['日付', 'デバイスカテゴリ', 'セッション数', 'ユーザー数', 'ページビュー数']);
// データを1行ずつ追加していきます。
var rows = response.rows;
if (rows) {
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
sheet.appendRow([
row[0], // 日付
row[1], // デバイスカテゴリ
row[2], // セッション数
row[3], // ユーザー数
row[4] // ページビュー数
]);
}
} else {
sheet.appendRow(['データがありません']);
}
}
コードの解説
VIEW_ID: データを取得したいGAのビューIDを指定します。GAの管理画面から確認できます。startDate,endDate: 取得したいデータの期間を指定します。YYYY-MM-DD形式で記述します。metrics: 取得したい指標(例: セッション数、ユーザー数)をカンマ区切りで指定します。APIのドキュメントで利用可能なメトリクスを確認できます。dimensions: データを集計する項目(例: 日付、デバイスカテゴリ)をカンマ区切りで指定します。APIのドキュメントで利用可能なディメンションを確認できます。Analytics.Data.Ga.get(): Google Analytics APIを呼び出すための関数です。SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(): 現在アクティブなスプレッドシートのシートを取得します。sheet.appendRow(): 取得したデータをスプレッドシートの新しい行に追加します。
Google Analytics APIの有効化
上記コードを実行する前に、Google Cloud PlatformでGoogle Analytics APIを有効にする必要があります。GASプロジェクトを開き、「サービス」>「Google Analytics API」を選択して有効にしてください。
トリガーの設定
このスクリプトを毎日自動で実行したい場合は、トリガーを設定します。スクリプトエディタの左側にある時計アイコン(トリガー)をクリックし、「トリガーを追加」から「getAnalyticsData」関数を、実行頻度を「毎日」などに設定します。
活用例
GASとGAデータを組み合わせることで、様々な自動化が可能です。
- 日次・週次・月次レポートの自動作成: 指定した期間のデータをスプレッドシートに自動で集計し、グラフ化することもできます。
- 目標達成状況のモニタリング: 設定した目標の達成度を毎日チェックし、目標未達の場合は担当者にメールで通知する。
- 特定キーワードの流入状況を追跡: 特定の検索キーワードからの流入数を定期的に取得し、SEO施策の効果測定に活用する。
- 競合サイトとの比較: 競合サイトの公開データ(もしあれば)と自社サイトのGAデータを比較し、レポートを作成する。
まとめ
GASを使えば、Google Analyticsのデータを自動で取得し、レポート作成やデータ分析の作業を大幅に効率化できます。今回ご紹介した基本的なコードを参考に、ぜひご自身のウェブサイト分析にGASを活用してみてください。最初は難しく感じるかもしれませんが、一つずつ試していくうちにGASの便利さが実感できるはずです。これからもGASでできることをどんどん紹介していきますので、お楽しみに!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。