Blog
サーチコンソールの数字が合わない理由 — 匿名化クエリと差分の話
クエリ別の表をエクスポートして、表示回数を全部足してみる。ところが、画面の上に出ている合計の数字に届かない——。
Google Search Console(サーチコンソール)を使い込むと、いつかこれに気づきます。そして「エクスポートが壊れているのか」「自分の集計が間違っているのか」と疑い始めます。
どちらでもありません。 数字が合わないのは、仕様上の理由が複数重なっているからです。しかもその理由は種類が違うので、まとめて「誤差」として扱うと何も分かりません。
これを放置すると、実務で困ります。クエリ別の数字だけを見て「今月は表示回数が落ちた」と判断したのに、全体では落ちていなかった——ということが起こるからです。どの数字とどの数字を比べているのかが分かっていないと、増減の判断そのものが揺らぎます。
この記事では、まず合わない理由を種類別に仕分けします。そのうえで、いちばん大きな理由である匿名化クエリについて、自分のサイトでどのくらいの規模なのかを実際に手を動かして確かめる手順を紹介します。
数字が合わない理由を種類別に整理する
「合わない」とひとくちに言っても、原因は最低4種類あります。
1. 匿名化クエリ(本記事の主役)
クエリ別の表には出てこないのに、全体の合計には含まれている——という数字があります。匿名化クエリです。
公式ヘルプにはこう説明されています。
クエリでフィルタすると匿名化されたクエリが除外されるため、値はあくまで近似値となります。
つまりクエリで切った瞬間に、この分が落ちます。だからクエリ別の合計は、全体の合計より必ず小さくなります。多くのサイトで、これが「合わない」の最大の理由です。詳しくは次の章で扱います。
2. データが確定するまでの遅延
サーチコンソールの数字は、その日のうちに確定しません。直近の2〜3日ぶんは、後から増えます。
昨日の数字を見て「少ない」と思っても、3日後に見ると増えている、ということが普通に起こります。昨日と今日で同じ期間の数字が違って見えるのも、多くはこれが理由です。
3. GA4とは、測っている場所が違う
「サーチコンソールのクリック数」と「アナリティクスのセッション数」が合わない、という相談は非常に多いのですが、これはそもそも一致するようにできていません。
サーチコンソールのクリック数は、こう定義されています。
ユーザーを Google 検索、Discover、Google ニュース以外のページに移動させるクリックが、すべてクリック数にカウントされます
Google側で、検索結果の上で起きたことを数えたものです。
一方、アナリティクスが数えているのは、利用者がサイトに到達した後の動きです。サイトに置いた計測タグが動いて初めて記録されます。クリックした後に離脱した、タグが動かなかった、といった場合は数えられません。
数える場所も、数える条件も違います。近い数字にはなりますが、一致することは想定されていません。
4. 集計条件の違い
同じ期間を見ているつもりでも、条件が揃っていないことがあります。
-
検索タイプ: ウェブ・画像・動画・ニュースは別々に集計されます。既定はウェブなので、画像検索の分は入っていません
-
フィルタ: 国・デバイス・検索での見え方などで絞ると、当然その母集団の数字になります
-
プロパティの種類: ドメインプロパティとURLプレフィックスプロパティでは、対象になるURLの範囲が違います
-
期間の取り方: 「過去28日」と「先月1日〜末日」は当然違いますし、比較対象の期間がずれていることもあります
「合わない」と思ったら、まずこの4つが揃っているかを確認すると、無駄な調査を減らせます。条件のずれは、匿名化クエリより先に疑うべきです。こちらは自分で直せるからです。
匿名化クエリとは何か
ここからが本題です。
匿名化クエリは、プライバシー保護のためにGoogleが表示していないクエリです。公式ヘルプにはこう書かれています。
ユーザーのプライバシー保護のため、一部のデータを表示しないことがある。例えば、実行回数が非常に少ないクエリや、個人情報または機密情報を含むクエリは、トラッキングされないことがあります。
つまり「ごくまれにしか検索されない語」や「個人を特定しうる語」が対象です。1人しか検索していない語を表示してしまうと、その1人の検索内容を運営者に見せることになる——という考え方だと理解すると腑に落ちます。
そして重要なのは次の点です。
- クエリ別に集計すると、この分は除外されます(上で引用したとおり)
- クエリで分割しない全体の合計には、含まれています
だから差が出ます。逆に言えば、この2つの数字を引き算すれば、隠れている分の規模が分かります。
ページ別だと、同じようには落ちない
ここから1つ、実務で効く帰結が出ます。引用した公式の記述は「クエリでフィルタすると除外される」という書き方です。裏を返すと、クエリで切らない集計では、同じようには落ちません。
だからページ別の表を合計すると、クエリ別の合計より全体に近い数字になります。「ページ別だとだいたい合うのに、クエリ別だと足りない」という経験があるなら、理由はここです。
この性質は、あとで差分を取るときの土台にもなります。同じ期間・同じ条件でも、切り方によって見える量が変わる——これが匿名化クエリの扱いにくさであり、同時に規模を測る手がかりでもあります。
なお、実際の検索語そのものは、どのツールを使っても復元できません。 有料のSEOツールでも、APIでも同じです。これは設定で変えられるものでも、権限を上げれば見えるものでもありません。見えるのは「どれだけ隠れているか」という量だけです。
自分のサイトの匿名化の規模を確かめる
読むだけだと実感が湧かないので、実際に測ってみてください。5分ほどで終わります。
手順
- 検索パフォーマンス → 検索結果を開く
- 期間を固定します(過去3ヶ月など。以降この条件を変えないこと)
- 検索タイプが「ウェブ」になっていること、フィルタが何もかかっていないことを確認します
- 画面上部に出ている全体の表示回数をメモします ← これが「全部」
- 下の表でクエリタブを選び、エクスポートします
- 書き出したクエリ別の表示回数を合計します ← これが「クエリとして見えている分」
- 4 − 6 を計算します ← これが匿名化クエリの分(概算)
割合にするなら (4 − 6) ÷ 4 です。サイトによっては、これが想像よりずっと大きい数字になります。
計算のしかたを示すと、こういう形です(数字は計算例で、実際の割合はサイトによって大きく異なります)。
| 表示回数 | |
|---|---|
| 全体の合計(画面上部) | 10,000 |
| クエリ別の合計(エクスポート) | 7,000 |
| 差=クエリとして見えていない分 | 3,000(30%) |
同じことはクリック数でもできます。手順の4と6で表示回数のかわりにクリック数を使うだけです。表示回数とクリック数で割合が違うこともあるので、両方見ておくと解像度が上がります。
正直に書いておく注意点
この手順には限界が2つあります。知らずに使うと数字を読み違えます。
(1) エクスポートは上位1,000行までです。 1,000行を超えるクエリがあるサイトでは、6の合計に「1,001行目以降のクエリ」が入りません。つまり引き算の結果には、匿名化クエリの分と、1,000行から溢れた分が混ざります。規模の大きいサイトほど、この概算は粗くなります(サーチコンソールの1,000行制限を突破する方法まとめ)。
(2) 手作業なので、日次で追うのは現実的ではありません。 1回測って規模を知るのには十分ですが、「増えているのか減っているのか」を継続して見るには、毎日この作業を繰り返すことになります。
それでも、一度は自分の数字で測る価値があります。一般論の割合を読むより、自分のサイトの実際の数字を1回見たほうが、以降の判断が変わります。
この差分が教えてくれること・教えてくれないこと
測った差分から分かること、分からないことをはっきりさせておきます。
分かること
- 規模: 表示回数のうち、どのくらいがクエリとして見えていないか
- 推移: 期間を変えて何度か測れば、その割合が増えているのか減っているのかは追えます
割合が増えているなら、ごくまれにしか検索されない語からの流入が広がっている可能性があります——という程度の示唆までです。 何が起きたのか、どうすべきかは、この数字だけからは決まりません。
分からないこと
- 中身: 実際の検索語は復元できません。何度測っても、そこは見えません
- どのクエリが匿名化されたのか: 「この語が隠された」という単位では分かりません
- 原因: 割合が動いた理由は、この数字だけからは分かりません。検索のされ方が変わったのか、サイト側で何かが変わったのか、Google側の集計が変わったのか——差分は「どれだけ隠れているか」を示すだけで、なぜそうなったかは示しません
例外: 行としての存在を扱えるのはBigQueryだけ
1つだけ、性質の違う手段があります。BigQueryバルクエクスポートです。
公式ドキュメントにはこう書かれています。
匿名化されたクエリは、テーブルで長さが 0 の文字列として報告されます。
つまりBigQueryでは、匿名化クエリが行として存在します(検索語は空のまま)。画面やAPIのように「除外されて消える」のではなく、数えられる形で残ります。行レベルで匿名化分を扱えるのは、公式の手段としてはこれだけです。
この手間をなくすツールを開発中です
差分を毎日測り続ける部分を引き受けるサービスとして、サチモリを開発しています。
クエリ別に集計すると匿名化クエリが除外され、分割しない全体合計には含まれる——というGoogleの仕様を利用して、2つの数値の差分から匿名化分の規模を日次で算出・記録します。
推計ではなく、Googleが返す数値同士の差分です。 表示回数の何%が匿名化クエリなのか、その割合が時間とともにどう動いているのかを見られます(Pro機能として提供予定)。
そのうえで申し添えると、まずはこの記事の手順で一度、手動で確かめてみてください。5分で自分のサイトの規模が分かりますし、その数字を一度見ておくと、以降の話が具体的になります。
現在開発中で、サチモリ(サーチコンソールデータ保存・監視サービス)では事前登録を受け付けています。
よくある質問
匿名化クエリの中身を見る方法はありますか?
ありません。実際の検索語を復元する方法は、どのツールを使っても存在しません。これはGoogleの仕様で、プライバシー保護のために表示されていないものだからです。有料のSEOツールでも、Search Console APIでも、BigQueryバルクエクスポートでも、検索語そのものは見られません。見えるのは「どれだけ隠れているか」という規模だけです。
GA4とサーチコンソールのクリック数が合わないのは異常ですか?
異常ではありません。測っている場所が違うためです。サーチコンソールのクリック数は、Google検索・Discover・Googleニュースの結果からサイトへ移動したクリックを、Google側で数えたものです。一方アナリティクスは、利用者がサイトに到達した後の動きを、サイトに設置した計測タグで数えます。数える場所も条件も違うので、一致しないのが通常です。
匿名化クエリはどのくらいの割合ありますか?
サイトによって大きく異なるため、一般的な数値はありません。扱っているテーマの幅、検索される語の種類の多さ、サイトの規模によって変わります。この記事で紹介する差分の手順を使えば、自分のサイトの実際の割合を確かめられます。まず一度、自分の数字で測ってみることをおすすめします。
この手間をなくすツールを開発中です → 事前登録で完成時に最初のご案内
事前登録して、完成したら最初に案内を受け取る