GA4とサーチコンソールの数字が合わない理由と、突き合わせの手順
株式会社エクスブリッジ / 自社30ドメインの運用で実測した内容をもとにしています
「GA4では検索流入が数千あるのに、Search Consoleのクリックは数百しかない」——これはツールの故障でも設定ミスでもありません。両者は違うものを数えています。まずその違いを押さえると、どちらの数字をいつ信じればいいかが決まります。
数えているものが違う
| 数えているもの | 数えられないもの | |
|---|---|---|
| GA4 | ページでJavaScriptタグが発火したセッション | 広告ブロッカー利用者、Cookie同意の拒否、JSを実行しないボット・AIクローラー |
| Search Console | Google検索の結果画面でのクリック | Google以外の検索(Bing・Yahoo!)、SNS・直接流入、Discover経由の一部 |
だから「GA4の検索セッション > GSCのクリック」は普通に起きます。GA4の「Organic Search」にはBingやYahoo!も入りますし、逆にGSCにしか出ない検索需要(表示されたがクリックされなかったクエリ)もあります。
それでも差が大きすぎるときに疑うこと
① 実ブラウザを使うボットがGA4を水増ししている
GA4のボット除外は、IABの既知ボットリストに載っているものだけです。本物のChromeを自動操縦するスクレイパーは素通りします。当社の実測では、ある2週間でセッションが約5倍に見えた増加分のほぼ全部が、特定国からの自動アクセスでした。見分け方は簡単です。
- 国別レポートで、身に覚えのない国が上位に来ていないか
- その国のトラフィックの参照元がほぼ
(direct)ではないか - 平均セッション時間が1〜3秒ではないか(人間はそこまで速く帰りません)
② 参照元が「取れない」流入がDirectに化けている
GoogleはRefererをドメイン単位でしか送らないため、Discover・ニュース・検索の区別はGA4側では付きません。メールやアプリからの流入もDirectに落ちます。Direct が多い=ブックマークが多い、とは限りません。
③ AIクローラーはどちらにも出ない
GPTBotやClaudeBotなどのAIクローラーはJavaScriptを実行しないので、GA4のタグは発火しません。GSCにも出ません。つまりJSタグ型の計測だけを見ていると、AIに読まれているかどうかが一切分からないということです。当社のサイトでは、サーバー側の計測を入れた直後からAIクローラーの巡回が記録されました。JSタグだけの期間は1万行を超えるログにゼロ件——記録できていなかっただけでした。
突き合わせの手順(月1回・30分)
- GSCのクリック数を基準にする——Google検索からの実流入はこれが正
- GA4のOrganic Searchから、GSCクリックを引く——差分がBing/Yahoo!+Discover系のおおよその量
- GA4の国別で不自然な国を除外し、実勢のセッション数を出す
- サーバー側計測があれば、AIクローラー・botの巡回数を別枠で見る
この4つを並べると、「検索からの実流入」「検索以外の実流入」「自動アクセス」「AIの巡回」が分離できます。どれかひとつの数字だけを見て一喜一憂しなくなります。
Kurage App Store で見る(55,000円・税別)
よくある質問
- GA4とサーチコンソールのどちらが正しいのですか?
- どちらも正しく、数えているものが違います。Google検索からの流入はGSC、サイト全体の行動はGA4(ボットを除外した上で)、AIクローラーはサーバー側計測でしか見えません。
- GA4のアクセスが急に増えました。喜んでいいですか?
- 国別・参照元・平均セッション時間の3点を先に確認してください。特定国×(direct)×滞在数秒が揃ったら自動アクセスです。
- ボットのアクセスは無視していいですか?
- 数字を分けて見られるなら無視で構いません。問題は、混ざったまま「伸びている」と誤読することです。