目次
はじめに
この記事を書くにあたり、自身はGA4のUser-ID機能を実際に実装した経験はありません。
そこで、Google公式ドキュメントや技術記事を徹底的に調べ、専門家の方々の解説も参考にしながら、この記事をまとめました。「何が危険で、何が安全なのか」「どんな手順が必要なのか」という全体像は、できる限り正確にお伝えできるよう心がけました。
もし記事を読んで「ここ、実際は違うよ」という点があれば、ぜひ教えていただけると嬉しいです。
User-ID機能って、そもそも何?
User-IDとは、簡単に言うと「スマホでサイトを見た人が、後でパソコンで同じサイトを見たとき、『あ、この人さっきスマホで見てた人だ』と分かるようにする仕組み」です。
参考:[GA4] User-ID で複数のプラットフォームをまたいでアクティビティを測定する – アナリティクス ヘルプ
会員サイトやログイン機能がないWebサイトでは使えません。
GA4が自動で割り振るものではなく、サイト運営者が独自に用意したIDをGA4に送る仕組みをいいます。
【User-IDを使わない場合】
- 朝、スマホでサイトを見る → GA4「1人目のお客さんだ!」
- 夜、同じ人がPCでサイトを見る → GA4「2人目のお客さんだ!」
- 実際は1人なのに、GA4では2人とカウントされてしまう
【User-IDを使う場合】
- 朝、スマホでサイトを見る → GA4「会員番号○○の人だ」
- 夜、同じ人がPCでサイトを見る → GA4「あ、さっきの会員番号○○の人だ。同じ人だね」
- 正しく1人としてカウントされる
なぜこれが便利なのか:
正直、コーポレートサイトのような「誰でも見られるサイト」では、それほど重要ではないかもしれません。でも、ECサイトや会員制サービスを運営している方にとっては、すごく大事な情報です。
例えば:
- 「スマホで商品を見て、PCで買った人」が何人いるか分かる
- 「スマホでもPCでも見てる人は、どんな行動をしているか」が分かる
- 本当のお客さんの数が正確に把握できる
ただし、これには落とし穴があります。それが「個人情報の扱い」です。(※ 4.絶対にやってはいけないことで詳しく説明あり)
User-IDが使えるサイト、使えないサイト
ここ、すごく大事なポイントです。
Google公式ドキュメントによると、User-IDを使うには「自社で生成したユーザーIDを個々のユーザーに関連付ける」必要があります。
参考:[GA4] User-ID で複数のプラットフォームをまたいでアクティビティを測定する
公式ドキュメントには「これは通常、ログイン中に行われます」と書かれています。
つまり、User-IDを使うには、ユーザーを一意に識別できる仕組み(ログイン機能など)が必要です。技術的には他の方法でもIDを作れるようですが、個人情報を誤って送信してしまうリスクが高いため、実務上は、ログイン機能がある会員制サイトでの利用が前提と考えた方がいいと思ってます。

User-ID利用可否一覧
| サイトの種類 | ログイン機能の特徴 | User-ID利用 |
|---|---|---|
| ECサイト(ネット通販) | 会員登録してログインする仕組みがある | ◎ |
| 会員制メディア(有料記事サイト、オンライン学習など) | メンバーシップがある | ◎ |
| 予約サイト(ホテル、美容院など) | マイページで予約履歴を見られる | ◎ |
| その他、ログイン機能があるサイト全般 | ユーザー識別が可能 | ◎ |
| 会社案内サイト | ログインする必要がない | × |
| 誰でも見られるブログやニュースサイト | 会員登録なしで読める | × |
| 情報提供サイト(レシピ、観光情報など) | ログイン機能がない | × |
【重要】
もし管理サイトにログイン機能がない場合、User-IDは使えません。その場合は、デバイスIDベースの計測になります。
以前は「Googleシグナル」という機能がUser-IDの代替として使えましたが、2024年2月12日にGoogleシグナルがレポート用識別子から削除されました。
現在、Googleシグナルはデモグラフィックレポート(年齢・性別・興味関心)やGoogle広告との連携には使えますが、クロスデバイスでのユーザー識別には使えなくなっています。
参考:[GA4] Activate Google signals for Google Analytics 4 properties – Analytics Help
User-IDの仕組み:実は「会員情報の共有」だった
これ、調べるまで勘違いしていたのですが…
User-IDって、何か新しいシステムを作るわけじゃないんです。
すでにサイトが持っている会員番号やメールアドレスを基に、唯一無二のIDを生成してGA4に送る
これだけなんです。

