Sixpack A/B testing framework client

Installs: 181

Dependents: 0

Watchers: 1

Forks: 6

Language: PHP

v1.0.2 2014-01-14 14:19 UTC


Latest Stable Version

PHP client library for SeatGeak's Sixpack ab testing framework.


Simply clone the project and include sixpack.php to your PHP Project



Basic example:

The PHP client stores a unique client id in the current user's cookie by default.

$sp = new \Seatgeek\Sixpack\Session;
$alt = $sp->participate('test', array('blue', 'red'))->getAlternative();
if ($alt == 'blue') {
    /* do something blue */
} else {
    /* do somethign red */

Each session has a client_id associated with it that must be preserved across requests. The PHP client handles this automatically. If you'd wish to change that behavoir, you can do so like this:

$sp = new \Seatgeek\Sixpack\Session;
$resp = $sp->participate("new-test", array("alternative-1", "alternative-2"));
store_in_database("sixpack-id", $resp->getClientId());

For future requests, create the Session using the client_id stored in the cookie:

$client_id = get_from_database("sixpack-id")
$sp = new \Seatgeek\Sixpack\Session(array('clientId' => $client_id));


Other possible options for the Session constructor are:

  • baseUrl - Sixpack Server's location on the web
  • cookiePrefix - you can set a different prefix for the cookie if you like. Default is sixpack

If you'd like to force the Sixpack server to return a specific alternative for development or testing, you can do so by passing a query parameter named sixpack-force to that page being tested.

http://example.com/?sixpack-force-<experiment name>=<alternative name>


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request