キャンペーンURLクリック数が計測できない原因と対処法
2025年10月26日
記事内バナーやCTAボタンから「キャンペーンURL(UTM付き)」へ遷移させているのに、
GA4でクリック数が増えない・見つからない――そんな相談が増えています。
本記事では、GA4日本語UIに基づき、クリックが“見えない”主な原因と、すぐ実施できる対処法を整理します。
前提整理:何を「クリック数」として集計するのか
GA4でページ上のリンククリックを集計するには、拡張計測機能の「離脱クリック」、またはカスタムイベントのどちらかで取得します。
- 離脱クリック:現在のドメインから外部ドメインへ遷移するリンクのクリックを自動取得(拡張計測機能)。
- カスタムイベント:自ドメイン内への遷移(内部リンク)や、JSボタンなど要素以外も計測したい場合に実装。
つまり、「UTMの有無」はクリック計測の条件ではありません。UTMは流入の識別用で、クリックの取得は別設定です。
よくある原因(と対処)
1. 「離脱クリック」がオフになっている
拡張計測機能が無効、または「離脱クリック」がオフだと自動取得されません。
- 管理 > データ ストリーム を開く
- 対象のウェブ データ ストリームを選択
- 拡張計測機能をオンにし、離脱クリックが有効か確認
2. クリック先が「クロスドメイン設定の対象」で、離脱扱いになっていない
GA4では、クロスドメイン計測の対象に追加したドメインへのリンクは離脱クリックとしては記録されません。
キャンペーンURLの遷移先をクロスドメイン対象に含めている場合、離脱クリック数が増えないことがあります。
対処:離脱クリックとして集計したいなら、当該ドメインをクロスドメイン対象から外す/別途カスタムイベントで計測する、のいずれかを選択。
3. 内部リンク(同一ドメイン)を「離脱クリック」で拾おうとしている
同一ドメイン内のリンクは離脱クリックでは取得されません。内部CTAのクリックはカスタムイベントで取得します。
対処(例:GTM)
- トリガー:リンクのクリック(ただし内部URL条件) を作成
- タグ:Google タグ(イベント)で
event_name: cta_click等を送信 - パラメータ:
link_text,link_url,button_idなどを付与
4. クリック要素が <a> でない/hrefが無い/JSで遷移
離脱クリックの自動検知は主にリンク要素(<a href="...">)を前提とします。
javascript:void(0) や onclick だけで遷移させる実装だと拾えないことがあります。
対処:可能なら <a>要素+hrefに変更。難しい場合はカスタムイベントを送信。
5. フィルタや同意モードで“自分で消している”
- 管理 > データの収集と修正 > データフィルタが「有効」だと、対象トラフィックはレポートにもDebugViewにも出ません(検証は「テスト中」推奨)。
- 同意モード(基本モード)では同意前にタグが起動せず、クリックイベントが送信されないことがあります。
6. そもそも「GA4タグ」が無いページから遷移している
LPや記事テンプレートの一部にタグが未設置だと、クリック自体が取得されません。
テンプレート/CMSプラグインの配信漏れに注意。
7. メール/SNSアプリ内のタップ数をGA4で数えようとしている
GA4は基本的に自サイト上の行動を計測します。メール本文やSNSの投稿画面でのタップ数は、GA4では取得できません。
GA4で確認できるのは、自サイト上でのクリック、および着地後のセッション・コンバージョンです。
対処:メール配信/SNS広告の管理画面や短縮URLのクリック統計を併用。自サイト内の遷移前クリックはGA4で取得。
確認手順(テンプレート)
- 対象ページを開き、管理 > データの表示 > DebugView を表示
- テスト端末でCTAをクリックし、event_name に
click(離脱)や、設定したcta_click(カスタム)が出るか確認 - 出ない場合:
- 拡張計測機能の離脱クリックが有効か
- 要素が <a href> か(JS遷移ならカスタム送信に切替)
- データフィルタは「テスト中」か
- 同意モードの同意前挙動
- 該当テンプレートにGAタグが入っているか
- 集計面:
- 探索(Explore)でイベント=
clickまたはカスタム名を軸に可視化 - ディメンション:
link_url,link_domain,link_text(離脱クリックのパラメータ) - 必要に応じてカスタム定義に登録してレポートで利用
- 探索(Explore)でイベント=
実装サンプル(カスタムイベントを直接送る場合)
<a id="cta1" href="/campaign" class="btn">申し込む</a>
<script>
const el = document.getElementById('cta1');
el.addEventListener('click', function() {
gtag('event', 'cta_click', {
link_text: el.textContent,
link_url: el.href
});
});
</script>
GTMを使う場合は、「リンクのクリック」トリガー+「Google タグ(イベント)」で同等の送信が可能です。
まとめ:判断基準
- 外部ドメインへの遷移 → 拡張計測機能の離脱クリックで自動取得
- 内部リンク/JSボタン → カスタムイベントで取得
- クロスドメイン対象に入れると離脱扱いにならない点に注意(必要ならカスタムで補完)
- DebugViewで動作を確認し、探索で
link_url等のパラメータで分析
設計の肝は「どのクリックを、どのイベント名で、どのパラメータと一緒に送るか」を明確にすること。
まずは離脱クリックのオン/オフと、対象CTAの実装方式を点検しましょう。