サイト運営をしていると、GA4を使って「特定のページの特定のボタンのクリック数のみを計測したい」と思う場面があるはずです。
CVポイントとなるCTAボタンや、ユーザー導線を確かめたい特定のリンクのクリックを正しく計測できれば、サイト改善やマーケティング戦略に大きく役立ちます。
ところが実際には、「設定したのにイベントが取れない」、「想定外のクリックまでカウントされる」 といったトラブルが少なくありません。
この記事では、私が実際に行ったGA4イベント計測の設定過程をもとに、失敗例と成功したパターンを徹底解説します。
GA4では通常、onclick やGoogleタグマネージャーを使って特定のボタンクリックを計測できます。しかし、JavaScriptエラーがある環境では、正しい書き方をしても計測が動かない場合があります。
本記事では、実際の失敗例をもとに「なぜ計測できなかったのか」「どの方法なら安定するのか」を徹底解説します。
GA4でボタンクリックを計測する

Webサイト運営の現場では、以下のようなケースで「クリック数の正確な把握」が求められます。
- ランディングページのCTAボタンの効果測定
- 「資料請求」「お問い合わせ」「会員登録」などの重要なリンクのクリック数確認
- 広告LPや記事内リンクのどこが押されているか を把握して改善につなげたい
Googleアナリティクス(GA4)では、自動で一部のクリックを拾えますが、「特定のボタンだけ」を正確に抽出するには、一手間かける必要があります。
今回の事例
例として以下のようなケースを取り上げます。
- 対象ページ:サービス紹介ページ(例:/service)
- 計測したいボタン:「資料請求はこちら」
- リンク先:https://example.com/document/
- 目的:このボタンのみのクリック数をGA4で正確に計測する
- 問題点:JavaScriptのエラーがある(検証ツールのコンソール上で確認)
実際に試した方法と結果

まずは複数の方法を試し、それぞれの結果を整理しました。
| 方法 | 内容 | 結果 | コメント |
|---|---|---|---|
| 方法① | <a>タグに onclick 属性を追加し、クリックイベントを送信 | 失敗 | JavaScriptエラーにより動作せず |
| 方法② | JS関数でクリックイベントを送信 | 失敗 | 同様にJSエラーで停止 |
| 方法③ | GA4管理画面で「/service→/document」遷移をイベント化 | 失敗 | 特定ボタン以外も計測されてしまう |
| 方法④ | URLパラメータを付与してGA4で検知 | 成功 | 安定かつ正確に計測可能 |
通常であれば方法①、②でクリックイベントは計測できます。
今回のケースでうまくいかなかった原因は、サイト全体で読み込まれていた 共通スクリプトのエラーにあった可能性が高いです。
- JSエラーがあると、後続のコードが実行されない
- そのため、onclickや関数で追加したコードも無効化される
- 「設定したのにイベントが飛ばない」という事象に
方法③は代替手段ですが、ヘッダーやフッターなどからの遷移数もカウントしてしまうため、今回は見送りました。
最終的に採用したのが「URLパラメータを付与してGA4で検知する方法」です。
【実装内容】
- HTMLの修正(1箇所のみ)
計測対象ボタンのリンク先に、固有のクエリパラメータを追加。<a href="https://example.com/document/?from=service_button">資料請求はこちら</a> - GA4管理画面でカスタムイベントを作成
- イベント名:click_document_from_service_button
- 条件:
- event_name = page_view
- page_location に ?from=service_button を含む
【結果】
- リアルタイムレポートでイベントの発火を確認
- 既存のJSエラーに影響されず安定稼働
- 実装コストも最小限(リンク修正+イベント設定のみ)
実装チェックリスト

念のため、以下を確認しておきましょう。
- 変更後のリンクURLが正しく動作する(404やリダイレクトになっていないか)
- GA4リアルタイムでイベントが発火している
- イベント名の命名規則を整理しておく(例:
click_{目的}_{発生元}) - 自動計測イベントと重複していないか確認
将来的にはGTMを活用するのがおすすめ
今回の方法はソースファイル内に直接コードを埋め込む方法ですが、、Googleタグマネージャー(GTM)を使えばもっと簡単、かつ柔軟な計測が可能になります。
- ボタンクリックをトリガーにしてイベントを発火
- クリックテキストやリンクURLを変数として取得
- サイト改修不要でイベントを追加可能
ただし、GTMを導入していない環境では今回のURLパラメータ方式がもっとも現実的です。
まとめ
GA4でのイベント計測は一見シンプルに見えて、実際には サイトの環境や要件によってつまずきやすいポイントがけっこうあります。
そのため、ネットなどの情報を頼りに実装しても、必ずしもうまくいくとは限りません。
ただ、実装方法は複数あり、一つの方法でダメでも、別の方法で実装できる可能性もあります。
だから諦めずに一つずつ原因を特定していき、正しく実装できる方法を探していきましょう。
【まとめ】
- まずはonclickやGTMでの実装を試す
- 動作しないときはJSエラーを確認
- 要件が「特定ボタンのみ」ならURLパラメータ方式が安定
- 将来的にはGTMを導入するのがベスト

