Ransackの検索結果をGoogle Analyticsで可視化する

Google Analytics の「サイト内検索」の機能で、Ransack の検索をトラッキングする方法似関してのメモです。

結論

  • 管理 > ビューの設定 > 「サイト内検索のトラッキング」を ON にする
  • クエリパラメータには q[title_cont] のようにデコードした結果を設定する

経緯

Google Analytics の「サイト内検索」をオンにすれば、サイト内でどういったキーワードで検索されたかを追うことができます。 検索結果の URL が ?q=hoge のような場合には、クエリパラメータの設定では q とだけ設定しておくだけで設定は完了です。

しかし、Ransack を使った場合の検索では URL の末尾は ?utf8=%E2%9C%93&q%5Bfirst_name_or_last_name_cont%5D=Tanaka のようにエンコードされたものになります。
デモアプリ: RansackDemo

この場合に、クエリパラメータにどういった設定をすれば良いのかがわからず、情報もあまりなかったので記事にしました。

クエリパラメータの設定手順

結論に書いた通り、クエリパラメータには q[title_cont]のように設定しておけばサイト内検索をトラッキングできます。 行動 > サイトコンテンツ > 全てのページタブを見ると、Ransack の検索結果ページはデコードされた URL が表示されていると思います。

なのでこれに合わせてデコードされたパラメータの値を設定に追加すれば、Ransack の結果を拾えるようになります。
クエリパラメータは最大 5 つまで設定できるので、検索の種類が多くても 5 つまでなら対応できます。

サイト内検索の結果は、行動 > サイト内検索 > 概要のタブで確認できます。