public
Description: Plugin to configure Google Website Optimizer in a rails app
Homepage:
Clone URL: git://github.com/mamuso/gwo_on_rails.git
name age message
file MIT-LICENSE Tue Jan 20 02:56:17 -0800 2009 first plugin schema [mamuso]
file README.markdown Mon Jan 26 14:32:53 -0800 2009 updating readme [mamuso]
file Rakefile Tue Jan 20 02:56:17 -0800 2009 first plugin schema [mamuso]
file gwo_on_rails.sample.yml Mon Jan 26 14:19:03 -0800 2009 fine-tuning and doc [mamuso]
file init.rb Thu Jan 22 07:42:39 -0800 2009 organize the A/B method and prepare the multiva... [mamuso]
directory lib/ Thu Jun 18 16:00:16 -0700 2009 preventing hpricot prase input fail [Inma Rodenas Puche]
directory test/ Thu Jun 18 15:44:41 -0700 2009 cleaning files and preventing error if config f... [Inma Rodenas Puche]
README.markdown

GWO on Rails

The Google Website Optimizer tool is a big deal for marketing people, but has a lot of integration work in a website. Even if our website is not complex probably we don't want write rules to build headers and footers scripts depending on routes. And if you want test more than one experiment at time it could be really a mess.

This plugin helps you to configure all your experiments with a yaml on config/gwo_on_rails.yml and let your application as it is. Anyway you have a gwo_on_rails.sample.yml.

Let's take a look at the configuration parameters for the two kind of experiments that GWO allows to make at this moment.

Getting the basic information

For every experiment you need to configure your account code and the experiment key.

account: UA-0000000-0  => must be something like that
key: 0000000000  => you can find it in the control script as the k variable (k='0000000000')

You need also decide if your experiment is uri_sensitive or not

uri_sensitive    => Compare the configuration urls without / with parameters
       false      => (default) http://wadus.com/wadus/index == http://wadus.com/wadus/index?nocache=4567897987
       true       => http://wadus.com/wadus/index != http://wadus.com/wadus/index?nocache=4567897987

Configuring an A/B Experiment

You need an original page, variations of that original and the conversion page (goal!). In the yaml you can write it in this way:

original: http://localhost/wadus/index
variations: 
    - variation: http://localhost/wadus/index2
    - variation: http://localhost/wadus/index3
goal: http://localhost/wadus/prize

You can configure as many variations of the page as you want, but remember that you need to build them :)

Configuring a Multivariate Experiment

You need the original page to test, identify all the sections with alternative content and the conversion page (goal!).

The sections can be selected using css rules or xpath, use the easiest way for you. You must also identify the section with a name.

In the yaml:

original: http://localhost/wadus/index
sections:
    - name: Heading
      selector: "#wadus h2"
    - name: Content
      selector: "#wadus #content"
goal: http://localhost/wadus/prize

You can configure as many sections as you want.

ToDo

  • Deeper testing
  • Refactoring
  • Clean the way to include the js
  • Find a less agressive way to insert all the content.

Feedback and bugs

Feel free to contact with me through mamuso[at]mamuso.net