WithCodeMedia-1-pc
previous arrowprevious arrow
next arrownext arrow

WithCodeMedia-1-sp
previous arrowprevious arrow
next arrownext arrow

【実案件で使える】GA4カスタムディメンション実装|GTMで設定からレポート活用まで徹底解説

生徒

GA4でもっと詳しくユーザー行動を分析したいんですけど、標準レポートだと物足りなくて…

ペン博士

それなら「カスタムディメンション」を使うんじゃ!独自の分析軸を作って、ビジネスに必要なデータを自由に計測できるぞい!

生徒

そういう方法があるんですね!ぜひ教えてください!

GA4(Google Analytics 4)の標準レポートでは、ページビューやセッション数などの基本的な指標は確認できますが、ビジネス特有の分析をしたい場合には限界があります。

例えば、「どの資料がダウンロードされたか」「会員ステータス別のコンバージョン率」「商品カテゴリー別の購買行動」など、自社ビジネスに特化した分析軸を設定したい場合、カスタムディメンションが必要になります。

本記事では、GA4のカスタムディメンション実装について、Googleタグマネージャー(GTM)を使った設定方法からレポート活用まで、実例を踏まえて詳しく解説します。

「学習→案件獲得」につなげた受講生のリアルな体験談も公開中!
働き方を変えたい方にも響くストーリーです。

菅井さん
将来的への不安と子育てという背景から「副業」に挑戦しようと決意。独学からプログラミングの学習を開始していたが、WithCodeに出会い体験コースを受講。約4ヶ月の学習に取り組み、当初の目標であった卒業テスト合格を実現した。WithCode Platinumにて3件の案件を担当し、現在は副業だけでなく本格的に「フリーランス」として在宅で活躍していきたいと考えるようになる。

詳しくはこちらの記事をご覧ください。

あわせて読みたい
【子育てママさん必見】「在宅×副業」を達成!多方向で活躍中のママさんフリーランスにインタビュー! ペン博士、ママさんなのに在宅で副業もこなしている方がいるって聞いたんですけど、本当ですか?だとしたらすごすぎます! うむ、うちの受講生でな、まさに“時間も場所...

菅井さんの主な制作実績はこちら


目次

GA4のカスタムディメンションとは?

GA4のカスタムディメンションとは、独自の分析軸(ディメンション)を設定して、レポートで詳細に分析できる機能です。

標準で用意されているディメンション(ページタイトル、参照元、デバイスカテゴリなど)では分析できない、ビジネス特有の情報を計測したい場合に使用します。

カスタムディメンションの活用例

  • 資料ダウンロード分析: どの資料がダウンロードされたかを計測
  • 会員ステータス別分析: 無料会員・有料会員ごとの行動を比較
  • 商品カテゴリー分析: カテゴリー別の購買行動を把握
  • コンテンツタイプ分析: 記事、動画、インフォグラフィックなどコンテンツ種別ごとのエンゲージメント測定
  • ログイン状態分析: ログイン中・非ログイン中のユーザー行動を比較

UAとの大きな違い

旧バージョンのユニバーサルアナリティクス(UA)でもカスタムディメンションは存在しましたが、GA4では仕組みが大きく変わっています。

項目ユニバーサルアナリティクス(UA)GA4
ベースとなる概念ヒット、セッション、ユーザーイベントとユーザープロパティ
設定方法管理画面で直接設定イベントパラメータ/ユーザープロパティを登録してからGA4で紐付け
スコープヒット、セッション、ユーザー、商品イベント、ユーザー
上限数20個(無料版)イベント50個、ユーザー25個

GA4では「イベント」が計測の中心になっているため、カスタムディメンションもイベントパラメータとユーザープロパティの2つを軸に設定します。


カスタムディメンションの2つのスコープ

ペン博士

GA4のカスタムディメンションには、「イベントスコープ」と「ユーザースコープ」の2種類がある。用途に応じて使い分けることが重要じゃ!

生徒

そうなんですね!その違いを教えてください!

1. イベントスコープ

イベントスコープは、個々のイベントに紐づく情報を計測します。イベントが発生するたびに値が変わる可能性がある情報に使用します。

使用例:

  • ダウンロードされた資料名(「製品カタログ」「料金表」など)
  • 閲覧した記事のカテゴリー(「技術解説」「事例紹介」など)
  • 購入した商品のカテゴリー(「家電」「食品」など)
  • 動画の再生完了率(「25%」「50%」「100%」)

上限: 50個まで設定可能

