sixpack-client
Node / Browser library for SeatGeek's Sixpack AB testing framework.
Installation
Include the "sixpack.js" script. The sixpack
object will be added to your environment. In the browser do the following:
<script src="sixpack.js"></script>
If you're using sixpack-client with node.js start by installing it:
$ npm install sixpack-client
then require the "sixpack-client" module:
var sixpack = require("sixpack-client");
Usage
Check out the examples in the examples
directory for some quick examples for how to use the library. Here's a very basic example in node:
var sixpack = require('sixpack-client');
var session = new sixpack.Session();
session.participate("test-exp", ["alt-one", "alt-two"], function (err, res) {
if (err) throw err;
alt = res.alternative.name
if (alt == 'alt-one') {
console.log('default: ' + alt);
} else {
console.log(alt);
}
});
When instantiating the session object you can pass optional params client_id
, base_url
, ip_address
, user_agent
var sixpack = new sixpack.Session({client_id: 12345, base_url: 'http://google.com/sixpack', ip_address: '1.2.2.1', user_agent: 'ChromeBot'});
Client ID is a previously generated client id that you've previously stored. IP Address and User Agent are used for bot detection.
Forcing an Alternative
For debugging / design work it can be useful to force a page to load
using a specific alternative. To force an alternative use the force
parameter to participate()
. If you're using sixpack.js in the
browser you can also just include a query parameter,
e.g. /your-page?sixpack-force-EXPERIMENT_NAME=ALTERNATIVE_NAME
.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Write and run tests with
npm test
(requires mocha) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request