Last updated 15 July 2014. Created on 6 May 2012.
Edited by syturvy, nonsie, pivica. Log in to edit this page.

Multivariate provides a simple interface for setting up multivariate or A/B style studies that can be performed on a live sites to test the effectiveness of various interfaces.

Deep integration into Drupal allows A/B and Multivariate tests to take direct control of Drupal settings and can manipulate processes. They can be much more powerful than external solutions.

Multivariate supports running multiple test cases in parallel. A test case is triggered if a test condition is met. The visitor is then assigned to a specific variant combination of the current test case. The configured mutations take place for this user. Note: caching is inactive and a cookie is present to identify the variation. Success is measured as soon as the success condition is met.

If you setup multiple sets, multivariate will test all possible variation combinations (one per each set).
A test case with one set and two variations is formally an A/B test.


Currently Multivariate supports the following run conditions for a test:

  1. Context
  2. Current theme
  3. PHP code
  4. URL path (Drupal system path)
  5. User: bundle
  6. User: permission
  7. User: role

When setting up a test you can define one or more of conditions and if all or any of them must pass for the test to be active.

Sets and variants

Sets, variants and mutations are used to create a specific variant combination used in the test. Currently the following mutations are supported:

  1. Form CSS
  2. Internal CSS
  3. Internal Javascript
  4. Node load
  5. Path mutation
  6. Path redirect
  7. Variable change

Any time sets, variants or mutations are added, removed or updated the results for the test are reset

Success conditions

Currently Multivariate supports the following success conditions for a test:

  1. Form submit (any Drupal form)
  2. Path (Drupal system path)

When setting up a test you can define one or more of success conditions for the test.

Looking for support? Visit the forums, or join #drupal-support in IRC.