User-IDの流れ
- お客さんがサイトにログイン
- サイト「この人は会員番号12345だ」(これはサイトがもともと知ってる情報)
- その会員番号を「誰だか分からない形」に変換(これを「ハッシュ化」と言います)
- 変換した番号をGA4に送る
- GA4「この番号の人が、スマホでもPCでも見てるんだな」と認識
ここで絶対に覚えておいてほしいのが:
【重要!!!】会員番号をそのまま送ってはダメ
なぜなら、会員番号は、それ単体では個人を特定できなくても、他のデータと組み合わせると「この人は○○さんだ」と分かってしまう可能性があるからです。
Google公式ドキュメントにも、「User-IDには個人を特定できる情報(PII)を含めてはいけない」と明記されています。
特に、メールアドレス、電話番号、氏名、住所などは、必ずSHA-256でハッシュ化(暗号化)することが義務付けられています。
参考:[GA4] User-ID for cross-platform analysis – Analytics Help
参考:Send user-provided data with User-ID using the Measurement Protocol
会員番号については公式に明確な指示はありませんが、安全性を高めるため、会員番号もハッシュ化することが強く推奨されています。
なので、必ず「ハッシュ化」という処理をして、「元が何だったか分からない形」に変換してから送ります。
参考:個人を特定できる情報(PII:ピーアイアイ)を送信しないようにするためのヒント
注釈:PIIとは、Personally Identifiable Information の略で、「個人を特定できる情報」という意味
絶対にやってはいけないこと:個人情報を送ること
【絶対NG】User-IDに使ってはいけない項目
メールアドレス → 絶対ダメ
例:user_id = “taro@example.com”
電話番号 → 絶対ダメ
例:user_id = “090-1234-5678”
氏名 → 絶対ダメ
例:user_id = “山田太郎”
住所 → 絶対ダメ
例:user_id = “東京都渋谷区…”
その他:
- クレジットカード番号
- マイナンバー
- パスポート番号
- 免許証番号
- 会員番号をそのまま(例:12345)→ 推奨されない
なぜここまで厳しいのか?
理由は明確です。GA4はGoogleのサーバーにデータを送る仕組みだからです。
個人情報をそのまま送ってしまうと、Googleが個人を特定できてしまいます。これは、Googleの利用規約で厳しく禁止されています。
しかも、ここがポイントなのですが:
「Cookie同意を得ていれば個人情報を送っていい」わけではありません
これはGoogleの規約違反です。ユーザーの同意があっても、個人情報を送ることは許されていません。
じゃあ、何ならOKなの?「ハッシュ化」という方法
ここからが、少し技術的な話になります。
OK例:会員番号を「ハッシュ化」したもの
元の会員番号:12345
↓ ハッシュ化する(SHA-256という方法)
ハッシュ化後:5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5
この長〜い文字列をUser-IDとして使う → これならOK!
参考:ユーザー ID を送信する | Google Analytics
【用語解説:ハッシュ化って何?】
ハッシュ化とは、元の情報を全く違う文字列に変換することです。
特徴:
- 変換後は、絶対に元の番号に戻せない(一方通行)
- 同じ会員番号からは、いつも同じ結果が出る
- 誰の番号か分からないが、「同じ人」かどうかは分かる
ただし、ここで言っておきたいのですが、
ハッシュ化すれば100%安全、というわけではありません
注意点:
- 元のデータが単純すぎると推測されるリスクがある
- 他のデータと突き合わせると特定される可能性もゼロではない
- MD5のような弱いハッシュ関数は使ってはいけない
なので、以下の工夫が必要です:
- SHA-256のような強力なハッシュ関数を使う(Googleの最小要件)
- 個人情報は絶対に元データとして使わない
- 可能であればソルト(8文字以上)を追加する
- プライバシーポリシーで明記し、ユーザーに説明する
参考:GA4のUser-IDとは?設定方法や注意点 | DX BLOG
これらを守れば、かなり安全に使えそうです。
で、実際どうやって設定するの?
ここからは、実装の流れを説明します。
ただ、冒頭でもお伝えした通り、実装経験がありません。Google公式ドキュメントや、実際に実装されたエンジニアの方の記事を参考に、手順をまとめました。

