1分で読了チュートリアル

ショートリンクのクリック数とGA4のセッション数: なぜ一致しないのか

あなたの短縮サービスが1,000クリックを記録し、GA4は620セッションしか表示しない。この二つの数字が食い違う6つの理由と、どのくらいの差が「何かが壊れている」ことを意味するのかを解説します。

Marius Voß
DevRel · edge infra
クリックカウンターとGA4セッションカウンターが異なる合計値を示しており、その間の差分がボットトラフィック、同意、セッションの統合としてラベル付けされている様子

短縮サービスはHTTPリクエストをカウントします。Google Analyticsは、タグが読み込まれた後にブラウザが報告したセッションをカウントします。これらは異なるレイヤーで、異なるルールのもとで計測される異なるイベントであるため、合計は一致しませんし、どんな設定変更をしても一致させることはできません。

ほとんどのキャンペーンにおいて、20〜40パーセントの差は普通のことです。それより大きい場合は、六つの要因がそれぞれ少しずつずれているというより、一つの特定の何かが壊れていることを意味するのが普通で、その差の大きさがどちらなのかを教えてくれます。本記事ではクリックからセッションまでの経路をたどり、数字が変化する箇所をそれぞれ名指しし、最後に午後のうちに実行できる突き合わせ手順で締めくくります。まだタグ付けをエンドツーエンドで組んでいないなら、UTMキャンペーンをエンドツーエンドで追跡するが最初に読むべきコーナーストーン記事です。

二つの数字は異なるイベントを計測している

クリックは、リクエストがリダイレクトに到達した瞬間に記録されます。応答はLocationヘッダー付きの301または302であり、数ミリ秒で完了します。このやり取りには、人間もレンダリングされたページもJavaScriptも一切必要ありません。

GA4のセッションは、タグを読み込んだブラウザからsession_startイベントがGoogleのサーバーに届いたときに開始されます。Googleの公式定義はこの依存関係を明示しており、セッションは到着数のカウントではなく、30分の非アクティブタイムアウトを持つクライアントサイドの構成物だとされています。リダイレクトとそのイベントの間には、送信先へのDNSルックアップ、TLSハンドシェイク、HTMLの応答、タグマネージャー、同意チェック、そして訪問者の忍耐が挟まっています。

そのどれもが、クリックは存在してもセッションは存在しない場所です。逆のことが起こる場所はちょうど一つだけあり、それは同じ人物が後で戻ってくるケースです。

クリック側を水増しする要因

自動化されたトラフィックが単一の要因としては最大であり、その分布はチャネルごとに均一ではありません。その大半は四つの発生源によるものです。

メールセキュリティスキャナー。 企業のフィルターは、メッセージが受信箱に届く前にすべてのリンクを開き、中には先にURLを書き換えるものもあります。その痕跡は紛れもありません。配信から数秒以内に、少数のネットワークから、キャンペーン内のすべてのリンクに対して一斉にクリックが発生します。受信者が金融、医療、教育、政府機関に属している場合、これだけで生のクリック数が2倍になることもあります。Outlook Safe Linksによるリライトでは、この特定のスキャナーが通過時にURLに何をするのかを解説しています。

リンクプレビューの展開機能。 Slack、Teams、WhatsApp、あるいはSNSの投稿欄にリンクを貼り付けると、プラットフォームはカードを作成するためにそれを取得しにいきます。その取得もまた、リダイレクトに対するリクエストです。同じリンクを五つのチャネルに投稿すれば、同僚の誰か一人がそれを読む前に、すでに5クリックが発生していることになります。

稼働監視・セキュリティ監視ツール。 監視チェックに登録したものは、設定した間隔で、永遠にスケジュール通りクリックし続けます。

クローラー、新顔も含めて。 検索クローラーは昔からリダイレクトをたどってきました。今では、モデル学習用や即時取得用のボットも、公開されてアクセス可能なものであれば何にでも、大量にそれを行います。AIクローラーがショートリンクに対して行うことでは、どのエージェントがリダイレクトをたどり、どれが最初のホップで止まるのかを解説しています。

Elidoは、クリックがカウントされた後ではなく前に、既知の自動化トラフィックを除外するため、ダッシュボードの数字はすでにフィルタリング済みです。これは正しいデフォルトの挙動であり、今使っているツールが同じことをしているかどうかは確認する価値があります。というのも、生のカウンターとフィルタリング済みのカウンターの差が、そもそも説明しようとしているGA4とのギャップより大きくなることがあるからです。ショートリンク分析で何を測るべきかでは、フィルタリング済みと生の数字の違いをより詳しく解説しています。

ショートリンクのクリックからリダイレクト、送信先ページを経てGA4セッションに至るまでの経路。各段階でボットトラフィック、離脱、同意が件数を減らしていく様子

セッション側を目減りさせる要因

