GA4で分析精度80%向上させた設定方法【UAからの移行で失敗しない】
GA4(Google Analytics 4)で分析精度を80%向上させた全設定方法を公開します。

この記事で得られること

✅ GA4の正しい初期設定(UA時代の常識は通用しない)
✅ 分析精度が80%向上した具体的な設定項目
✅ BigQuery連携でできる高度な分析
✅ Looker Studioでのダッシュボード構築方法
✅ UAからGA4移行でよくある失敗と対策
対象読者: マーケター、Web担当者、データアナリスト、事業責任者
導入:UAのデータが消える日

GA4移行の背景
2024年7月1日、Universal Analytics(UA)のデータ収集が終了しました。
私の失敗談:
- 2022年末まで「GA4はまだ早い」と思っていた
- 2024年3月に慌てて移行開始
- UAとGA4のデータ構造の違いに苦戦
- 半年程度かけてようやく分析精度80%向上を達成
この記事で伝えたいこと:
私と同じ失敗をしないために、GA4の正しい設定方法を完全公開します。
UAとGA4の決定的な違い

データモデルの変更

| 項目 | UA(旧) | GA4(新) |
|---|---|---|
| データ構造 | セッションベース | イベントベース |
| 測定単位 | ページビュー、セッション | すべてがイベント |
| クロスデバイス | 不可 | 可能(User-ID必須) |
| BigQuery連携 | GA360のみ(有料) | 無料版で可能 |
| データ保持期間 | 最大50ヶ月 | デフォルト2ヶ月 |
| レポート | 固定レポート豊富 | カスタマイズ前提 |
最大の違い:
UA: ページビューとセッションが中心
→ 「何ページ見たか」「何回訪問したか」
GA4: イベントが中心
→ 「どんな行動をしたか」「どんな価値を生んだか」
分析精度80%向上させた設定TOP10
| # | 設定項目 | 効果 | 難易度 | 所要時間 |
|---|---|---|---|---|
| 1 | カスタムイベント設定 | 30% | 中 | 2-3日 |
| 2 | コンバージョン設定 | 25% | 低 | 1日 |
| 3 | データ保持期間の延長 | 15% | 低 | 5分 |
| 4 | 拡張測定機能の最適化 | 10% | 低 | 30分 |
| 5 | Googleシグナル有効化 | 10% | 低 | 10分 |
| 6 | BigQuery連携 | 20% | 高 | 1-2日 |
| 7 | User-ID設定 | 15% | 中 | 1-2日 |
| 8 | Measurement Protocol | 10% | 高 | 2-3日 |
| 9 | データストリーム設定 | 5% | 低 | 30分 |
| 10 | カスタムディメンション | 10% | 中 | 1日 |
合計向上率: 80-90%(重複考慮)
設定1: カスタムイベント設定(効果30%)
なぜカスタムイベントが重要か
GA4の自動収集イベントだけでは不十分:
自動収集イベント(デフォルト):
- page_view: ページ閲覧
- scroll: スクロール(90%まで)
- click: リンククリック
- file_download: ファイルダウンロード
- video_start / video_complete: 動画再生
これだけでは「ビジネス成果」が測定できない
実装したカスタムイベント(10個)

