広告・EC・SEOのデータを、MCPでClaudeや業務AIへ。
← コラム一覧へ
GA4・アクセス解析

GA4のイベント設定3選|GTMで成果・スクロール・内部クリックを計測

執筆:中都智仁公開 更新 18分で読めます

GA4で最初に整えたいイベント設定を、GTMの実演画像付きで解説。問い合わせ完了、10%刻みのスクロール、内部リンククリックの設定から、キーイベント指定・カスタム定義・探索での確認まで進めます。

こんにちは、中都です。

GA4でアクセス数は見られる。でも、問い合わせにつながったのか、どのリンクが押されたのかまでは分からない。そんなときに最初に整えたいのが、成果地点・スクロール率・リンククリックの3つのイベント設定です。

動画でも解説しています

こんなお悩みはありませんか?アクセス数の先にある行動を知りたい

  • 月次報告で、サイトからの問い合わせ数を示せない。 アクセス数は出せても、成果につながったかをGA4で説明できない。
  • 長い記事の、どこまで表示されたか分からない。 内容や長さを変えるにも、判断材料がない。
  • どのリンクが押されたか分からない。 メニューと記事末尾のボタンの、どちらを直すべきか迷う。

僕がGA4のコンサルティングをしていた頃も、計測設定が十分にできていないという相談を受けていました。後からAIに分析を頼むとしても、そもそも記録していない行動は振り返れません。

この記事でできるようになること

  • Googleタグマネージャー(GTM)で、問い合わせ完了ページや特定リンクのクリックを計測する。
  • スクロール到達位置を10%刻みで送り、内部リンクのクリック情報も残す。
  • GA4で受信した値を確かめ、探索でページごとのイベント数を見る。

僕の実演画像14枚で、タグの設定からGA4に値が届くところまで説明します。設定値だけでなく、プレビューでタグが動いた場面、GA4へスクロールの値が届いた場面、探索の集計例も載せています。

対象は、GTM・GA4がすでに設置されているサイトです。最後には、計測したデータをSynapse MCPでAIにつなぎ、自然言語で分析する使い方も紹介します。

GA4で最初に設定する3つのイベント

計測すること知りたいこと設定の考え方
問い合わせなどの成果地点サイトの目的にあたる行動が起きたか完了ページの表示や特定リンクのクリックをイベントにし、成果として扱うものをキーイベントに指定する
スクロール到達位置ページのどのあたりまで表示されたか10%刻みなどで到達イベントと到達率を送る
内部リンクを含むクリックどのページの、どのリンクが押されたかリンク先やテキストをイベントの付属情報として送る

GA4の拡張計測機能にも、scrollとclickがあります。ただし、標準のスクロールは各ページで90%の深さまで表示されたとき、クリックは別のウェブサイトへ移動する離脱クリックが対象です。途中のスクロール到達位置や内部リンクを調べたいなら、標準の計測に設定を足します。Google公式:拡張計測機能イベント

すでに同じ行動を計測しているタグがある場合は、まずその設定を確認してください。同じイベント名でタグを追加すると、1回の操作を重複して数える原因になります。

準備:GTMの変数とGA4の測定IDを確認する

対象サイトにGTMとGA4のGoogleタグが設置され、ページビューが届いている状態から始めます。GTMの編集・公開を行える権限と、GA4のカスタム定義などを設定できる権限も用意してください。まだ基本のGoogleタグがない場合は、先にGoogleタグの設定を済ませます。

1.組み込み変数を有効にする

GTMで対象のウェブコンテナを開き、左メニューの「変数」から「組み込み変数」の「設定」を押します。今回使う次の変数にチェックを入れます。

  • ページ:Page URL、Page Path
  • クリック:Click URL、Click Text、Click ID
  • スクロール:Scroll Depth Threshold

チェックを入れたら、設定パネルを閉じます。

GTMでページ系・クリック系の組み込み変数を有効にする画面
GTMの「変数」から、設定に使う組み込み変数を選びます。