【5つのステップ】
| ステップ | 何をするか | 誰がやるか | 難易度 |
|---|---|---|---|
| 1. 会員番号の準備 | ログイン中の会員番号を、プログラムで使えるようにする | サイトのエンジニア | 高 |
| 2. 会員番号の匿名化 | 会員番号をハッシュ化する | エンジニア、またはWeb担当者 | 中 |
| 3. サイトへの埋め込み | ハッシュ化した番号をページに書き込む | エンジニア、またはWeb担当者 | 中 |
| 4. GTMの設定 | GA4に送る設定をする | Webマーケ担当者 | 中 |
| 5. 動作確認 | ちゃんと動いているか確認 | Webマーケ担当者 | 低 |
正直言って、ステップ1〜3は、プログラミングの知識がないと難しいです。
多くの企業では、エンジニアやサイト制作会社に依頼しているようです。
ステップ1:会員番号の準備
ログイン中の会員の番号を、プログラムで使えるようにします。
もう少し詳しく言うと、
- お客さんがサイトにログインする
- サイトのプログラムが「この人は会員番号12345」と認識する(これは会員サイトなら既にできてる)
- その番号を、次の処理(ハッシュ化)で使えるように準備する
誰がやるか:
サイトを作ったエンジニア、またはシステム開発会社
難易度:高
理由:プログラミングの知識が必須
多くの会員制サイトでは、ログイン機能があれば、この情報はすでに取得できているはずです。
ステップ2:会員番号の匿名化(ハッシュ化)
会員番号を「誰か分からない形」に変換します。
方法は2つ:
【方法1:無料ツールを使う】
- オンラインのSHA-256変換サイトで変換
- 「12345」と入力 → 長い文字列が出てくる
- 手作業で変換(小規模サイト向け)
【方法2:プログラムで自動変換】
- PHPやJavaScriptでコードを書く
- ログインするたびに自動でハッシュ化
- 大規模サイトはこちら
PHPの場合はこのような形になります(非公式):
$member_id = "12345"; // 会員番号
$hashed_id = hash('sha256', $member_id); // ハッシュ化
プログラミングがわからないので、この辺の詳細は専門のエンジニアに聞いた方がいいと思います。
ステップ3:サイトへの埋め込み(dataLayer)
ハッシュ化した番号を、サイトのページに書き込みます。
具体的には、ログイン中のページ全部に、こんなコードを入れます:
<script>
dataLayer.push({'user_id': 'ハッシュ化したID'});
</script>
または、gtag.jsを使う場合:
<script>
gtag('config', 'TAG_ID', {
'user_id': 'ハッシュ化したID'
});
</script>
このコードを書く場所:
- HTMLサイト:headタグの中
- WordPress:header.phpやfunctions.php
- その他のCMS:テンプレートファイル
【重要】 ログインしているページ全部に必要で、ログアウトしたら消す、という処理が必要
ステップ4:GTMの設定
ここからは、比較的分かりやすいです。
GTM(Googleタグマネージャー)という、Googleの無料ツールを使います。
GTMって何?
サイトのタグ(計測用コード)を管理する無料ツールです。
もしGTMアカウントがなければ、以下の手順でアカウントを取得します。
- tagmanager.google.com にアクセス
- Googleアカウントでログイン
- 新しいアカウントを作成
- サイトにGTMコードを設置
設定の流れ(概要)
手順1:変数を作る
- GTMの「変数」メニューを開く
- 「ユーザー定義変数」の「新規」をクリック
- 「データレイヤーの変数」を選択
- 「データレイヤーの変数名」に「user_id」と入力
- 変数に分かりやすい名前を付ける(例:「DLV – User ID」)
- 保存
手順2:GA4設定タグを編集
- 「タグ」メニューを開く
- GA4設定タグを選択
- 「設定フィールド」セクションを開く
- フィールド名に「user_id」と入力
- 値は、さっき作った変数を選択(例:{{DLV – User ID}})
- 保存
手順3:テスト
- 「プレビュー」ボタンをクリック
- サイトにログインして確認
- user_idが送信されているかチェック
手順4:公開
- 問題なければ「公開」ボタン
- 本番環境に反映
【補足】 GA4の管理画面で「データの表示」→「レポート用識別子」が「混合型」または「計測データ」(User-IDを含むオプション)になっているか確認してください。
参考:Send user IDs | Google Analytics
ステップ5:GA4での確認
最後に、ちゃんと動いているか確認します。
確認1:レポート用識別子の設定
- GA4の「管理」→「データの表示」→「レポート用識別子」を開く
- 「混合型」または「計測データ」が選択されているか確認
- これらのオプションはUser-IDを含みます
確認2:デバッグビュー
- GA4の「管理」→「デバッグビュー」を開く
- ログインしてページを見る
- user_idパラメータが送られているか確認
確認3:データ(24〜48時間後)
- GA4の「探索」→「ユーザーエクスプローラ」を開く
- User-IDごとのデータが見えていればOK
参考:[GA4] Measure activity across platforms with User-ID – Analytics Help
ログイン機能がない場合はどうする?
ここまで読んで「うちのサイト、ログイン機能ないんだけど…」と思った方もいると思います。
デバイスIDベースの計測
ログイン機能がないサイトでは、User-IDは使えません。その場合、GA4はデバイスIDベースで計測します。
デバイスIDとは:
- ブラウザのCookie(_ga)を使ってユーザーを識別
- スマホとPCは別々のユーザーとして計測される
- 同じデバイスなら、同じ人として認識される
参考:[GA4] デバイス ID – アナリティクス ヘルプ