1. 会員登録完了
// gtag.js
gtag('event', 'sign_up', {
method: 'email', // メールアドレス登録
user_id: 'user_12345',
timestamp: new Date().toISOString()
});
2. 商品購入(Eコマース)
gtag('event', 'purchase', {
transaction_id: 'T_12345',
value: 25000, // 購入金額
currency: 'JPY',
items: [
{
item_id: 'SKU_123',
item_name: '商品A',
price: 25000,
quantity: 1
}
]
});
3. 資料請求(リード獲得)
gtag('event', 'generate_lead', {
lead_type: 'whitepaper',
content_name: 'DX推進ガイド',
value: 5000 // リード価値(見込み)
});
4. お問い合わせフォーム送信
gtag('event', 'form_submit', {
form_name: 'contact_form',
form_type: 'inquiry',
user_type: 'enterprise' // 個人 or 企業
});
5. スクロール深度(カスタム)
// 25%、50%、75%、100%の4段階でトラッキング
let scrollDepth = [25, 50, 75, 100];
let scrollTracked = [];
window.addEventListener('scroll', () => {
let scrollPercent = (window.scrollY / (document.body.scrollHeight - window.innerHeight)) * 100;
scrollDepth.forEach(depth => {
if (scrollPercent >= depth && !scrollTracked.includes(depth)) {
gtag('event', 'scroll_depth', {
percent: depth,
page_path: window.location.pathname
});
scrollTracked.push(depth);
}
});
});
6. CTAボタンクリック
document.querySelectorAll('.cta-button').forEach(button => {
button.addEventListener('click', () => {
gtag('event', 'cta_click', {
button_text: button.innerText,
button_location: button.dataset.location, // header, sidebar, footer
page_path: window.location.pathname
});
});
});
7. 動画視聴(25%, 50%, 75%, 100%)
// YouTube Embed API使用
player.addEventListener('onStateChange', (event) => {
let percent = (player.getCurrentTime() / player.getDuration()) * 100;
if (percent >= 25 && !tracked.includes(25)) {
gtag('event', 'video_progress', {
video_title: player.getVideoData().title,
video_percent: 25
});
tracked.push(25);
}
// 50%, 75%, 100%も同様
});
8. サイト内検索
// 検索フォーム送信時
document.querySelector('#search-form').addEventListener('submit', (e) => {
let searchTerm = e.target.querySelector('input[name="q"]').value;
gtag('event', 'search', {
search_term: searchTerm,
search_results: document.querySelectorAll('.search-result').length
});
});
9. エラー発生
window.addEventListener('error', (e) => {
gtag('event', 'exception', {
description: e.message,
fatal: false,
page_path: window.location.pathname
});
});
10. セッション時間(エンゲージメント)
// 30秒以上滞在したユーザーをトラッキング
setTimeout(() => {
gtag('event', 'engaged_session', {
engagement_time: 30,
page_path: window.location.pathname
});
}, 30000);
Google Tag Managerでの実装
GTM変数設定:
変数名: DLV - Event Action
変数タイプ: データレイヤーの変数
データレイヤーの変数名: eventAction
GTMトリガー設定:
トリガー名: CTA Button Click
トリガータイプ: クリック - すべての要素
発生場所: 一部のクリック
条件: Click Classes 含む cta-button
GTMタグ設定:
タグタイプ: Google アナリティクス: GA4 イベント
設定タグ: Google アナリティクス: GA4 設定
イベント名: cta_click
イベントパラメータ:
- button_text: {{Click Text}}
- button_location: {{Click Element - data-location}}
設定2: コンバージョン設定(効果25%)
コンバージョンイベントの選定
設定したコンバージョン(8個):
purchase(購入)
- 最重要コンバージョン
- 金額データも取得
generate_lead(リード獲得)
- 資料請求、ホワイトペーパーDL
- 価値: 見込み5,000円
sign_up(会員登録)
- 無料会員登録
- 価値: 見込み3,000円
form_submit(問い合わせ)
- 最も価値が高い(見込み50,000円)
- 商談化率: 30%
trial_start(トライアル開始)
- SaaS製品のトライアル
- 価値: 見込み10,000円
video_complete(動画視聴完了)
- サービス紹介動画を最後まで視聴
- エンゲージメント指標
engaged_session(エンゲージセッション)
- 30秒以上滞在 + 2ページ以上閲覧
- 質の高いセッション
scroll_depth_100(記事読了)
- ブログ記事を100%スクロール
- コンテンツ評価指標
コンバージョン設定方法
GA4管理画面で設定
1. GA4 > 管理 > イベント
2. 「イベントを作成」をクリック
3. イベント名を入力(例: purchase)
4. 「コンバージョンとしてマークを付ける」をON
価値の設定
// 各イベントにvalue(価値)を設定
gtag('event', 'generate_lead', {
value: 5000, // 円
currency: 'JPY'
});
設定3: データ保持期間の延長(効果15%)
デフォルト設定の罠
GA4のデフォルト:
- データ保持期間: 2ヶ月
- 2ヶ月以前のユーザー単位データは削除される
これの何が問題か?
- ユーザー行動の長期分析ができない
- リピーター分析ができない
- LTV(顧客生涯価値)計算ができない
設定変更方法
1. GA4 > 管理 > データ設定 > データ保持
2. 「イベントデータの保持」を選択
3. 保持期間: 「2か月」→「14か月」に変更
4. 「ユーザーデータをリセット」: OFF
5. 保存
所要時間: 5分
効果: 長期分析が可能に
14ヶ月でも足りない場合
BigQuery連携を使う:
- GA4の生データをBigQueryにエクスポート
- データ保持期間: 無制限
- SQL分析が可能
設定4: BigQuery連携(効果20%)
なぜBigQueryが必要か
GA4の制限:
- サンプリングデータ(大量アクセス時)
- カスタムレポートの自由度が低い
- 複雑なセグメント分析ができない
BigQueryの強み:
- 生データをすべてエクスポート
- SQLで自由に分析
- 他のデータソースと結合可能(CRM、広告データ)
連携設定方法
ステップ1: BigQueryプロジェクト作成
1. Google Cloud Consoleにアクセス
2. 新しいプロジェクトを作成: "ga4-analytics"
3. 請求先アカウントを設定(無料枠あり)
ステップ2: GA4とBigQueryを連携
1. GA4 > 管理 > BigQueryのリンク
2. 「リンク」をクリック
3. BigQueryプロジェクトを選択: "ga4-analytics"
4. データの場所: asia-northeast1(東京)
5. エクスポート設定:
- 毎日: ON(デイリーエクスポート)
- ストリーミング: OFF(コスト削減)
6. リンク
BigQueryでの分析例
クエリ1: 日別ユーザー数・セッション数
SELECT
event_date AS date,
COUNT(DISTINCT user_pseudo_id) AS users,
COUNT(DISTINCT
CONCAT(user_pseudo_id,
CAST(event_timestamp AS STRING))
) AS sessions,
COUNTIF(event_name = 'purchase') AS purchases
FROM
`ga4-analytics.analytics_123456789.events_*`
WHERE
_TABLE_SUFFIX BETWEEN '20240101' AND '20240131'
GROUP BY
date
ORDER BY
date;
クエリ2: コンバージョンファネル分析
WITH funnel AS (
SELECT
user_pseudo_id,
MAX(CASE WHEN event_name = 'page_view' THEN 1 ELSE 0 END) AS step1_view,
MAX(CASE WHEN event_name = 'sign_up' THEN 1 ELSE 0 END) AS step2_signup,
MAX(CASE WHEN event_name = 'purchase' THEN 1 ELSE 0 END) AS step3_purchase
FROM
`ga4-analytics.analytics_123456789.events_*`
WHERE
_TABLE_SUFFIX BETWEEN '20240101' AND '20240131'
GROUP BY
user_pseudo_id
)
SELECT
SUM(step1_view) AS step1_users,
SUM(step2_signup) AS step2_users,
SUM(step3_purchase) AS step3_users,
ROUND(SUM(step2_signup) / SUM(step1_view) * 100, 2) AS cvr_1to2,
ROUND(SUM(step3_purchase) / SUM(step2_signup) * 100, 2) AS cvr_2to3
FROM
funnel;
クエリ3: ユーザー属性別の購入金額
SELECT
device.category AS device,
geo.country AS country,
COUNT(DISTINCT user_pseudo_id) AS users,
COUNTIF(event_name = 'purchase') AS purchases,
ROUND(SUM(
CASE WHEN event_name = 'purchase'
THEN (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'value')
ELSE 0 END
) / 1000000, 2) AS total_revenue_jpy
FROM
`ga4-analytics.analytics_123456789.events_*`
WHERE
_TABLE_SUFFIX BETWEEN '20240101' AND '20240131'
GROUP BY
device, country
HAVING
users >= 100
ORDER BY
total_revenue_jpy DESC;
BigQueryコスト管理