組み込み変数の一覧に追加されたことを確認してください。後のトリガーやパラメータ設定で、この変数を選べるようになります。

2.自分のサイトの測定IDを控える

GA4の「管理」から「データストリーム」を開き、対象サイトのウェブストリームを選びます。「測定ID」に表示されるG-から始まる値をコピーしてください。

GA4のウェブストリームで測定IDを確認する画面
自分のサイトのウェブストリームを開き、測定IDをコピーします。

GTMのイベントタグには、この測定IDを使います。画像は僕の実演環境です。画像内のIDやURLを流用せず、ご自身のサイトの値を入力してください。

設定1.問い合わせ完了・特定リンクのクリックを計測する

最初に決めるのは「何を成果とするか」です。フォームの送信完了と、LINEへ移動するリンクのクリックは、意味が違います。別のイベントにしておくと、問い合わせの完了数と、その手前の行動を混ぜずに見られます。

サンクスページの表示をイベントにする

  1. GTMの「タグ」→「新規」を開き、タグ名を「GA4_問い合わせ完了」などにします。
  2. 「タグの設定」→「Google アナリティクス」→「Google アナリティクス: GA4 イベント」を選びます。
  3. 測定IDに自分のサイトのIDを入れ、イベント名を入力します。ここでは設定例としてcontact_completeを使います。
GTMのGA4イベントタグに測定IDとイベント名を入力する画面
GA4イベントタグに、測定IDと送信するイベント名を入力します。

画像のイベント名は実演用のtest_contactです。タグ名は管理する人向けのラベル、イベント名はGA4へ送る名前です。本文では、本番の用途が分かりやすいイベント名の例を使います。

  1. 同じタグの「トリガー」を押し、右上の「+」から新規作成します。
  2. 種類を「ページビュー」、発生場所を「一部のページビュー」にします。
  3. 条件の変数にPage URL、比較に「含む」を選び、フォーム送信後にだけ開く完了ページのURLを入力します。
  4. トリガーを保存し、作成したトリガーがタグに付いていることを確認して、タグも保存します。
サンクスページのURLを条件にしたページビュートリガー
完了ページだけに一致する条件を設定します。

例えば完了ページがhttps://example.com/contact/thanks/なら、そのURLを条件にします。「含む」で別のページまで一致しないかも確認しましょう。URL構成が決まっていれば、Page Pathが/contact/thanks/に「等しい」という条件も選べます。

これは完了ページの表示を数える方法です。再読み込みや直接アクセスでも数えられることがあります。完了ページがないフォームや、送信の成功だけを厳密に数えたい場合は、フォーム側の成功通知を使う実装が必要です。送信ボタンを押しただけで、問い合わせ完了として扱わないようにします。

LINEなど、特定リンクのクリックをイベントにする

もう1つGA4イベントタグを作り、同じ測定IDと、例えばline_clickというイベント名を設定します。続いて新規トリガーで「クリック - リンクのみ」→「一部のリンククリック」を選びます。

対象サイトで計測したいリンクのアドレスをコピーし、条件をClick URLがそのURLを「含む」にします。トリガーとタグを保存したら、対象のリンクだけで配信されるかを後のプレビューで確認します。

Click URLでLINEリンクを指定したクリックトリガー
対象のリンクURLを条件にして、クリックを計測します。

ここで取れるのはLINEへの移動リンクを押した回数です。友だち追加やメッセージ送信の完了数ではありません。通常の<a>リンクではないボタンは「リンクのみ」で取れないため、クリック対象の要素に合うトリガーが必要です。Google公式:クリックトリガー

設定2.スクロール率を10%刻みで計測する

標準の90%到達だけでは、30%まで表示されたページと80%まで表示されたページを区別できません。スクロールが取れていると思って安心してしまうと、ここはめちゃめちゃ罠なんですよね。

僕は、後からページを改善したりAIで分析したりするときのために、この途中の行動も残しておきたいと考えています。

スクロール距離トリガーを作る

