Disclaimer: This website requires JavaScript to function properly. Some features may not work as expected. Please enable JavaScript in your browser settings for the best experience.

HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

A/B testing

To run A/B tests that test your current setup or existing recommendations against Optimizely recommendations, request additional A/B test information by adding the abTestContent property.

NameDescription and usage
abTestContent[Optional] [String]

Activate A/B test output.

- summary – Returns only A/B test name and the page visitor's group.
- full – Returns all available information.If you specify the property name with an empty string, summary is used by default.

To request full A/B test information, set the abTestContent attribute in the tracking request to full, as shown below.

{    
      "type"          : "home",
      "ip"            : "10.42.37.139",
      "session"       : "new",
      "cuid"          : "new",
      "site"          : "retailer",
      "clientToken"   : "1234abcd5678",
      "channel"       : "web",
      "lang"          : "en-gb",
      "currentURI"    : "www.retailer.com/home",
      "previousURI"   : "https://www.google.co.uk/?gws_rd=ssl#q=retailer",   
      "userAgent"     : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
      "abTestContent" : "full"
    }

This results in the following info section being returned in the response.

Name Descriptions and usage
abtest An array of A/B test product records.
  <productname> The product name where <productname> is one of:
  • smartRecs
  • smartContent
    name [String]

A/B test name.
    group [String]

The group assigned to the current visitor.
    configs A list of all Optimizely A/B test configurations that deliver Optimizely recommendations.

Note: If the current A/B group does not appear in this list, no Optimizely recommendations are configured to be served for the current visitor.
      <group> An array of configurations to be shown for this test group, where <group> is the test group letter, such as “A” or “B”.
        name [String]

Item name.

The name of the widget, creative, or listing that is shown if the test group letter matches the group assigned to the current visitor.
        position [String]

The position of the item.

Describes the page position where the item is shown.

A/B testing example 1

{
      "status"         : "OK",
      "pageTrackingId" : "523863900/4ubJYHs6gwcwUz9xCjCmng",
      "session"        : {
                           "session" : "123456789012|a1b2c3d4e5A6B7C8D9E0f1g2h3i4j5F1G2H3I4J5k1l",
                           "cuid"    : "09876543210|Z0Y9X8W7V6z5y4x3w2v1U0T9S8R7Q6u5t4s3r2q1P0O"
                         },
      "info"           : {
         "abtest" : [{
           "smartRecs" : [{
             "name"    : "a/b test",
             "group"   : "A",
             "configs" : {
                           "A": [{
                                   "name"     : "homeA",
                                   "position" : "homejson"
                                }],
                           "B": [{
                                   "name"     : "homeB",
                                   "position" : "homejson"
                                }]
                         }
           }]
         }]
      }
    }

To request only the name of the A/B test and the group of the page visitor, set the tracking request's abTestContent attribute to summary.

{      
      "type"          : "home",
      "ip"            : "10.42.37.139",
      "session"       : "new",
      "cuid"          : "new"
      "site"          : "retailer",
      "clientToken"   : "1234abcd5678",
      "channel"       : "web",
      "lang"          : "en-gb",
      "currentURI"    : "www.retailer.com/home",
      "previousURI"   : "https://www.google.co.uk/?gws_rd=ssl#q=retailer",
      "userAgent"     : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
      "abTestContent" : "summary"
    }

The resulting response includes this info section.

NameDescription and usage
abtestAn array of A/B test product records.
 The product name where is smartRecs or smartContent.
  name[String]
A/B test name.
  group[String]
The group assigned to the current visitor.

A/B testing example 2

{
      "status"         : "OK",
      "pageTrackingId" : "523863900/4ubJYHs6gwcwUz9xCjCmng",
      "session"        : {
                           "session" : "123456789012|a1b2c3d4e5A6B7C8D9E0f1g2h3i4j5F1G2H3I4J5k1l",
                           "cuid"    : "09876543210|Z0Y9X8W7V6z5y4x3w2v1U0T9S8R7Q6u5t4s3r2q1P0O"
                         },
      "info"           : {
        "abtest"  : [{
          "smartRecs" : [{
                           "name"  : "a/b test",
                           "group" : "A"
                        }]
                     }]
      }
    }

📘

Note

Each product can have different A/B groups. So, do not assume that a visitor in group A for recommendations is also in group A for another Optimizely product, such as, Optimizely Promote (legacy).