何故、検索キーワードを Analytics で見られなくて Search Console では見られるのか?

Google Analytics を導入して、来訪元の検索キーワードを調べようとしたらほとんどが「(not provided)」になるので、Search Console を Analytics と連携させて確認。これはもうご存じの方が多いでしょう。

では、何故こんなことになるのでしょうか?

よく『SSL化されたから』というような話も聞きますが、実はそれだけでは検索キーワードが失われる条件になっておらず、『SSL化された+ Google のリストにリダイレクトが入ったから』です。
Google は、インターネット通信の秘匿性(通信の秘密)という潮流に従い、Webサイトを SSL(https)で保護することを推奨し、また、Google 自身もそうしています。
検索エンジンと Webサイトが SSL で保護されている前提において、検索を行い、Webサイトへ移動するというのを図にすると、以下の様になります。

SSL間での検索から訪問モデル

緑色の矢印が、ページの移動に当たります。検索キーワードの取得は、前のページに保有していた URL 上の文字列から取り出されるなどして、記録されます。
そして、SSL が具体的に何を保護しているのかというと、『非SSL のページ対して、リファラ情報を引き渡さない』という事をしています。つまり、上記の図であれば、実は検索キーワードがちゃんと採れるのです。
では、本当のところどうなっているかというと、以下の様になっています。

SSL間での検索から訪問モデル2

図の通り、検索結果リストをクリックすると、一旦 Google ドメイン配下に置いたリダイレクトファイルを踏んで、そこで検索キーワード等のリファラ情報を消してから、クリックした Webサイトに移動しているのです。
実際に、Google の検索結果で、任意のアンカーを長押ししてみると、ブラウザの下に Google のリダイレクトファイルの URL が表示されます。
このリダイレクトファイルでおそらく、Search Console へのクリック等の情報保存もしているのでしょう。

インターネット閲覧情報については、基本的に秘密化するという潮流が続いていますので、採れる情報はさらに減っていくかもしれませんね。