今度は逆方向です。実在の人物がクリックしたのに、GA4には何も記録されなかったケースです。

ヨーロッパにおける最大の原因は同意です。Consent Mode v2のもとでは、アナリティクスの同意が拒否されると標準レポートにセッションが計上されません。得られるのはせいぜいモデル化されたデータであり、モデリングが何かを生み出すには十分な母数が必要です。厳格な同意バナーを持つヨーロッパの読者層では、到着した訪問者のうち4分の1から半分がセッション数から欠落しつつ、その全員が本物のクリックだった、ということが起こり得ます。トラッキングのためのConsent Mode v2では、拒否されても生き残るものと生き残らないものを解説しています。

次に機械的な損失があります。広告ブロッカーやトラッキング保護のデフォルト設定は、タグの読み込みそのものを止めてしまいます。送信先ページの表示が遅ければ、読み込み中に離脱する訪問者が発生し、session_startに一度も到達しなかったクリックはセッションになりません。特定のテンプレートにおけるタグコンテナの設定ミス、アプリ内ブラウザの奇妙な挙動、タグが発火する前にもう一度リダイレクトするランディングページ、これらはすべて「クリックはあったがセッションはない」ケースです。

以前、45パーセントのギャップの原因調査にほぼ丸一日を費やしたことがありますが、原因は、モバイルSafariでまだ描画されていないページの上にマーケティングサイトが同意バナーを表示していたことでした。クリックは本物で、訪問者も本物でしたが、タグは一度も実行されませんでした。

セッションは統合されるが、クリックはされない

これは構造的な問題であり、完全な突き合わせが不可能である理由でもあります。

四つのリンクを含むニュースレターを送信したとします。ある読者が10分以内にそのうち三つをクリックします。これは3クリック・1セッションであり、どちらの数字も正しいのです。これをリスト全体に乗じると効果は大きくなります。キャンペーンに含まれるリンクが多いほど比率は広がりますが、どこにも欠陥はありません。

30分の非アクティブウィンドウも同じように働きます。クリックして読み、1時間後に戻ってきた人は、2クリックから2セッションを生み出します。5分以内に2回クリックした人は1セッションになります。GA4は訪問の途中でキャンペーンソースが変わるとセッションを新しく開始するため、ニュースレターから訪れた後に広告をクリックした訪問者は2回カウントされることになります。

キャンペーンのデザインを変更した後にクリック対セッションの比率が動き、他には何も変えていないのであれば、バグを探しに行く前にメッセージ内のリンク数を数えてみてください。

クエリ文字列が生き残らない場合

他の原因とは切り分けて考える価値のある、特定の失敗パターンがあります。セッションは記録されているのにキャンペーンが記録されておらず、短縮サービスはニュースレターから800クリックがあったと言い、GA4はdirectトラフィックの800セッションを示す、というケースです。

原因はほぼ常に送信先側にあります。example.com/pageからexample.com/page/への末尾リダイレクトがクエリ文字列を落としてしまう、未知のパラメーターを取り除くホスティングのルール、あるいはそもそもUTMパラメーターを一度も持っていなかったリンク、といった具合です。一部のブラウザやプライバシーモードも特定のトラッキングパラメーターを取り除きますが、これは異なる仕組みでありながら同じ症状を示すもので、UTMパラメーターを削除するブラウザで解説しています。

診断は2分で済みます。ショートリンクを開き、最終的なアドレスバーを確認して、パラメーターがURLにまだ残っているかを見てください。消えていれば、修正すべきは短縮サービスではなく送信先のホストです。なぜGA4にUTMパラメーターが表示されないのかでは、判断の全経路を解説しています。

フィルタリング済みのクリックとセッションを同じ軸で比較する準備はできていますか?Elidoのリンク分析は、デフォルトでボットフィルタリング済みの件数を報告し、自分自身で差分を監査する必要があるときには生のイベントストリームをエクスポートできます。

クリック数とセッション数の間の四段階のギャップの大きさと、それぞれの最も可能性の高い原因、それを確認するためのチェック方法を対応付けた図

午後のうちに実行できる突き合わせ手順

この順番で進めてください。各ステップは原因の一分類を取り除くため、五つすべてを乗り越えて残った不一致はエスカレーションする価値があります。

  1. 自分のリンクをモバイルデータ通信のスマートフォンから一度クリックし、GA4のDebugViewにキャンペーンが紐づいた対応するセッションが現れることを確認します。これが失敗する場合、それより下流は何も計測できず、タグ付けそのものが問題です。
  2. 同じリンク・同じ期間について、フィルタリング済みクリックと生のクリックを比較します。差が大きければ自動化されたトラフィックが原因であり、チャネルを見ればたいていどの種類かが分かります。
  3. リファラー別にセグメントします。メールは最も比率が悪く、自社サイトは最も良く、チャットプラットフォームはその中間になるのが普通です。
  4. その期間の同意承諾率を確認します。セッション数にその逆数を掛け、それだけでギャップのどれだけを説明できるかを見てください。
  5. キャンペーンごとのリンク数を数えます。四つのリンクと一人の受信者なら4クリックであり、テンプレートを変更したときに比率が動いていれば、それが答えです。

