Creating Custom Strategies in Sitecore DMS: Multivariate Tests

Sitecore’s Digital Marketing System (DMS) lets you optimize your site for your customers. To determine the best web experience for your customers, Sitecore DMS has A/B Multivariate (MV) Testing feature with two main out-of-the-box testing strategies:

  1. Random: test variables are changed every time

  2. Sticky: test variables are the same for each visitor

These two strategies are excellent starting points for any basic testing of your site features, but as you grow in the system you might want to create more complex experiments to fine tune the web experience you provide. In order to create your own strategies, follow these steps:

  • Create your own strategy code by extending MultiVariateTestStrategyBase and IMultiVariateTestStrategy. For example:

    using System;
    using Sitecore.Analytics.Testing;
    namespace Application.Namespace
                    public class YOURMultiVariateTestStrategy : MultiVariateTestStrategyBase, IMultiVariateTestStrategy
                                    public TestCombination GetTestCombination(TestSet testset)
                                                    Random random = new Random();
                                                    byte[] combination = new byte[ testset.Variables.Count];
                                                    for (int i = 0; I < combination.Lenght; i++)
                                                                    // here add your testing logic
                                                                    combination[i] = (byte) random.Next (testset.Variables[i].Values.Count);
                                                    return new TestCombination(combination, testset);
  • Compile your solution and deploy all the necessary libraries to your environment.

  • Log in to Sitecore and create a new “Multivariate Test Strategy” Item in /sitecore/system/Settings/Analytics/Multivariate Test Strategies/

  • In the newly created multivariate test strategy, fill the “type” field with “<namespace>.<class name>, <library filename>”

  • Save all changes. Now you should be able to use your new strategy in any test.

Sitecore’s DMS MV Testing allows you to provide top-of-the-line experiences for your website visitors through various testing methods.