アクセス統計(GA4)
KUKAN は Google Analytics 4 を利用して、ページビュー・ファイルダウンロード・検索キーワードを計測できます。 この機能はインターネット公開環境向けです。閉域網(LGWAN 等)では設定を行わなければ、外部への通信は一切発生しません。
| 計測項目 | 方式 |
|---|---|
| ページビュー | 自動(gtag.js) |
| ファイルダウンロード | ダウンロードボタンクリック時にカスタムイベント送信 |
| サイト内検索キーワード | 自動(Enhanced Measurement が URL の ?q= パラメータを検出) |
計測データは GA4 コンソールで確認できます。GA4 Data API を設定すると、KUKAN 管理画面の「アクセス統計」でもデータを確認できます。
ステップ 1: GA4 プロパティの作成
Section titled “ステップ 1: GA4 プロパティの作成”- Google Analytics にアクセスしてログイン
- 左下の 管理(歯車アイコン)をクリック
- 作成 > プロパティ をクリック
- プロパティ名を入力(例: 「〇〇市オープンデータカタログ」)
- タイムゾーンと通貨を選択
- プラットフォームは ウェブ を選択
- サイトの URL とストリーム名を入力
- 作成後、測定 ID(
G-XXXXXXXXXX形式)をコピー
ステップ 2: Enhanced Measurement の確認
Section titled “ステップ 2: Enhanced Measurement の確認”Enhanced Measurement は通常デフォルトで有効です。以下を確認してください:
- GA4 管理画面で データストリーム を開き、ウェブストリームをクリック
- 拡張計測機能 で以下が有効になっていることを確認:
- ページビュー(常に有効)
- サイト内検索 —
/dataset?q=...のqパラメータを検出 - ファイルのダウンロード — 任意(KUKAN はカスタムイベントも送信)
ステップ 3: KUKAN の設定
Section titled “ステップ 3: KUKAN の設定”ブランド設定ファイルに測定 ID を設定します:
// apps/web/brands/default/brand-config.ts(複数ブランドの場合は brands/<name>/)export const brandConfig: BrandConfig = { // ...その他の設定 gaMeasurementId: 'G-XXXXXXXXXX', // 測定 ID}ファイル保存後に再デプロイしてください。gaMeasurementId が設定されると、すべてのページで gtag.js スクリプトが自動的にロードされます。
gaMeasurementId が null(デフォルト)の場合、外部スクリプトはロードされず、Google へのデータ送信も行われません。
測定 ID はブランドの設定のため、マルチサイト運用でサイトごとに別の測定 ID を使うには、サイトごとにブランドを分けます(複数ブランド)。
ステップ 4: カスタムディメンションの登録(任意)
Section titled “ステップ 4: カスタムディメンションの登録(任意)”KUKAN はダウンロード時に file_download カスタムイベントを追加パラメータ付きで送信します。GA4 レポートでこれらを利用するには:
- GA4 管理画面で カスタム定義 > カスタムディメンション に移動
- 以下のイベントスコープのディメンションを作成:
| ディメンション名 | イベントパラメータ | スコープ |
|---|---|---|
| データセット名 | dataset_name |
イベント |
| リソース ID | resource_id |
イベント |
| ファイル形式 | format |
イベント |
このステップは任意ですが、ダウンロードの詳細分析に推奨します。
ステップ 5: 管理画面ダッシュボードの設定
Section titled “ステップ 5: 管理画面ダッシュボードの設定”KUKAN 管理画面の「アクセス統計」では、GA4 Data API からデータセット閲覧数・リソース閲覧数・ダウンロード数・検索キーワードのランキングを確認できます。これには Google Cloud サービスアカウントが必要です:
- GCP プロジェクト(新規または既存)にサービスアカウントを作成
- GCP プロジェクトで Google Analytics Data API を有効化
- GA4 管理画面 > プロパティのアクセス管理 で、サービスアカウントのメールアドレスを 閲覧者 ロールで追加
- デプロイ環境に以下の環境変数を設定:
| 変数 | 値 |
|---|---|
GA4_PROPERTY_ID |
GA4 プロパティ ID(数値、管理画面 > プロパティ設定で確認) |
GA4_CLIENT_EMAIL |
サービスアカウントのメールアドレス |
GA4_PRIVATE_KEY |
サービスアカウントの秘密鍵(PEM 形式、JSON キーの private_key フィールド) |
AWS 環境では、environments.ts の環境(マルチサイトではサイトエントリ)に enableGa4DataApi: true を設定してデプロイし、作成された 3 つの Secrets Manager シークレットに値を登録します。
測定 ID を設定してデプロイした後:
- ブラウザでサイトを開く
- GA4 の レポート > リアルタイム を開く
- 数秒以内にアクセスが表示されることを確認
- ダウンロードボタンをクリックし、リアルタイムに
file_downloadイベントが表示されることを確認 - 検索を実行し、
view_search_resultsイベントが表示されることを確認
よくある質問
Section titled “よくある質問”閉域網(LGWAN)で使えますか?
Section titled “閉域網(LGWAN)で使えますか?”使えません。GA4 は Google のサーバーにデータを送信するためインターネット接続が必要です。閉域網では gaMeasurementId を null(デフォルト)のままにしてください。外部スクリプトはロードされません。
Google Tag Manager を使うべきですか?
Section titled “Google Tag Manager を使うべきですか?”KUKAN はシンプルさとパフォーマンスのため gtag.js を直接使用しています。GTM で管理するタグが GA4 のみのため、GTM は不要です。特別な理由で GTM が必要な場合は、gaMeasurementId を null のままにし、Header などのオーバーライドコンポーネントに GTM のスニペットを置いてください(外観カスタマイズ を参照)。
API アクセスの統計は取れますか?
Section titled “API アクセスの統計は取れますか?”GA4 はブラウザ経由のアクセスのみを計測します。curl やプログラムから直接 API を呼び出すアクセスは捕捉されません。AWS 環境では CloudFront のアクセスログがサイトごとに保存され、API の呼び出しを含めて Athena でクエリできます(アクセスログ(CloudFront)を参照)。
データが表示されるまでどのくらいかかりますか?
Section titled “データが表示されるまでどのくらいかかりますか?”リアルタイムレポートでは数秒以内にデータが表示されます。標準レポートへの反映には 24〜48 時間かかる場合があります。