GA4イベントタグを新規作成し、測定IDとイベント名を入力します。イベント名の例はscroll_depthです。標準のscrollとは別名にすると、後で集計を分けられます。

「トリガー」から新規作成し、「スクロール距離」を選択します。「縦方向スクロール距離」を選び、「割合」に10%刻みの値を入れます。

10,20,30,40,50,60,70,80,90,100
10パーセント刻みの縦方向スクロール距離トリガー
縦方向のスクロール距離を、10%刻みで指定します。

有効化するタイミングは「ウィンドウの読み取り(gtm.load)」、発生場所は、サイト全体が対象なら「すべてのページ」を選びます。特定のLPだけを計測するなら「一部のページ」で対象を絞ります。保存してイベントタグへ戻ってください。

到達した割合をパラメータで送る

イベント名だけを送っても、何%の地点に到達したのか分かりません。タグの「イベントパラメータ」を開き、「パラメータを追加」で次の1行を設定します。

イベントパラメータ値
percent_scrolled{{Scroll Depth Threshold}}
percent_scrolledにScroll Depth Thresholdを設定したGA4イベントタグ
percent_scrolledの値には、Scroll Depth Thresholdを選びます。

右側の変数選択ボタンから「Scroll Depth Threshold」を選びます。左側はGA4に送る項目名、右側はGTMがその場で取得する値です。保存後にタグを開き直し、イベント名・パラメータ・スクロールトリガーがそろっているか確認しましょう。

スクロール距離は、文章を読んだことの証明ではありません。短いページでは、読み込み時にすでに見えている地点のトリガーが発動します。端末の画面サイズやページの長さにも影響されるので、PCとスマートフォンを分けて比較すると判断しやすくなります。Google公式:スクロール距離トリガー

設定3.内部リンクのクリックとリンク先を記録する

問い合わせページの閲覧数だけでは、上部のメニューから来たのか、記事末尾のボタンから来たのか分かりません。標準のclickがあるので内部リンクも取れていそうに見えますが、対象は別サイトへの移動です。ここはスクロール以上に、ちょっと罠です。

GA4イベントタグを新しく作り、測定IDとイベント名を設定します。例としてlink_clickを使います。新規トリガーの種類を「クリック - リンクのみ」、発生場所を「すべてのリンククリック」にして保存してください。

リンクのみ・すべてのリンククリックを選択したGTMトリガー
「リンクのみ」の全リンク計測には、内部リンクと外部リンクが含まれます。

「すべてのリンククリック」は、内部・外部の両方のリンクを計測します。内部リンクの使われ方を見るときは、取得した全リンクのデータから自社へのリンク先に絞って集計します。リンク以外のボタンや画像を含む、すべての要素のクリックを取る設定ではありません。

タグの「イベントパラメータ」から、次の3つを追加します。値は組み込み変数の一覧から選び、文字として直接入力しないようにしてください。

パラメータ名値に選ぶ変数分かること
click_text{{Click Text}}リンクのテキスト
click_url{{Click URL}}移動先のURL
click_id{{Click ID}}クリック要素のHTML上のID
クリックテキスト・URL・IDをGA4へ送るパラメータ設定
リンクの文言・移動先・HTMLのIDを、イベントと一緒に送ります。

どのリンクから次のページへ進んだかが残れば、後で調べる材料になります。僕は、AIで分析するハードルが下がっていくからこそ、こういう行動データもなるべく取っておきたいんですよね。

IDがない要素ではclick_idが空になり、同じ文言のボタンはclick_textだけでは区別できません。位置まで区別したい場合は、サイト側で要素に固有のIDを付けるなど、識別できる情報を用意します。

また、URLやリンクの文言にメールアドレスなどの個人情報が入るサイトでは、そのまま送らない設定が必要です。全リンクを対象にする前に実際の値を確認し、必要なら対象リンクを限定してください。

GTMとGA4で確認し、レポートに使える状態にする

