こんにちは、中都です。
GA4を見ていて「この人はなぜ問い合わせたんだろう」「どこで迷って離脱したんだろう」と思ったことはありませんか。数字から気になるユーザーを見つけても、実際にどこを読み、何をクリックしたのかまでは分かりません。
そこで今回は、GA4のクライアントIDをMicrosoft Clarityへ送り、GA4で選んだユーザーの録画を探す方法を紹介します。僕自身、この組み合わせで施策を具体的に考えられることに、めちゃめちゃ感動しました。
動画でも解説しています
GA4の数字だけでは見えない動きを、Clarityで確かめる
こんな分析で止まっている方へ
- 問い合わせ・購入が発生した後:成果につながった人が、どの説明やレビューに目を通したかを調べたい。
- 離脱の多い導線を見つけたとき:価格表を見て戻ったのか、ボタンで迷ったのか、画面上の動きを確かめたい。
- Clarityに録画がたくさんあるとき:どの人から見るかを、GA4のデータで絞りたい。
この記事でできるようになること
GTMでクライアントIDを送るタグを作り、動作確認をしたうえで、GA4の「ユーザー エクスプローラ」からClarityの録画へ進みます。タグの設定画面、コンソールに出たID、自分の端末のデータに絞れた画面、録画まで順に見せます。
設定当日は自分のアクセスで送信と受信を確認します。実際のCVユーザーを分析する段階では、設定後に記録されたアクセスとGA4への反映を待ちます。設定前の録画へ、過去のクライアントIDを後付けする手順ではありません。
GA4で「誰を見るか」を決めてから録画を開くと、Clarityで確かめたいことがはっきりします。ここでいうN1分析は、1人分の行動を具体的に追うことです。録画だけで本人の気持ちや購入理由を断定するものではありません。
「逆連携」の考え方:GA4のクライアントIDをClarityへ渡す
ClarityにはGoogle Analyticsとの連携機能があります。僕も触ってみたのですが、Clarityの中でGA4のデータを見に行く流れになっていました。普段の分析では、まずGA4で全体像をつかみ、購入した人や離脱した人に絞ってから、具体的な動きを見たいんですよね。
そこで「GA4のIDをClarityに持っていけばいいじゃん」と考えたのが、今回の方法です。WebサイトのGA4が持つクライアントID(Client ID)を、ClarityのカスタムユーザーIDへ設定します。同じ値で検索できれば、GA4で選んだブラウザの録画を探せます。
公式のGA4連携と、このIDを渡す設定は別です。MicrosoftのGA4連携の説明でも、GA4のセグメントは対応外とされています。今回は、GA4で絞った対象のIDを手動でClarityへ入力します。
なお、Client IDはブラウザを識別する値です。会員IDなどを送るGA4のUser-IDとは異なり、別端末・別ブラウザの利用を自動で同一人物にまとめるものではありません。
準備:同じサイトのGA4・Clarity・GTMを確認する
- GA4:対象サイトでデータを計測しており、探索を開けること。
- Clarity:同じサイトにタグが入り、録画を見られること。
- Googleタグマネージャー(GTM):Webコンテナのタグを編集・公開できること。
Clarityの導入がまだなら、Clarityの設定・ヒートマップ分析の手順から始めてください。ここでは既存のGA4・Clarityのタグに、IDを渡すタグを追加します。
このコードは、サイト上でgtagとclarityが関数として使える環境が前提です。GTMでGA4を計測していても、ページ上にgtag関数があるとは限りません。プレビューで対象ページを開き、ブラウザの開発者ツールのConsoleにtypeof gtagとtypeof clarityを別々に入力し、いずれも"function"になることを確認してください。
"undefined"なら、既存タグの読み込み・同意条件・実装方式の確認が先です。測定用タグを重複設置して解決しようとせず、サイトの実装担当者と確認してください。既にClarityのカスタムユーザーIDを会員IDなどに使っているサイトも、このタグで上書きしないよう、先に用途を確認します。
同意管理を使っているサイトでは、ID連携タグも必要な同意を得た後に動かしてください。このコード自体には同意を判定する処理はありません。Clarityへの同意通知は公式のConsent APIを参照し、既存のCMP・GTMの同意設定に合わせます。氏名やメールアドレスを代わりに入力する必要はありません。
手順1.GTMでクライアントIDを送るタグを作る
カスタムHTMLタグを追加する
- 対象サイトのGTMコンテナを開き、左メニューの「タグ」→「新規」へ進みます。
- 名前を「GA4 Client IDをClarityに送信」などにします。
- 「タグの設定」→「カスタムHTML」を選びます。
コードを貼り付け、測定IDを入れる
下のコードを<script>から</script>までコピーし、HTML欄へ貼り付けます。G-XXXXXXXXXXを、ご自身のGA4の測定IDに置き換えてください。コードは実演画面の内容を掲載しています。
GA4のClient IDをClarityへ送るコード全文
<script>
(function() {
var measurementId = 'G-XXXXXXXXXX'; // ここをGA4測定IDに変更
var maxRetry = 30;
var retryCount = 0;
function sendGA4ToClarity() {
if (typeof gtag === 'function' && typeof clarity === 'function') {
gtag('get', measurementId, 'client_id', function(clientId) {
if (clientId) {
clarity('identify', clientId);
console.log('GA4 Client ID sent to Clarity:', clientId);
} else if (retryCount < maxRetry) {
retryCount++;
setTimeout(sendGA4ToClarity, 500);
}
});
} else if (retryCount < maxRetry) {
retryCount++;
setTimeout(sendGA4ToClarity, 500);
}
}
setTimeout(sendGA4ToClarity, 3000);
})();
</script>- GA4で対象のプロパティを開き、左下の「管理」→「データ ストリーム」を開きます。
- 対象サイトのWebストリームを選びます。
- 右側の「測定ID」にある
G-で始まる値をコピーし、コードへ貼り付けます。
このコードの工夫は、ページを開いてすぐにIDを取得しに行かず、最初に3秒待つことです。その後、GA4とClarityの関数が使えるかを確認し、Client IDを取得できたらClarityへ渡します。関数が未準備、または取得したIDが空の場合は、0.5秒間隔で最大30回再試行します。最初の待機と合わせて約18秒が目安です。
ただし、GA4からの応答自体が返らない場合、このコードは再試行に進みません。また、関数が存在することと通信の完了は別なので、次の手順で受信側まで確認します。読み書きする表やファイルはなく、既存のGA4データを消去する処理もありません。
トリガーを設定して保存する
「トリガー」を開き、実演では「All Pages(ページビュー)」を選んでいます。同意管理がある場合は、必要な同意を満たしてから動くトリガー・同意設定に合わせてください。選択後に「保存」を押すと、タグ一覧へ戻ります。この時点ではGTMの本番公開はまだです。
手順2.タグの発火・IDの取得・Clarityの受信を確かめる
GTMのプレビューで発火を見る
- GTMの「プレビュー」を押し、対象サイトのURLを入力して接続します。
- 開いたサイトでページを表示し、Tag Assistantへ戻ります。
- 「配信されたタグ」に、作成したタグが表示されているか確認します。別ページへ移動した場合も確認してください。
ブラウザのConsoleでClient IDを確認する
続いて、プレビューで開いたサイト側の画面を右クリックし、「検証」→「Console」を開きます。ページ表示後に、GA4 Client ID sent to Clarity:と数値のIDが出るか見てください。
僕の実演では、この方法で自分の端末のClient IDが出ました。GTMの「配信されたタグ」だけ見て終わらず、実際にどのIDを渡しているかまで見るのがポイントです。
タグが発火しただけで連携完了とせず、同じIDでClarityの録画が見つかるところまで確かめましょう。Clarityを開き、後述する「カスタムユーザーID」にログのIDを入力し、設定後のテストアクセスが見つかるか確認します。反映に時間がかかる場合は、時間を置いて再確認してください。
確認できたらGTMを公開する
受信を確認できたら、GTMの「公開」から「GA4 Client IDとClarityの連携」などのバージョン名で変更を公開します。プレビューを閉じた通常のアクセスでも、ログとClarity側の記録を再確認してください。ここでの公開はご自身のGTM設定の操作です。
ログが出ない場合は、測定ID、両関数の有無、タグの発火条件、同意状態、広告ブロッカーを確認します。ログは出るのに録画が見つからない場合は、Clarityのプロジェクト・日付・他のフィルターと記録の反映を確認します。
手順3.GA4で対象ユーザーを絞り、Clarityの録画を開く
GA4のユーザー エクスプローラを開く
GA4の「探索」を開き、「テンプレート ギャラリー」から「ユーザー エクスプローラ」を選びます。実演のように「空白」で探索を作り、設定の「手法」を切り替える方法でも開けます。日付はIDの連携設定後の期間に合わせてください。
一覧から確認したいユーザーを選び、詳細画面上部のIDをコピーします。
表示される「有効なユーザーID」は、プロパティの設定によってUser-IDになる場合があります。User-IDを設定しているサイトでは、ここに表示された値がClient IDかを確かめてください。異なるIDをClarityへ貼っても今回の設定では一致しません。詳細はGoogle公式のユーザー エクスプローラの説明を参照してください。
購入・問い合わせなど、見たい行動で絞る
何となく一覧の上から選ぶより、見たい行動を先に決めると調べやすくなります。自由形式の探索を使う場合は、次のように進めます。
- 「ディメンション」の+で「イベント名」を追加し、「行」へ入れます。
- 「指標」の+で「セッション」を追加し、「値」へ入れます。
- 表に出た目的のイベント行の数値を右クリックし、「ユーザーを表示」を選びます。
- その条件で開いたユーザー一覧から対象を選び、Client IDを確認します。
実演ではclickのユーザーに絞りました。購入や問い合わせにも同じ考え方を使えますが、まずは該当のイベントが計測されていることが前提です。イベントをまだ用意していない場合は、GTMで成果・スクロール・内部クリックを計測する手順を確認してください。
ClarityのカスタムユーザーIDに貼り付ける
- Clarityで同じサイトのプロジェクトを開きます。
- 「フィルター」→「カスタムフィルター」へ進みます。
- 「カスタムユーザーID」にコピーしたClient IDを貼り付け、適用します。
- 対象期間を合わせ、「レコーディング」を開きます。リストの録画を選ぶと、そのアクセス時の動きが再生されます。
自分のデータへ絞った状態で録画を開くと、どんなふうにページを移動していたかまで見られました。今回お見せしたのは僕自身のテストアクセスです。購入者の心理を確かめた実績ではありませんが、「GA4で見つけた対象を、Clarityで具体的に見る」という流れを確認できます。
録画から、次に試す改善を考える
例えば、CVした人がレビューの付近を何度も見ていたら、「レビューをもっと上に置くと判断しやすいかもしれない」と考えられます。価格表で長く止まった後に離脱していたら、「料金の見せ方が分かりにくいのか、条件の説明が足りないのか」を調べるきっかけになります。
ただし、滞在しただけで読んだとは言い切れませんし、価格表の後に離脱しただけで「高いから帰った」とも断定できません。録画で見た動きから改善仮説を作り、別のユーザーや施策後の数字でも確かめると、思い込みを減らせます。
メモは「観察した動き」「考えられる理由」「次に確かめること」の3つに分けるだけでも十分です。GA4で全体の傾向、Clarityで具体的な動きへ戻ると、単にCVRを眺めているときより施策を考えやすくなります。
設定後のデータを、録画が残っているうちに見る
僕が特に驚いたのは、GA4の標準版とClarityという無料で使えるツールを組み合わせて、ここまで調べられることでした。一度設定すれば、その後のアクセスでID連携を使えます。だからこそ、やってみたいと思った熱が冷めないうちに、まず自分のアクセスで試してほしいです。
連携できるのは設定後に取得できたデータで、ブラウザの変更・Cookieの削除・同意状態・ブロッカーなどにより、すべてのアクセスが一致するわけではありません。Clarityの通常の録画保存は30日、ラベル付き・お気に入りのセッションは9か月です。残したい録画は期限内に整理してください。Clarityのデータ保持期間
まとめ:全体から1人へ進むと、改善の手がかりが増える
- GA4で、購入・問い合わせなど確認したい行動のユーザーを絞る。
- Client IDをClarityへ渡し、同じ値で録画を探す。
- 画面で観察したことを改善仮説にし、ほかのデータでも確かめる。
まずは自分の端末で、Consoleに出たIDとClarityの録画を照合してみてください。そこまでできたら、実際に知りたいユーザーの分析へ進めます。
毎回GA4の集計を準備するところにも手間を感じている方には、普段のデータをAIに聞いて、調査の入口を作る方法もあります。
Synapse MCPで、録画を見る前のGA4分析をAIに聞く
最終的に知りたいのは「このサイトのどこを改善すればよさそうか」ですよね。録画を見る前に、どのページや流入元で変化が起きているかを調べる場面では、僕たちが提供するSynapse MCPを使えます。
Synapse MCPは、普段使っているGA4や広告などのデータをAIにつなぎ、会話から取得できるようにするサービスです。集計のたびにCSVを用意せず、気になった数字について、そのまま追加の質問ができます。GA4の集計から「次にどこを見たいか」を考え、必要な個別ユーザーの確認は本編のGA4・Clarityの画面で進めます。
接続したデータが、会話の回答やグラフになる
別の実演では、同じ店舗・案件にGA4とSearch Consoleを接続し、Claudeにアクセス状況を尋ねました。ここからの3枚は、その週次レポートの実演です。
データをつないだ後は、いつもと同じようにClaudeへ話しかけると、自分のデータをもとに回答が返ります。CSVをダウンロードして添付していないのに、表まで出てくる。これについては、僕も「控えめに言って便利でしかないです」と書きました。
これらは本編のClient ID連携や、下の質問文を実行した結果ではありません。日付も質問例とは異なります。表とグラフの期間をそろえてから比較すると、変化を読み違えにくくなります。
自分のサイトで試せる質問例
GA4を接続したら、まず対象プロパティを確かめ、完了した同じ日数の期間を指定して尋ねてみてください。次は9月の1週間ずつを比べる例です。
接続したGA4のプロパティ名とIDを見せてください。複数ある場合は、分析するサイトを私に確認してください。
確認したサイトについて、2026年9月14日〜20日と、9月7日〜13日のセッション数・表示回数・キーイベント数を、日別と期間全体で比較してください。実際の取得期間と指標名を示し、大きく変わった日を教えてください。原因はまだ断定しないでください。
返ってくるのは、対象サイトの集計値と期間比較です。そこから、見たい切り口を追加します。
同じ2期間をページ別の表示回数で比較し、増減を確認したいページを挙げてください。各期間の取得上限は1,000行にし、取得件数と対象範囲を示してください。片方にないページを0と決めつけず、取得範囲外の可能性を分けてください。全ページを取得できたか不明なら、その旨も書いてください。
特定の人のClient ID一覧や録画は、このGA4集計から返るものではありません。気になるページが決まったら、本編の探索で対象を絞り、Clarityの録画を見ます。
Clarityも接続する場合は、直近24・48・72時間の集計から、レイジクリックやデッドクリックなどが見られるページを調べられます。例えば「取得できる直近24時間のページ別データから、録画で確認したい候補を3つ挙げて」と頼めます。録画の自動視聴やGA4のユーザーとの自動照合ではありません。取得範囲・接続方法はClarityをAI分析に使う方法で説明しています。
GA4を接続し、最初の数字を1つ取得する
- Synapse MCPへログイン・登録し、対象の店舗・案件を開きます。
- 接続画面からGA4を追加し、閲覧権限のあるGoogleアカウントで認証して、対象プロパティを選びます。
- 「AIへの接続設定」または「MCPリンク」からリンクを発行し、利用するAIの接続設定へ登録・認証します。リンクは会話本文ではなく、設定欄へ入力します。
- 会話で接続を有効にし、「このサイトの2026年9月14日〜20日のセッション数を日別に見せて。プロパティ名・IDも示して」と聞きます。
- 返ったサイト・期間・数字をGA4の同じ条件で照合できたら、初回取得は完了です。
画面を見ながら設定したい方は、GA4とClaude・ChatGPTをMCP接続する手順を使ってください。AI側ではカスタムMCP接続を利用できるアカウント・組織設定が必要です。Synapse MCPの無料期間や接続上限は料金ページで確認できます。
