サイト内検索は訪問者のニーズそのもの! GAでサイト内検索キーワードを分析する2つの方法[第44回]
サイト内検索キーワード分析について今回から数回にわたり解説する。今回は、サイト内検索キーワードを取得するための準備を中心に解説していく。
ユーザーが検索エンジンの検索結果ページからWebサイトに流入した場合、ユーザーが使った検索キーワードを分析すれば、どのようなニーズでサイトを訪れたのかのヒントが得られる。しかし検索エンジンのセキュアサイト(https)化に伴い、検索エンジンからの流入時の検索キーワードはアクセス解析ツールではほとんど取得できなくなってしまった。検索キーワードの詳しい事情は第28回の記事を参照してほしい。
そのような状況下で、ユーザーのニーズを知る手掛かりとして重要性を増しているのが、サイト内検索機能を使って検索されたキーワード情報ではないだろうか。訪問者のニーズそのものを知ることができるので、ユーザーのニーズに合わせたコンテンツ作りや、ニーズに合わせたサイト構成を作るためのヒントが満載なはずだ。
サイト内検索では多くの場合、検索結果ページのURLの中に検索キーワードの情報が含まれている。準備として、その情報がサイト内検索のキーワードであることをGoogleアナリティクスに教えてあげる必要がある。2つの例を挙げて、タイプ別に設定方法を説明しよう。
- パラメータを使ったサイト内検索の設定がわかる
- フィルタを使ったサイト内検索の設定がわかる
方法1パラメータからサイト内検索キーワードを抜き出す
1つ目は検索キーワードをパラメータの値として表示する場合の設定だ。筆者が運営しているサイト「GAフォーラム」で「アクセス解析」と入力してサイト内検索した結果のページのURLは下記のとおりだ。
http://gaforum.jp/?s=%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E8%A7%A3%E6%9E%90
このURLのパラメータ(「?」の後に続く赤字部分)のs=の後に続いている文字列をデコード(人が読める文字に戻すこと)すると「アクセス解析」となる。ここにサイト内検索キーワードが格納されているのだ。ChromeやFirefoxなど、ブラウザによってはアドレスバーで日本語のまま表示される。
このように、サイト内検索のキーワードを分析するためには次の設定が必要になる。
- サイト内検索結果ページのURL構造を確認する
- サイト内検索キーワードが格納されている場所をGoogleアナリティクスに教える
それでは、パラメータの値にサイト内検索キーワードを格納している場合の設定方法を説明しよう。まず「管理」(図1赤枠部分)の中のビューの項目の1つ「ビュー設定」(図1青枠部分)をクリックしよう。
「ビュー設定」画面に移動したら、一番下までスクロールしよう。そこに「サイト内検索の設定」というブロックがある(図2)。
「サイト内検索のトラッキング」の「オフ」となっている箇所(図2赤枠部分)をクリックして、「オン」に変えよう(図3赤枠部分)。するとオンになった箇所の下に、新しく諸設定をする部分が表示される。「クエリパラメータ」の部分(図3青枠部分)に、パラメータを入力する。
先ほどのGAフォーラムの例では検索結果は「?s=サイト内検索キーワード」というURLだった。つまりパラメータ「s」がサイト内検索キーワード用のパラメータということになるので、入力欄には「s」と入力すればよい。
「URLからクエリパラメータを削除」はどう分析したいかで決める
その下に「URLからクエリパラメータを削除」というチェックボックスがあるが(図3緑枠部分)、これは、[行動]>[サイト コンテンツ]>[すべてのページ]レポートなどほかのレポートで表示される「ページ」名から該当のパラメータ部分を削除するかどうかというオプションだ。
GAフォーラムの例では、ここにチェックしてパラメータを削除してしまうと、ページ名がトップページと同じ「/」表示となり区別がつかなくなってしまうので、チェックはせずにおく。そうするとレポート内で表示される「ページ」名は「/?s=サイト内検索キーワード」のままとなる。
では、サイト内検索結果ページのURLが次のような場合はどうだろうか。この「/search/」ディレクトリ(赤字部分)はサイト内検索以外では使用されていないものとする。
http://example.com/search/?s=(検索キーワード)
この場合に「URLからクエリパラメータを削除」にチェックを付けると、サイト内検索を行ったアクセスは「ページ」名が「/search/」にまとめられ、サイト内検索結果ページ群としてコンパクトにまとめられるというわけだ。
「サイト内検索のカテゴリ」は複数種類のパラメータがあるときに使う
その下にある「サイト内検索のカテゴリ」(図3黒枠部分)も同様の設定方法になる。サイト内検索で使うパラメータが2種類以上ある場合に、一方のサイト内検索をもう1つのディメンション(分析軸)として設定できるオプションだ。たとえば製品検索と全体検索でパラメータが分かれているような場合だ。
サイト内検索キーワードは、[行動]>[サイト内検索]>[サイト内検索キーワード]レポート(図4赤枠部分)で見ることができるが、「検索キーワード」と「サイト内検索のカテゴリ」の2つのディメンション(図4青枠部分)が用意されており、後者が図3の設定の「サイト内検索のカテゴリ」に対応する関係になる。なお、「サイト内検索キーワード」レポートの見方は次回詳しく解説する。
複数のパラメータを使っていても、1つのディメンションでまとめてレポートで表示してもよいなら、クエリパラメータの記述箇所(図3青枠部分)に「s,q」などとカンマで区切ってまとめて指定してもよい。
以上の設定を行って「保存」ボタン(図3茶枠部分)をクリックすれば、サイト内検索に関する設定は終了だ。
方法2フィルタを使ってサイト内検索キーワードを抜き出す(高難度)
2つ目は、検索キーワードを検索結果ページのURLの中にそのまま使う場合の対処方法だ。たとえばWeb担当者Forumで、検索キーワード入力ボックスに「アクセス解析」と入力して[検索]ボタンを押して表示されるページのURLは以下のとおりだ。
http://web-tan.forum.impressrd.jp/search/probo/%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E8%A7%A3%E6%9E%90
これはパラメータを使わず、URLの最後の部分にサイト内検索キーワードが格納されているパターンだ。「/search/probo/」(赤字部分)は決まっていて、その後の青字部分が検索キーワードを表す。
このような場合はURL構造がさまざまなので、パラメータを指定するように簡単には汎用的な設定ができない。そのため、それぞれの場合に応じたカスタマイズが必要になる。ただし方法論は同じなので、この例の処理方法をお手本にして、自分のサイトのURL構造に合わせて適用していただきたい。
フィルタを新しく作成して検索語句を抜き出す
やるべきことは、「URLの中にあるサイト内検索キーワードを『検索キーワード』ディメンションの値に放り込んでやる」ことだ。ここでは、「フィルタ」という集計処理を施すことでそれを実現する。
フィルタの設定は初心者には少し難しいので、よく知っている人の指導の下でチャレンジしていただきたい。元データに手を加えると、場合によってはデータを壊す可能性もある。いきなり本番のビューに適用せずに、新規のテスト用のビューを作成したうえで動作確認を行うのがよいだろう。ビュー作成は第3回、フィルタ設定は第7回の記事を参照していただきたい。
まずは「管理」画面のビューの設定項目にある「フィルタ」(図5赤枠部分)をクリックしよう。表示された「フィルタ」画面の上にある「+フィルタを追加」(図5青枠部分)をクリックする。
するとフィルタの設定画面(図6)に移動するので、「新しいフィルタを作成」のラジオボタン(図6赤枠部分)を選択したまま、わかりやすいフィルタ名を記述し(図6青枠部分)、フィルタの種類のタブは「カスタム」(図6緑枠部分)をクリックする。
続いて「詳細」ラジオボタン(図7赤枠部分)をクリックし、「フィールドA -> 引用A」のプルダウンは「リクエストURI」を選択する(図7青枠部分)。そしてその右隣のテキストボックスには、Web担当者Forumのサイト内検索ページのURLパターンの場合であれば、「^/search/probo/(.*)」と記述する(図7緑枠部分)。これは正規表現を使った記述法だ。詳しくは後で解説する。
そして「出力先 -> 構成」のプルダウンは「検索語句」を選択する(図7茶枠部分)。そしてその右隣のテキストボックスには、今回は「$A1」と記述する(図7黒枠部分)。以上で、フィルタ設定画面の一番下にある「保存」ボタンをクリックすれば設定完了だ。
フィルタでどのような処理がされているのか?
この設定でいったい何を行ったのかを解説しよう。まず2か所のプルダウンで選択した「フィールド」というのは事実上ディメンションのことだ。選択した「リクエストURI」と「検索語句」はそれぞれ「ページ」と「検索キーワード」(サイト内検索キーワードのこと)ディメンションに相当する。
大ざっぱに言うと、次のような処理が行われている。1つずつ解説していこう。
- 「/search/probo/」で始まるURLがリクエストされたら
- 正規表現で「(.*)」の内容を「A1」の値としていったん記憶して
- 「A1」の値をサイト内検索キーワードのディメンション「検索語句」に出力する
「フィールドA -> 引用A」の部分は、「選択したフィールドの値が、あるパターンの文字列に合致した場合に、その括弧内の文字列をいったん『A』という場所に保存する」という処理を表している。
今回は「『ページ』が『^/search/probo/(.*)』という正規表現のパターンに合致した場合に、括弧内すべての部分の文字列(『.*』は正規表現で空白を含むすべての文字列を意味する)を「A」の1つ目、すなわち「A1」の値に放り込んでおく」という処理になる。
つまり1つ目のプルダウンでは、サイト内検索キーワードを表す部分を正規表現で抽出し、いったん「A1の値」として仮に記憶しているということだ。
そして2つ目のプルダウン「出力先 -> 構成」では「検索語句」、すなわちサイト内検索キーワードのディメンションが選択されているので、「サイト内検索キーワードの値に、上記でいったん仮に記憶しておいた『A1』の値を放り込む」という処理をしている。
このように、フィルタを使うとさまざまなディメンション間の文字列を切り取って再利用できる。今回のフィルタは、「ページ名(URL)の一部の情報を、別のディメンションであるサイト内検索キーワードにコピーして使う」という処理を行うものだ。
上記の2つの方法は検索キーワードを格納するパラメータがURL内に存在する場合だったが、「/search_results.php」などといったURLで検索結果を返す場合もよくある。その場合には仮想ページビューというトラッキングコードのカスタマイズを前処理的に行うことで解決できる。本連載ではまだトラッキングコードのカスタマイズについては解説していないので、ここでは詳しく解説しない。ただ公式ヘルプの後半にその解説があるので、関心のある方は参照してほしい。
次回は、今回設定したサイト内検索レポートを分析する方法を解説する。
📝筆者が継続的に主催している講座群(Google アナリティクス中心)に興味がある方はこちらをご確認ください。
http://xfusion.jp/train.html
ソーシャルもやってます!