これで十分な場合も多いです。特にコーポレートサイトやブログなら、デバイスIDベースで問題ないでしょう。
Googleシグナルについて(2024年2月の重要な変更)
以前は、「Googleシグナル」という機能がUser-IDの代替として使えました。
Googleシグナルとは: Googleアカウントにログインしているユーザーを、デバイスをまたいで認識する機能
ただし、2024年2月12日に重要な変更がありました。
【2024年2月12日の変更内容】
Googleシグナルが「レポート用識別子(Reporting Identity)」から削除されました。
何が変わったか:
- × クロスデバイスでのユーザー識別には使えなくなった
- ◎ デモグラフィックレポート(年齢・性別・興味関心)には引き続き使える
- ◎ Google広告との連携も継続
- ◎ リマーケティングやコンバージョン最適化にも使える
参考:[GA4] Activate Google signals for Google Analytics 4 properties – Analytics Help
参考:[GA4] レポート用識別子 – アナリティクス ヘルプ
つまり、現在(2025年)では・・・
| 項目 | User-ID | Googleシグナル(2024年2月以降) | デバイスID |
|---|---|---|---|
| クロスデバイス識別 | ◎ できる | × できない | × できない |
| 必要な条件 | ログイン機能 | Googleアカウントにログインしているユーザー | なし |
| デモグラフィック | ◎ 使える | ◎ 使える | × できない |
| 設定の難易度 | 高い | 低い(ONにするだけ) | 自動 |
結論:どれを使えばいい?
| サイトの種類 / ニーズ | 推奨する方法 |
|---|---|
| 会員制サイト・ECサイト | User-IDを実装する(最も正確) |
| コーポレートサイト・ブログ・情報サイト | デバイスIDベースで十分 |
| 年齢・性別・興味関心のデータが欲しい | Googleシグナルを有効にする(クロスデバイスには使えないが、デモグラフィックには使える) |
Googleシグナルの設定方法
デモグラフィックレポートやGoogle広告連携のために、Googleシグナルを有効にする方法:
- GA4の管理画面を開く
- 「プロパティ設定」→「データの収集と修正」→「データの収集」をクリック
- 「Googleシグナルのデータ収集」をONにする
参考:[GA4] Activate Google signals for Google Analytics 4 properties – Analytics Help