GTMでタグが動いたことと、GA4に値が届いたことの両方を確認します。タグの保存だけで終えず、次の順番で確かめてください。

まずGTMのプレビューでタグと値を確認する

GTM右上の「プレビュー」を押し、対象サイトのURLを入力して接続します。開いたサイトでスクロール、リンククリック、フォームの送信完了を順番に試し、Tag Assistantで該当する操作を選びます。

スクロールでは「スクロール距離」のイベントを開き、「変数」にあるScroll Depth Thresholdを確認します。90%に到達した場面なら値は90です。「タグ」では、作成したスクロール用タグが配信されていることを確かめます。

Tag AssistantでScroll Depth Thresholdが90になっている確認画面
スクロール時の変数を開き、実際の到達位置の値を確かめます。

リンククリックも同様に、「リンククリック」を選び、作成したタグが「配信されたタグ」に出るかを見ます。さらにタグの中のパラメータと、変数のClick URLが想定した値になっているか確認してください。

Tag Assistantでリンククリックのタグ配信を確認した画面
リンククリックの操作で、作成したタグが配信されたかを確認します。

問い合わせ用のタグは、完了ページでは配信され、通常のページでは配信されないことまで確認します。LINE用のタグも、対象のリンクだけで配信されるかを試します。実演画像では既存タグも並んでいますが、ご自身の環境で重複送信がないかを確認してください。

GA4に届いているイベントとパラメータを確認する

タグの配信を確認できたら、GA4の「管理」→「データの表示」→「DebugView」を開き、テスト端末のイベントを見ます。GTMのプレビューモードはデバッグ確認に使えます。イベントを選択し、percent_scrolledやclick_urlなどの値まで確認しましょう。Google公式:DebugViewでの確認

「レポート」→「リアルタイム」でも受信を確認できます。イベント名を押し、パラメータを開くと、送られた値とイベント数が表示されます。

GA4リアルタイムでpercent_scrolledの値とイベント数を確認する画面
リアルタイムで、スクロールの値ごとのイベント数を確認できます。

例えばここに表示された「10」「20」「30」はスクロール到達位置です。横の数字はイベント数なので、そのまま人数として読まないでください。

DebugViewにも出ない場合は、送信先の測定ID、Googleタグ、同意設定、ブラウザのブロックなどを確認します。

必要なパラメータをカスタムディメンションに登録する

GA4で「管理」→「データの表示」→「カスタム定義」を開き、「カスタムディメンションを作成」を押します。標準ディメンションとして利用できないclick_text、click_url、必要ならclick_idを登録します。

入力欄クリック文言を使う場合の例
ディメンション名クリックテキスト
範囲イベント
イベントパラメータclick_text
GA4のイベントスコープのカスタムディメンション作成画面
範囲は「イベント」。GA4で使う項目名と、受信するパラメータ名を設定します。

パラメータ名はGTMの左側の欄と同じ文字列にします。{{Click Text}}などの変数名を入れる場所ではありません。

画像はpercent_scrolledを登録する実演ですが、現在のGA4には標準の「スクロール済みの割合」もあります。カスタム定義は、標準項目や既存の定義で使えない項目だけ追加します。

カスタム定義は作成してすぐ探索に使えるとは限らず、データ送信と登録後に24〜48時間ほどかかる場合があります。受信確認とレポートへの反映は分けて考えてください。Google公式:カスタムディメンション

成果地点をキーイベントに指定して、GTMを公開する

問い合わせイベントを作っただけでは、GA4のキーイベントにはなりません。GA4の「管理」→「データの表示」→「イベント」を開き、「最近のイベント」などからcontact_completeを探します。イベント名の横にあるスターを選択し、キーイベントとしてマークしてください。

LINEクリックも成果として追うなら別途指定します。ただし、クリックと問い合わせ完了の意味は分けたままにします。

新しいイベントが一覧にまだ出ない場合は、GTMの公開と受信確認を済ませ、データが処理されてから戻って指定してください。キーイベントの指定は過去へさかのぼって適用されません。Google公式:キーイベントとしてマークする