2. ユーザースコープ

ユーザースコープは、ユーザー自体の属性を計測します。セッションをまたいで変わらない、またはゆっくり変化する情報に使用します。

使用例:

  • 会員ステータス(「無料会員」「プレミアム会員」「法人会員」)
  • ログイン状態(「ログイン済み」「非ログイン」)
  • 顧客ランク(「ブロンズ」「シルバー」「ゴールド」)
  • 初回流入経路(「オーガニック検索」「広告」「SNS」)

上限: 25個まで設定可能

スコープの選び方

迷った場合は、以下の判断基準を参考にしてください:

  • イベントスコープ: 「このアクションは何?」を分析したい場合
  • ユーザースコープ: 「このユーザーは誰?」を分析したい場合

カスタムディメンション実装の3ステップ

ペン博士

カスタムディメンションの実装は、「GTMで計測設定 → GA4で登録 → レポートで活用」の3段階で進めるぞ!

生徒

3つのステップがあるんですね。順番に教えてください!

ペン博士

順を追って説明するぞい!まずはGTMでイベントパラメータを設定するところからじゃ!


ステップ1:Googleタグマネージャー(GTM)での計測設定

まず、GTMでイベントパラメータまたはユーザープロパティを設定します。ここでは、「資料ダウンロード」を計測する例を紹介します。

1-1. 変数の作成

GTMで「変数」セクションを開き、「新規」をクリックします。

変数タイプ: 「データレイヤーの変数」を選択

データレイヤーの変数名: document_name と入力

変数名: 「DLV – document_name」など分かりやすい名前を付ける

この変数は、後でイベントパラメータとして使用します。

1-2. トリガーの作成

資料ダウンロードボタンがクリックされたタイミングを検出するトリガーを作成します。

トリガータイプ: 「すべての要素」を選択

トリガーの発生場所: 「一部のクリック」を選択

条件設定:

  • 「Click URL」が「/download/」を含む
  • または「Click Classes」が「download-btn」と等しい

1-3. GA4イベントタグの作成

「タグ」セクションで新規タグを作成します。

タグタイプ: 「Google アナリティクス: GA4 イベント」を選択

測定ID: GA4の測定IDを入力(例:G-XXXXXXXXXX)

イベント名: document_download と入力

イベントパラメータ: 以下を追加

  • パラメータ名:document_name
  • 値:{{DLV - document_name}}(先ほど作成した変数を選択)

トリガー: 作成した「資料ダウンロードクリック」トリガーを設定

1-4. データレイヤーへのプッシュ(必要に応じて)

静的なHTML要素から値を取得できない場合は、JavaScriptでデータレイヤーにプッシュします。

// 資料ダウンロードボタンのクリックイベント
document.querySelector('.download-btn').addEventListener('click', function() {
  window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({
    'event': 'document_download',
    'document_name': '製品カタログ2026版', // ダウンロードされた資料名
    'document_category': '製品資料' // オプション:カテゴリー情報
  });
});

1-5. プレビューとテスト

GTMの「プレビュー」機能で、設定が正しく動作するかテストします。

1. GTM画面右上の「プレビュー」をクリック

2. サイトURLを入力して「リンク」

3. 資料ダウンロードボタンをクリック

4. TMデバッグ画面で「document_download」イベントが発火し、パラメータ「document_name」が正しく送信されているか確認

問題なければ、GTMで「公開」をクリックして変更を本番環境に適用します。


ステップ2:GA4でのカスタムディメンション登録

GTMで送信したイベントパラメータを、GA4のカスタムディメンションとして登録します。

2-1. GA4管理画面にアクセス

1. GA4の管理画面にログイン

2. 左下の「管理」(歯車アイコン)をクリック

3. 「プロパティ」列から「カスタム定義」を選択

2-2. カスタムディメンションの作成

1. 「カスタムディメンションを作成」ボタンをクリック

2. 以下の情報を入力:

  • ディメンション名: 「資料名」(レポートで表示される名前)
  • 範囲: 「イベント」を選択
  • 説明: 「ダウンロードされた資料の名前」(任意だが推奨)
  • イベントパラメータ: document_name と入力(GTMで設定したパラメータ名と完全一致させる)

3. 「保存」をクリック

重要な注意点

・パラメータ名の完全一致: GTMで設定した document_name とGA4で登録する「イベントパラメータ」名は完全に一致させる必要があります(大文字小文字も区別されます)
・データ反映には時間がかかる: 設定後、レポートにデータが表示されるまで24〜48時間かかる場合があります
・削除はできない: 一度作成したカスタムディメンションは削除できません(アーカイブのみ可能)