ただし、繰り返しになりますが、これでクロスデバイスでのユーザー識別はできません。
実装が難しい場合の選択肢
User-IDの実装は、正直言って難しいです。技術的に難しい場合は、専門会社に依頼するのが現実的です。
専門会社に依頼する
GA4の設定やUser-IDの実装は、多くの企業が専門会社に依頼しています。
依頼先:
- サイト制作会社
- Webマーケティング支援会社
- GA4専門のコンサルタント
依頼する内容:
- User-IDの実装(ステップ1〜5すべて)
- 動作確認とレポート作成
- 定期的なメンテナンス
費用の目安:
GA4の基本設定の相場は以下の通りです:
- 基本設定のみ: 5万円以下
- 標準的なプラン: 5万円〜15万円(GTM設定、コンバージョン設定含む)
- 個人への依頼: 4,500円〜3万円程度(ココナラ、ランサーズなど)
注意: User-ID実装は「カスタムイベント設定」や「高度な設定」に該当するため、基本料金に加えてオプション料金が発生する可能性があります。具体的な費用は個別見積もりが必要です。
GA4設定代行を行っている主な会社(2025年10月時点)
調べた範囲で、以下の会社がGA4設定代行サービスを提供しているようです
| 会社名 | 料金 | 特徴 | URL |
|---|---|---|---|
| 株式会社メディアエクシード | 1サイト 55,000円〜(税込) | Googleアカウント登録から設定完了後の説明まで込み | https://mediaexceed.co.jp/service/google_analytics/ |
| 株式会社AZ(エーズィー) | 個別見積もり | eコマースサイトのGA4設定に強い | https://azkk.co.jp/google-analytics-setup |
| 株式会社アクセント | 個別見積もり | GA4の設定からWebサイトへの実装まで対応 | https://www.accent.co.jp/ga4/ |
| 個人への依頼(ココナラなど) | 4,500円〜3万円程度 | 基本設定のみなら低価格で依頼可能 | https://coconala.com/ (「GA4設定」と検索) |
依頼時の注意点
- 見積もりを複数取る – 料金とサービス内容を比較する
- User-ID実装が含まれるか確認 – 基本設定には含まれない場合が多い
- 実績を確認 – 同業種での実績があるか
- サポート体制 – 導入後のサポートがあるか
感想: 自分は実装経験がないため、上記の情報は各社の公式サイトやサービス紹介ページから収集したものです。実際に依頼される場合は、必ず公式サイトで最新情報を確認し、複数社に見積もりを取ることをおすすめします。
同意取得について
User-ID機能を使う際、ユーザーからの同意は必要なのか?
結論から言うと「プライバシーポリシーへの記載」と「Cookie使用の同意」が必要です。
具体的にどうすればいい?
以下の3つの対応が必要です。
1. プライバシーポリシーに記載する
サイトのプライバシーポリシーに、以下を記載する必要があります:
- Google Analyticsを使用していること
- User-ID機能を使用していること
- データの収集・処理方法
参考:プライバシーの開示に関するポリシー – アナリティクス ヘルプ
記載例:
当サイトでは、アクセス解析のためにGoogle Analytics(GA4)を使用しています。Google Analyticsは、Cookieを使用してユーザーの行動データを収集します。また、ログインユーザーに対してはUser-ID機能を使用し、複数のデバイス間での行動を分析しています。収集されたデータは匿名化され、個人を特定する情報は含まれません。
2. Cookie使用の同意を取得する
GA4はCookieを使用するため、Cookie使用に関する同意バナーを設置する必要があります。
特にEEA(欧州経済領域)のユーザーに対しては、「同意モード」の実装が推奨されています。
参考:[GA4] Google アナリティクスで同意設定を確認、更新する – アナリティクス ヘルプ
ベストプラクティス:
- サイトに「Cookie同意バナー」を設置する
- ユーザーが「同意する」または「拒否する」を選択できるようにする
- 同意モード(Consent Mode)を実装する
- 個人を特定できる情報(PII)を送信しない
- メールアドレスや電話番号をそのまま送信しない(ハッシュ化が必要)
参考:Google アナリティクス 4 SDK と User-ID の機能に関するポリシー
実際にどのような同意取得が必要かは、サイトが対象とする地域や適用される法律によって異なります。具体的な対応については、法律の専門家(弁護士)に相談することをおすすめします。
よくありそうな疑問
Q1. 既存の会員データに遡ってUser-IDを紐付けられますか?
A. できません。
Google公式ドキュメントに「User-ID機能を実装する前に収集・記録されたAnalyticsアカウントのデータは再処理されず、User-IDと紐付けられることはありません(Any data in your Analytics account collected and recorded prior to implementation won’t be reprocessed and associated with a user ID)」と明記されています。
参考:[GA4] Measure activity across platforms with User-ID – Analytics Help
Q2. WordPressサイトでUser-IDを使えますか?
A. 使えます。
ただし、会員プラグイン(WooCommerce、MemberPressなど)が必要です。実装はエンジニアに相談した方がいいと思います。
Q3. User-IDを使うと、個人を特定して監視できるのですか?
A. いいえ、できません。
ハッシュ化されたIDからは、個人を特定することはできません。分かるのは「同じ人かどうか」だけです。Google公式ポリシーでも、個人を特定できる情報(PII)の送信は禁止されています。
参考:Best practices to avoid sending Personally Identifiable Information (PII) – Analytics Help
Q4. ログアウト後のデータはどうなりますか?
A. ログアウト後は、User-IDなしの匿名ユーザー(デバイスIDベース)として記録されます。
公式ドキュメントによると、ログアウト時にはUser-IDを「null」に設定する必要があり、その後のイベントはUser-IDと紐付けられません。
Q5. 2024年2月にGoogleシグナルが変更されたと聞きましたが、何が変わったのですか?
A. Googleシグナルがレポート用識別子から削除され、クロスデバイスでのユーザー識別には使えなくなりました。ただし、デモグラフィックレポートやGoogle広告連携には引き続き使えます。
参考:[GA4] Activate Google signals for Google Analytics 4 properties – Analytics Help
まとめ
もう一度、大事なポイントをまとめます
- User-IDは同じ人の行動をまとめて分析できる便利な機能
- でも、ログイン機能がある会員制サイトでしか使えない
- 個人情報(メアド、電話、氏名など)は絶対に送ってはいけない
- 会員番号については公式に明確な指示はないが、安全性を高めるためハッシュ化が推奨される
- 実装には5つのステップがあり、プログラミングの知識が必要
- ログイン機能がない場合は、デバイスIDベースの計測になる
- 2024年2月以降、Googleシグナルはクロスデバイス識別に使えなくなった
- 難しい場合は、専門会社に依頼する
- プライバシーポリシーへの明記と、適切な説明が必要
この記事は、Google公式ドキュメントや専門家の記事を参考に書きましたが、実装の詳細については、実際に手を動かしている方の方が詳しいです。
もし実装を検討される場合は、エンジニアや専門家に相談することを強くおすすめします。
次回【GA4と個人情報シリーズ #2】法規制対応(GDPR・個人情報保護法)では、個人情報保護法やGDPR、CCPAなど、具体的な法規制への対応方法を詳しく解説します。
何か間違いや、「実際はこうだよ」という情報があれば、ぜひprivacy-navi.comまでお知らせください。一緒により良い情報を作っていけたら嬉しいです。
シリーズナビゲーション
全6回シリーズ
- 【GA4と個人情報シリーズ #1】User-ID機能の正しい使い方(この記事)
- 【GA4と個人情報シリーズ #2】やってはいけない設定ミス
- 【GA4と個人情報シリーズ #3】誤送信時の緊急対応
- 【GA4と個人情報シリーズ #4】法規制対応(GDPR・個人情報保護法)

https://shorturl.fm/oeQ9t
https://shorturl.fm/tGRjQ
https://shorturl.fm/AsLxT
https://shorturl.fm/t3CqL
https://shorturl.fm/SyP9K
https://shorturl.fm/Adp9C
https://shorturl.fm/687ND
https://shorturl.fm/t8yMY
https://shorturl.fm/Bhfje
https://shorturl.fm/20vYZ