最後にGTMへ戻り、「公開」へ進みます。「バージョンの公開と作成」を選び、例えば「問い合わせ・スクロール・リンク計測を追加」といった名前を付け、変更一覧を確認して公開します。他の人の未公開変更が混ざっていないかも確認してください。

公開されたバージョンに今回のタグが含まれ、プレビューを終了した通常のアクセスでもGA4へ届くことを確かめれば、設定はひと区切りです。

探索でページごとのスクロール・クリックを調べる

データがたまったら、GA4の「探索」から「自由形式」を作ります。設定した日より前には、今回追加したイベントのデータはありません。探索では、計測開始後の日付と、自分で設定したイベント名を選びます。

スクロールを見る表は、次の組み合わせから始められます。

設定箇所入れる項目
行ページタイトル、またはページパス
列スクロール済みの割合、または用意したスクロール率のカスタムディメンション
値イベント数
フィルタイベント名がscroll_depthに完全一致

必要な項目を「変数」のディメンション・指標から追加し、「タブの設定」の行・列・値へ入れます。イベント名は、自分がGTMで設定した名前に合わせてください。

GA4の探索でページ別・スクロール到達位置別にイベント数を並べた表
ページとスクロール到達位置を組み合わせた探索の例です。

画像はページ別に到達位置を並べた実演です。別の刻み幅で計測した既存データも含まれるため、今回の10%刻みの結果と列は異なります。ご自身の表では対象のイベント名で絞り、関係のないイベントの(not set)を混ぜないようにします。

10%から100%まで到達した1回の閲覧は、複数のイベントとして記録されます。各列を合計して閲覧人数にしたり、列の差だけで離脱人数を断定したりはできません。まずは同じページ・同じ端末区分で到達位置の分布を比べ、見直す箇所の候補を探す使い方がよいと思います。

クリックなら、イベント名をlink_clickで絞り、ページパスとクリックテキスト・クリックURLを行に、イベント数を値に置きます。内部リンクだけ見たいときは、自社ドメインへのリンクに絞ってください。「どのページで、どのリンクが押されているか」が見えてきます。

まとめ:まず1つ、計測して確認するところまで進めよう

問い合わせなどの成果地点、スクロールの到達位置、内部リンクのクリック。この3つを整えると、PVだけでは見えなかったページ内の行動を調べる材料が増えます。

最初の一歩は、まだ取れていない行動を1つ設定し、GA4に届くところまで確かめること。全部を一度に整えるのが難しければ、成果地点から始めてください。記録していない過去の行動は、後から取り戻せません。

データを集計する段階では、Synapse MCPでAIに数字を聞く方法も使えます。続けて、その使い方を紹介します。

Synapse MCPなら、GA4のデータを自然言語で分析できる

計測ができたら、今度は「先月よりPVが増えた?」「どの記事がよく見られた?」を知りたくなりますよね。そのたびに探索の項目を選んだり、表を作り直したりするのが大変なら、AIに聞く方法もあります。

そこで使えるのが、GA4とClaude・ChatGPTなどをつなぐSynapse MCPです。最初に接続を済ませれば、探索レポートの作り方を知らなくても、知りたいことを日本語で伝えてデータを調べられます。データの取得はSynapse MCP、表やグラフへの整理は接続したAIが担当します。

「先月と今月のPVを比較して」「どの記事が人気?」と聞いてみる

たとえば、次のように質問できます。これは自分のサイトで試すための質問例です。

AIへの質問確認できること
先月と今月のPVを比較して。月途中なら日数をそろえ、対象期間と増減率を表にして。比較条件をそろえたPVと増減率
先月、PVが多かった記事を上位10件教えて。ページパスとPVを付けて。記事URLの範囲は最初に私に確認して。記事のPVランキング。記事以外のページを除いて集計
7日前から昨日までの、問い合わせ完了・スクロール・リンククリックの件数を見せて。イベント名は私の設定に合わせて確認して。設定済みイベントの件数。人数とは別の集計