ステップ3:レポートでの活用方法

カスタムディメンションを登録したら、「探索」機能を使ってレポートを作成します。

3-1. 探索レポートの作成

1. GA4の左メニューから「探索」を選択

2. 「空白」テンプレートを選択(または「自由形式」)

3. 「変数」パネルで「ディメンション」の「+」をクリック

4. 「カスタム」カテゴリーから「資料名」を選択してインポート

3-2. レポートの設定

ディメンション:

  • 行に「資料名」をドラッグ&ドロップ

指標:

  • 値に「イベント数」「ユーザー数」「セッション数」などをドラッグ&ドロップ

これで、「どの資料が何回ダウンロードされたか」が一覧表示されます。

3-3. クロス分析の例

カスタムディメンションと他のディメンションを組み合わせることで、より深い分析が可能です。

例1:資料名 × 参照元

  • どの流入経路から来たユーザーが、どの資料をダウンロードしているか分析

例2:資料名 × デバイスカテゴリ

  • PC・スマホ・タブレットのどのデバイスで資料がダウンロードされているか分析

例3:資料名 × ページパス

  • どのページから資料がダウンロードされているか分析

実装例1:会員ステータスの計測(ユーザースコープ)

生徒

カスタムディメンションの実装例を知りたいです!

ペン博士

うむ。ここでは、ユーザースコープのカスタムディメンションの実装例として、「会員ステータス」を計測する方法を紹介するぞ!

GTMでの設定

1. ユーザープロパティの送信タグを作成

  1. タグタイプ:「Google アナリティクス: GA4 設定」
  2. 測定IDを入力
  3. 「詳細設定」→「設定するフィールド」で以下を追加:
    • フィールド名:user_properties.member_status
    • 値:{{DLV - member_status}}(データレイヤー変数)
  4. トリガー:「すべてのページ」(ページビューごとに送信)

2. データレイヤーにプッシュ

サーバーサイドで会員情報を取得し、HTMLに埋め込みます(例:PHPの場合):

<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'member_status': '', // 「無料会員」「プレミアム会員」など
  'member_id': '' // オプション:会員ID
});
</script>

GA4での登録

  1. 「カスタム定義」→「カスタムディメンションを作成」
  2. ディメンション名:「会員ステータス」
  3. 範囲:ユーザーを選択
  4. ユーザープロパティ:member_status

レポートでの活用

「探索」レポートで「会員ステータス」をディメンションに追加し、以下のような分析が可能になります:

  • 無料会員とプレミアム会員のコンバージョン率の比較
  • 会員ステータス別のページ閲覧傾向
  • 会員ランクアップ前後の行動変化

実装例2:記事カテゴリーの計測(イベントスコープ)

ペン博士

次は、ブログメディアで「閲覧された記事のカテゴリー」を計測する例を紹介するぞ!

生徒

はい!よろしくお願いします!

GTMでの設定

1. データレイヤー変数の作成

  • 変数名:DLV - article_category
  • データレイヤーの変数名:article_category

2. GA4イベントタグに追加

既存の「ページビュー」タグ、または新規で「記事閲覧」イベントタグを作成し、イベントパラメータに追加:

  • パラメータ名:article_category
  • 値:{{DLV - article_category}}

3. HTMLにデータレイヤーを埋め込み

記事ページのHTMLヘッダーに以下を追加(WordPressの場合の例):

<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'article_category': 'Web開発', // 記事のカテゴリー
  'article_author': '山田太郎', // オプション:著者名
  'article_publish_date': '2026-02-03' // オプション:公開日
});
</script>

GA4での登録

  1. ディメンション名:「記事カテゴリー」
  2. 範囲:「イベント」を選択
  3. イベントパラメータ:article_category

レポートでの活用

  • どのカテゴリーの記事が最も読まれているか
  • カテゴリー別の平均エンゲージメント時間
  • カテゴリー別のコンバージョン率

実装例3:商品属性の計測(ECサイト向け)

ペン博士

次は、ECサイトで「商品カテゴリー」や「ブランド」を計測する例を紹介するぞ!

生徒

はい!ECサイトはよく使うので教えてください!

GTMでの設定

Eコマース拡張計測を使用している場合、以下のようにデータレイヤーに商品情報をプッシュします:

// 商品詳細ページ
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'event': 'view_item',
  'ecommerce': {
    'items': [{
      'item_id': 'SKU12345',
      'item_name': 'ワイヤレスヘッドホン',
      'item_category': '家電', // カスタムディメンション候補
      'item_brand': 'Sony', // カスタムディメンション候補
      'price': 15000
    }]
  },
  'product_category': '家電',
  'product_brand': 'Sony'
});

GTMで以下のカスタムディメンションを作成:

  1. 商品カテゴリー
    • イベントパラメータ:product_category
    • 範囲:イベント
  2. 商品ブランド
    • イベントパラメータ:product_brand
    • 範囲:イベント

レポートでの活用

  • カテゴリー別の売上分析
  • ブランド別の購入率比較
  • カテゴリー × 流入経路のクロス分析

カスタムディメンションの上限と制限事項

GA4のカスタムディメンションには、以下の上限があります。

設定可能数の上限

スコープ無料版GA4 360(有料版)
イベントスコープ50個125個
ユーザースコープ25個100個

その他の制限事項

  • 削除不可: 一度作成したカスタムディメンションは削除できません(アーカイブして非表示にすることは可能)
  • 過去データへの遡及適用不可: カスタムディメンションを登録した時点以降のデータのみが計測されます
  • 値の長さ制限: イベントパラメータの値は最大100文字まで
  • データ反映の遅延: 設定後、レポートに反映されるまで24〜48時間かかる場合があります

上限に達した場合の対処法

上限に達した場合は、以下の方法で対処できます:

  1. アーカイブ: 使用していないカスタムディメンションをアーカイブして容量を確保
  2. 統合: 似た目的のディメンションを1つにまとめる(例:「資料A」「資料B」→「資料種別」に統合)
  3. GA4 360へのアップグレード: 有料版に切り替えて上限を拡張

カスタムディメンション設計のベストプラクティス

生徒

カスタムディメンションって便利ですけど、闇雲に作ると上限に達しちゃいそうですね…

ペン博士

その通りじゃ!計画的に設計することが重要なんじゃぞ。事前に整理しておくべきポイントを教えるぞい!

1. 事前に計測計画を立てる

いきなり実装するのではなく、以下の順序で計画を立てましょう:

  1. ビジネスゴールの明確化: 何を達成したいのか?
  2. 必要な分析軸のリストアップ: どんなデータが必要か?
  3. 優先順位付け: 上限があるため、重要度の高いものから実装
  4. スプレッドシートで管理: すべてのカスタムディメンションを一覧化

2. 命名規則を統一する

パラメータ名とディメンション名は、チーム全体で理解しやすいルールを決めましょう。

推奨される命名規則:

  • スネークケース: document_namemember_status
  • 接頭辞の活用: user_(ユーザースコープ)、event_(イベントスコープ)など
  • わかりやすい日本語名: GA4のディメンション名は「資料名」「会員ステータス」など直感的に

3. ドキュメント化を徹底する

各カスタムディメンションについて、以下の情報をスプレッドシートで管理します:

  • ディメンション名(GA4で表示される名前)
  • パラメータ名(GTMで設定する名前)
  • スコープ(イベント/ユーザー)
  • 用途・目的
  • 取りうる値の例
  • 設定日
  • 担当者

4. テストを入念に行う

本番環境に反映する前に、以下のテストを実施しましょう:

  • GTMプレビューモード: イベントが正しく発火し、パラメータが送信されているか
  • GA4 DebugView: リアルタイムでイベントとパラメータを確認
  • 探索レポート: 24〜48時間後にデータが正しく表示されるか確認

5. 値の設計に注意する

カスタムディメンションの値は、分析しやすい形式にしましょう。

良い例:

  • 「無料会員」「プレミアム会員」「法人会員」(明確なカテゴリー)
  • 「A」「B」「C」(A/Bテストのバリエーション)

悪い例:

  • 「ユーザーID: 12345」(ユニークすぎて集計できない)
  • 「プレミアム会員(2026年1月登録)」(冗長で分析しにくい)

トラブルシューティング

生徒

カスタムディメンションを実装するにあたってトラブルシューティングのことも知りたいです!

ペン博士

うむ。ここでは、主なトラブルシューティングを4つ紹介するぞい!

問題1:レポートにデータが表示されない

原因:

  • 設定してから24〜48時間経過していない
  • GTMのパラメータ名とGA4の登録名が一致していない
  • イベント自体が発火していない