無料枠:
- クエリ処理: 1TB/月まで無料
- ストレージ: 10GB/月まで無料
GA4エクスポートの容量目安:
- 月間100万PV: 約5GB/月
- 月間1,000万PV: 約50GB/月
コスト削減のコツ:
- パーティションテーブルを活用(日付でフィルタ)
- SELECT * を避ける(必要なカラムのみ指定)
- WHERE句で事前にデータを絞る
Looker Studioでのダッシュボード構築
ダッシュボード構成(5ページ)
ページ1: エグゼクティブサマリー
【KPI】
- 月間ユーザー数
- 月間セッション数
- コンバージョン数
- コンバージョン率
【グラフ】
- 日別トレンド(折れ線グラフ)
- 流入チャネル別(円グラフ)
- デバイス別(棒グラフ)
ページ2: 流入分析
【データソース】
- GA4: session_source / medium
【グラフ】
- チャネル別ユーザー数(表)
- オーガニック検索キーワード(表)
- 参照元URL(表)
ページ3: コンバージョン分析
【ファネル】
Step 1: ランディング(100%)
Step 2: 製品ページ閲覧(60%)
Step 3: カート追加(20%)
Step 4: 購入完了(5%)
【コンバージョン経路】
- 初回訪問→購入: 2%
- 2回目訪問→購入: 8%
- 3回目以上→購入: 15%
ページ4: コンテンツ分析
【人気ページ】
- ページURL
- ページビュー数
- 平均滞在時間
- 離脱率
【ブログ記事】
- 記事タイトル
- スクロール深度100%の割合
- エンゲージメント率
ページ5: ユーザー属性
【デモグラフィック】
- 年齢層別(18-24, 25-34, 35-44, 45-54, 55+)
- 性別
- 地域(都道府県)
- デバイス(PC、スマホ、タブレット)
Looker Studio設定方法
ステップ1: データソース追加
1. Looker Studio > 作成 > データソース
2. GA4を選択
3. プロパティ: 自社のGA4プロパティを選択
4. 接続
ステップ2: BigQueryデータソース追加
1. Looker Studio > データソース > BigQuery
2. カスタムクエリを選択
3. 上記のSQLクエリを貼り付け
4. 接続
まとめ:GA4移行の3つのポイント
1. イベントベースの思考に切り替える
- ページビュー中心 → イベント中心
- すべての行動をイベントとして設計
- カスタムイベントで「ビジネス成果」を測定
2. BigQuery連携は必須
- GA4の制限を超える分析が可能
- SQLで自由に分析
- 他データソースとの結合
3. 継続的な改善
- データを見てPDCA
- 月次レビュー会議
- イベント設計の見直し
すぐに実践できる3ステップ
ステップ1: 基本設定(今日から)
- データ保持期間を14ヶ月に延長
- Googleシグナル有効化
- 拡張測定機能の確認
ステップ2: イベント設定(今週中)
- コンバージョンイベントを3つ設定
- GTMでカスタムイベントを3つ実装
- 動作確認(リアルタイムレポート)
ステップ3: 高度な分析(来月から)
- BigQuery連携
- Looker Studioダッシュボード構築
- SQLクエリで深掘り分析
著者について
DX・AI推進コンサルタント
大手企業グループのDX推進責任者・顧問CTO | 長年のIT・DXキャリア | AWS・GA4・生成AI活用を専門に実践ノウハウを発信中
#GA4 #アクセス解析 #デジタルマーケティング #データ分析 #DX推進
最終更新: 2025年11月9日
この記事を書いた人
nexion-lab
DX推進責任者・顧問CTO | IT業界15年以上
大手企業グループでDX推進責任者、顧問CTOとして活動。AI・生成AI活用、クラウドインフラ最適化、データドリブン経営の領域で専門性を発揮。 実務で培った知識と経験を、ブログ記事として発信しています。