たとえば9月26日までの数字を見るなら、9月1〜26日と8月1〜26日を比べます。月全体と月途中の数字をそのまま比べないのが大事です。比較元が0なら、増減率は計算できないことも添えてもらいましょう。

ここでいうPVは、ウェブページの表示回数です。GA4と照合するときはプロパティ・期間・指標をそろえます。アプリも含むプロパティでは、ウェブ分を分けて取得する必要があります。Google公式:表示回数などの指標定義

取得が途中までなら、その範囲も示してもらいましょう。ランキングや0件という回答を確かめるために必要です。また、計測していない行動をAIが後から復元することはできません。

実際に、接続したデータがAIの回答とグラフに変わる

GA4の週次レポートをAIで作った実演記事では、GA4とSearch ConsoleをSynapse MCPにつなぎ、Claudeにアクセス状況を聞いています。以下の3枚で、接続から回答・グラフ化までの流れを紹介します。上の月別比較・人気記事の質問例とは別の実演です。

Synapse MCPに同じサイトのGA4とSearch Consoleを接続した画面
① 同じサイトのGA4とSearch Consoleを接続した状態。Search Consoleのデータも聞きたい場合に追加します。

接続後は、CSVを毎回ダウンロードして添付しなくても、普段AIに話しかけるのと同じように自社の数字を聞けます。控えめに言って便利でしかないです。

Claudeの回答に表示された流入チャネル別セッション数とSearch Consoleの日別集計表
② 取得した数値が会話に返ってきます。下の表はSearch Consoleの7月22〜29日の検索データで、GA4のPVとは別の指標です。

さらに「GA4のデータをグラフ化して」と伝えると、日別の動きをグラフに整理できます。数字を取り出して終わりではなく、同じ会話で「グラフにして」と続けられるので、増えた日・減った日を確認しやすくなります。

GA4のセッション数・ユーザー数・PVをClaudeが日別の折れ線グラフにした画面
③ 「グラフ化して」と続けた結果。GA4の7月24〜31日のセッション数・ユーザー数・PVです。前のSearch Consoleの表とは期間が異なります。

ここから「よく見られたページは?」「レポートにまとめて」と続ける例も、実演記事で紹介しています。

まずは自分のGA4をつなぎ、7日間のPVを聞いてみる

まずは7日間のPVが返ってきて、GA4の数値と合うところまで試してみてください。最初の確認ができれば、次の質問も具体的になります。

  1. Synapse MCPに登録・ログインし、対象の店舗・案件を選ぶ。まだなければ作成し、GA4を追加する。
  2. Googleアカウントで認証し、対象のGA4プロパティを選ぶ。
  3. その店舗・案件のMCPリンクを発行し、接続ガイドに沿ってClaudeまたはChatGPTへ登録する。
  4. 接続を有効にした会話で、次の質問を送る。
接続済みのGA4プロパティを確認してください。
私が選んだサイトの、7日前から昨日までの日別PVを表にしてください。
ウェブの表示回数を使い、アプリの画面表示とは分けてください。
プロパティ名・ID、開始日・終了日、使った指標名も示してください。
取得できなかったデータは推測で埋めないでください。

数値が返ってきたら、同じプロパティ・期間のGA4の表示回数と照合します。対象期間の日付と取得したPVを、同じ条件のGA4で確認できれば、最初のデータ取得は完了です。データのない日は、未取得なのか計測がなかったのかも確認しましょう。次は「先月と比べて」「記事別に見せて」と質問を広げてみてください。

Synapse MCPでGA4をつなぎ、AIに7日間のPVを聞く →

初めて接続する方は、上の接続ガイドを見ながら進めてください。GA4を閲覧できるGoogleアカウントと、外部接続を利用できるClaude・ChatGPT側のアカウント・設定が必要です。

Synapse MCPのフリーは、新規登録から14日間・3サービスまで、自動課金なしで試せます。最新の条件は料金ページをご確認ください。