解決策:

  1. GA4 DebugViewで確認: 左メニュー「管理」→「DebugView」でイベントがリアルタイムで送信されているか確認
  2. パラメータ名の確認: GTMで設定した document_name とGA4で登録した「イベントパラメータ」名が完全一致しているか(大文字小文字含む)
  3. 24〜48時間待つ: データ反映には時間がかかるため、焦らず待つ

問題2:値が「(not set)」と表示される

原因:

  • パラメータの値が空(null、undefined)で送信されている
  • データレイヤーのプッシュタイミングが早すぎる

解決策:

  1. GTMプレビューで値を確認: 変数に正しい値が入っているか確認
  2. デフォルト値を設定: GTMの変数設定で「未定義の値のデフォルト値」に「未設定」などを指定
  3. 条件付きトリガー: 値が存在する場合のみイベントを発火するようトリガーに条件を追加

問題3:上限に達してしまった

原因:

  • イベントスコープ50個、ユーザースコープ25個の上限に達した

解決策:

  1. アーカイブ: 使用していないカスタムディメンションをアーカイブ(「カスタム定義」画面でアーカイブボタンをクリック)
  2. ディメンションの統合: 似た目的のディメンションを1つにまとめる設計に変更
  3. BigQueryエクスポート活用: より詳細な分析はBigQueryで行う

問題4:スコープの選択を間違えた

原因:

  • イベントスコープとユーザースコープを間違えて選択した

解決策:

残念ながら、一度作成したカスタムディメンションのスコープは変更できません。以下の対処が必要です:

  1. 既存のカスタムディメンションをアーカイブ
  2. 正しいスコープで新しいカスタムディメンションを作成
  3. GTMの設定を更新(必要に応じて)

生徒

カスタムディメンションって最初は難しそうでしたけど、3ステップで整理されていてわかりやすかったです!

ペン博士

そうじゃろう!GTMとGA4の連携を理解すれば、どんなデータでも計測できるようになるぞい。まずは小さく始めて、徐々に分析の幅を広げていくのがコツじゃ!

生徒

すごく勉強になります!ありがとうございました!

まとめ

本記事では、GA4のカスタムディメンション実装について、GTMでの設定からレポート活用まで詳しく解説しました。

重要なポイントは以下の通りです。

カスタムディメンションは独自の分析軸を設定できる強力な機能
イベントスコープ(行動の分析)とユーザースコープ(属性の分析)を使い分ける
実装は「GTMで計測設定 → GA4で登録 → レポートで活用」の3ステップ
上限があるため、事前に計画を立てて優先順位をつける
パラメータ名の完全一致、データ反映の遅延に注意
ドキュメント化と命名規則の統一でチーム全体の効率を向上

カスタムディメンションを活用すれば、標準レポートでは見えなかったビジネスの重要な洞察が得られます。

まずは自社のビジネスゴールを明確にし、本当に必要な分析軸から実装を始めてみましょう。計画的に設計すれば、GA4はさらに強力なデータ分析ツールになります。


WithCodeを体験できる初級コース公開中!

Web制作やデータ分析のスキルを身につけて、フリーランスとして活躍しませんか?

初級コース(¥49,800)が完全無料に!

  • 期間:1週間
  • 学習内容:
    ロードマップ/基礎知識/環境構築/HTML/CSS/LP・ポートフォリオ作成
    → 正しい学習方法で「確かな成長」を実感できるカリキュラム

副業・フリーランスが主流になっている今こそ、自らのスキルで稼げる人材を目指してみませんか?

未経験でも心配することはありません。初級コースを受講される方の大多数はプログラミング未経験です。まずは無料カウンセリングで、悩みや不安をお聞かせください!

この記事を書いた人

WithCode(ウィズコード)は「目指すなら稼げる人材」をビジョンに、累計400名以上のフリーランスを輩出してきた超実践型プログラミングスクールです。150社以上の実案件支援を特徴にWeb制作・Webデザインなどの役立つ情報を現場のノウハウに基づいて発信していきます。

– service –WithCodeの運営サービス

  • WithCode
    - ウィズコード -

    スクール

    「未経験」から
    現場で通用する
    スキルを身に付けよう!

    詳細はこちら
  • WithFree
    - ウィズフリ -

    実案件サポート

    制作会社のサポート下で
    実務経験を積んでいこう!

    詳細はこちら
  • WithCareer
    - ウィズキャリ -

    就転職サポート

    大手エージェントのサポート下で
    キャリアアップを目指そう!

    詳細はこちら

公式サイト より
今すぐ
無料カウンセリング
予約!

目次