splitというA/Bテストが簡単にできるGemを試してみました。
初期設定
このGemではredisを使うのであらかじめインストールしておきます。
brew install redis redis-server /usr/local/etc/redis.conf
Bundlerでsplitをインストールします。
gem 'split'
Railsアプリを作ってScaffoldを生成します。
rails new test_app cd test_app rails g scaffold user rake db:migrate
ユーザーの作成をテストしてみる
実際にA/Bテストを試してみます。
views/users/index.html.erbのユーザー作成リンクをテストしてみます。
<%= link_to 'New User', new_user_path %>
このように2種類のテキストを出し分けできるようにします。
<% ab_test(:create_button, "New User", "Create User") do |button_title| %> <%= link_to button_title, new_user_path %> <% end %>
次にusers_controllerのnewにfinishedメソッドを挿入します。
finishedはA/Bテストのコンバージョンを表すもので、このメソッドが呼ばれたら1コンバージョンをカウントします。
def new finished(:create_button) @user = User.new end
実際にテストを動かす
実際に複数のブラウザで見るとこのように出し分けできている事が分かります。
"New User"の方で/users/new
に遷移します。
テスト結果を確認する
splitにはdashboardも付いているのでそれを使って確認します。
まずはGemfileに以下のようなオプションを追加します。
gem 'split', require: 'split/dashboard'
config/routes.rb
に以下の1行を追加します。
mount Split::Dashboard, at: 'split'
サーバーを再起動して/split
にアクセスすると管理画面を見る事ができます。
New User
のcompleteが1になっています、先ほどNew User
リンクを押下したのが反映されていますね。
その他
今回は試さなかったのですがGoogleAnalyticsと連携できるGemもあるようです。