Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Rails plugin that provides an entire A/B split testing / Bucket system, integrated with Google Analytics
Ruby
branch: master
Failed to load latest commit information.
files Initial commit of working plugin
lib Version bump
rails Convert the whole system to a gem. Lots of repackaging for Railties s…
test Initial commit of working plugin
.gitignore Update the gem system to use bundler
Gemfile Updated the license and gemfile
MIT-LICENSE Updated the license and gemfile
README No longer recommend the github gem source
Rakefile Update the gem system to use bundler
init.rb Convert the whole system to a gem. Lots of repackaging for Railties s…
install.rb
split_tester.gemspec Load the version file to get the build version
uninstall.rb Initial commit of working plugin

README

SplitTester
===========

This is a plugin that I wrote for doing split testing in a rails application with Google Analytics as your dashboard. The idea is to create an easy to use bucket testing system that wouldn't require another dashboard just for looking at the data. The logic and system are a simplified version of bucket testing based on what I've learned while bucket testing experiments on Yahoo! Search, one of the highest traffic pages on the internet.

With this system, you don't need to muddy up your views, controllers or language files. The test elements are kept separate and can be turned on and off via percentage allocations of your traffic. It is a cookie based system, so users will have a consistent experience even if they end their session and return later. You can also run as many tests at the same time as you would like, only limited by the amount of traffic you have.

I have also built in support for action caching so that you can keep your application fast and awesome.

The code quality isn't as high as I would like and I have taken some shortcuts. I would love any help or input. :)

A new test is a made up of a locale.yml file and or a collection of new views. The local file can override any translations that are in use and the views are direct replacements for views in the core app (BASELINE).

Usage
==========

As a plugin:

rails plugin install git://github.com/jhubert/rails-split-tester.git

As a gem:

Place this in your Gemfile:

gem 'split_tester'

then run:

bundle install

and then run the generator:

rails g split_tester_install

A file named split_tests.yml will be created in your config folder. This is where you will define the tests you want to run and what percentage of the traffic they should receive.

A folder named "split" will be created in your test folder. This is where the actual configuration of the split tests will go.

Please see my demo app for an example: https://github.com/jhubert/split-tested-app-demo
Something went wrong with that request. Please try again.