実際に「普通」な比率とは何か

単一のベンチマークを提示してくる相手は、何かを売りつけようとしています。この比率はチャネルの構成、読者層のメールインフラ、同意率、そして各メッセージが含むリンクの数に左右され、そのすべてが市場によって異なります。

だからこそ、自分自身の基準を作りましょう。1か月間、キャンペーンごとにクリック数とセッション数を記録し、比率を計算し、各チャネルにとっての「普通」がどのようなものかを書き留めます。それ以降、役に立つシグナルは「動き」です。常に1セッションあたり1.4クリックで推移していたニュースレターが突然3.2になれば、スキャナーの問題かランディングページの不具合であり、四半期末ではなく1日以内に気づけるようになります。

それが正直な到達点です。一つの数字ではなく、その関係性を十分に理解していて、崩れたときにそれと気づける二つの数字です。

コーナーストーン記事シリーズを読む

本記事はtutorialsクラスターに属しています。リンクの作成から、根拠を持って説明できるレポートに至るまでの計測チェーン全体はUTMキャンペーンをエンドツーエンドで追跡するで解説しており、UTMテンプレートの運用ルールではチーム全体でタグを一貫させる方法を解説しています。

ブログの関連記事

よくある質問

なぜ自分のリンク短縮サービスはGoogle Analyticsより多くのクリック数を示すのですか?

二つのシステムが異なる時点で異なるイベントを計測しているためです。短縮サービスは、自動化されたものも含め、リダイレクトに到達したすべてのHTTPリクエストをカウントします。GA4は、ブラウザでタグが読み込まれ、同意によって許可された後にのみセッションをカウントします。セキュリティスキャナーがリンクを開くことから、ページが描画される前に訪問者が離脱することまで、この二つの時点の間に起こるすべての出来事がその差分になります。

クリック数とセッション数の間の「普通の」差とはどのくらいですか?

普遍的な数字というものは存在せず、それを提示するベンダーはすべて当て推量をしています。メールを多用する施策では、リンクスキャナーの影響でクリック数がセッション数より30〜60パーセント多くなるのが日常的です。一方、自社サイトに掲載したリンクなら差は10パーセント以内に収まることもあります。重要なのは自分自身の基準値です。1か月間その比率を計測し、それが急に動いたときをシグナルとして扱いましょう。

ボットはショートリンクのクリック数を水増ししますか?

はい、一部のチャネルではボットが大半を占めます。企業のメールセキュリティは配信前にすべてのリンクを開き、チャットアプリはリンクが貼られるとプレビューを取得するためにフェッチし、稼働監視ツールはスケジュールに従ってポーリングを行い、AIクローラーは公開ページで見つけたリンクをたどります。既知の自動化トラフィックをカウント前にフィルタリングする短縮サービスは、生のリクエスト総数をそのまま公開するサービスよりも、はるかにGA4に近い数字を報告します。

リダイレクトは新しいGA4セッションを作成しますか?

いいえ。リダイレクトはページビューではなくサーバーの応答であるため、送信先が読み込まれるまでは何もカウントされません。リダイレクトにできることがあるとすれば、異なるキャンペーンパラメーターを運ぶことで新しいセッションを開始させることです。これは、訪問の途中でキャンペーンソースが変わるとGA4がセッションを再開するためです。

なぜ自分のクリックがGA4でdirect(直接流入)やnone(未設定)として表示されるのですか?

たいていはクエリ文字列がホップの途中で失われたためです。リンク内の送信先URLにUTMパラメーターがない場合、あるいは送信先側のリダイレクトがそれを取り除いてしまった場合、GA4はその訪問を何にも帰属できず、directの下に分類してしまいます。タグは正しく発火しましたが、キャンペーンデータがそもそも届かなかったのです。

クリック数とセッション数を完全に一致させることはできますか?

いいえ、それを追い求めるのは無駄な努力です。一人の人が一通のニュースレター内の三つのリンクをクリックすれば、それは仕様として3クリック・1セッションになります。目指すべきは、自分が理解している安定した比率であり、それが動いた日に何かが変わったと分かることです。

Elidoを試す

URLを貼り付けて短縮リンクを取得

登録不要。リンクは30日間有効。永久に保存するには登録してください。

Free、登録不要 · 1日あたり2件

Elidoを試す

EUホスティングのURL短縮サービス。カスタムドメイン、詳細な分析、オープンAPI付き。無料プラン - クレジットカード不要。

タグ
clicks vs sessions
ga4 sessions
click tracking discrepancy
bot clicks
utm parameters
link analytics

続きを読む