Google Analytics 4(GA4)のデータをスプレッドシートに取り込む方法に悩んでいませんか。手動エクスポートでは更新が面倒で、リアルタイム性に欠けます。この記事ではGA4データAPIを活用し、スプレッドシートに直接データを取得する設定手順を解説します。APIの有効化からApps Scriptの実装まで、誰でも再現できる方法を紹介します。
【要点】GA4データAPIをスプレッドシートに設定するための手順
- Google Cloud ConsoleでAPIを有効化: Google Analytics Data APIを有効にし、サービスアカウントを作成してJSONキーをダウンロードします。
- GA4プロパティで権限を付与: サービスアカウントのメールアドレスをGA4プロパティにビューワー権限で追加します。
- Apps Scriptでカスタム関数を作成: スプレッドシートの拡張機能からスクリプトエディタを開き、GA4データを取得する関数を実装します。
ADVERTISEMENT
目次
GA4データAPIがスプレッドシートと連携する仕組み
GA4データAPI(Google Analytics Data API v1)は、GA4のレポートデータをプログラムで取得するためのインターフェースです。スプレッドシートからは、Apps ScriptというJavaScriptベースのスクリプト環境を介してこのAPIを呼び出します。認証にはサービスアカウントを使用し、OAuth2.0の代わりに鍵ベースの認証を利用します。サービスアカウントのメールアドレスをGA4プロパティのユーザーとして追加することで、スクリプトがGA4データにアクセスできるようになります。これにより、手動ダウンロードやCSVエクスポートをせずに、シート上で最新の分析データを扱えます。
GA4データAPIをスプレッドシートに設定する具体的な手順
Google Cloud Consoleでの準備
- プロジェクトを作成する
[Google Cloud Console](https://console.cloud.google.com/)にアクセスし、新しいプロジェクトを作成します。プロジェクト名は任意で構いません。 - APIを有効にする
左メニューの「APIとサービス」→「ライブラリ」を選択し、「Google Analytics Data API」を検索して有効にします。このAPIがGA4データ取得の中核です。 - サービスアカウントを作成する
「IAMと管理」→「サービスアカウント」で新しいサービスアカウントを作成します。名前とIDを設定し、役割は「閲覧者」程度で問題ありません。作成後、サービスアカウントのメールアドレスを控えておきます。 - JSONキーをダウンロードする
サービスアカウントの詳細画面で「キー」タブから「鍵を追加」→「新しい鍵を作成」を選択し、JSON形式でキーをダウンロードします。このファイルは後のスクリプトで使用します。
GA4プロパティでの権限設定
- GA4プロパティにサービスアカウントを追加する
Google Analyticsの管理画面を開き、対象プロパティの「プロパティ設定」→「ユーザー管理」に移動します。右上の「+」ボタンから「ユーザーを追加」を選択します。 - 権限を割り当てる
先ほど控えたサービスアカウントのメールアドレスを入力し、権限として「閲覧者」を選択します。「追加」ボタンで確定します。これでサービスアカウントがGA4データを読み取れるようになります。
Apps Scriptでスクリプトを作成する
- スクリプトエディタを開く
スプレッドシートを開き、メニューの「拡張機能」→「Apps Script」を選択します。新しいタブでスクリプトエディタが開きます。 - スクリプトファイルにコードを記述する
デフォルトのCode.gsファイルに以下のコードをコピーして貼り付けます。ただし、YOUR_JSON_KEYの部分はダウンロードしたJSONキーの内容に置き換えてください。また、GA4_PROPERTY_IDにはGA4プロパティID(例: 123456789)を指定します。
function getGa4Data() {
const propertyId = 'GA4_PROPERTY_ID';
const serviceAccountKey = {
/* ここにJSONキーの内容をオブジェクトとして貼り付け */
};
const request = {
dateRanges: [{ startDate: '7daysAgo', endDate: 'today' }],
metrics: [{ name: 'sessions' }],
dimensions: [{ name: 'source' }]
};
const report = AnalyticsData.Data.accounts.properties.runReport({ property: `properties/${propertyId}`, body: request });
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1).setValue('ソース');
sheet.getRange(1, 2).setValue('セッション数');
report.rows.forEach(function(row, index) {
sheet.getRange(index + 2, 1).setValue(row.dimensionValues[0].value);
sheet.getRange(index + 2, 2).setValue(row.metricValues[0].value);
});
}
- サービスアカウントの認証を追加する
スクリプトエディタで「ライブラリ」を開き、「AnalyticsData」というサービスを追加します。IDは「`https://www.googleapis.com/auth/analytics.readonly`」です。これでAPI呼び出しが可能になります。 - 関数をテスト実行する
エディタ上部の「実行」ボタンをクリックし、getGa4Data関数を選択して実行します。初回は権限承認画面が表示されるので、自分のGoogleアカウントで許可します。スプレッドシートにデータが出力されれば成功です。
GA4データAPI設定で起きやすいトラブルと対処法
APIが有効になっていないエラーが表示される
スクリプト実行時に「Google Analytics Data API has not been used in project」というエラーが出る場合、Cloud ConsoleでAPIを有効にしていないことが原因です。先ほどの手順でAPIライブラリから有効にしたか確認してください。また、有効化後数分かかる場合があるので、少し時間を置いてから再実行します。
権限不足でデータが取得できない
サービスアカウントをGA4プロパティに追加していない、または権限が不適切だと403エラーが発生します。GA4の管理画面でユーザー一覧にサービスアカウントのメールアドレスが表示されているか確認してください。権限は「閲覧者」以上が必要です。また、プロパティIDが間違っていないかもチェックします。
スクリプトの実行がタイムアウトする
大量のデータを一度に取得しようとすると、Apps Scriptの実行時間制限(6分)を超えることがあります。その場合は、日付範囲を短くするか、metricsやdimensionsの数を減らして調整します。また、スクリプトのトリガーを設定して定期的に分割して実行する方法も検討します。
ADVERTISEMENT
GA4データAPIと従来のデータエクスポートの違い
| 項目 | 手動エクスポート | GA4データAPI利用 |
|---|---|---|
| 更新の手間 | 毎回手動でCSVをダウンロードして貼り付ける必要あり | スクリプトを実行するだけで自動更新可能 |
| リアルタイム性 | エクスポート時点のデータで、タイムラグが大きい | トリガー設定で定期的に最新データを取得できる |
| カスタマイズ性 | あらかじめ定義されたレポート形式のみ | 任意の指標やディメンションを自由に組み合わせ可能 |
API利用の方が柔軟性と効率性に優れています。ただし初期設定に多少の手間がかかるため、定期的なレポート作成にはAPIを、一回限りの確認には手動エクスポートを使い分けるとよいでしょう。
まとめ
この記事ではGA4データAPIをスプレッドシートに設定する手順を解説しました。Google Cloud ConsoleでのAPI有効化からApps Scriptによるデータ取得までの流れを確認できたはずです。APIを活用すれば、手動エクスポートの手間から解放され、常に最新の分析データをシート上で管理できます。次に実際に、セッション数だけでなくコンバージョン数やユーザー属性など、必要な指標を追加してカスタマイズしてみてください。また、トリガー機能を使えば毎日自動更新も可能です。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
