Loading...
Area: Optimizely Product Recommendations
Applies to versions: 1.4 and higher (Server-to-Server API)
Other versions:

A/B testing

Recommended reading 

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.

Name Description 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 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.

Name Description and usage
abtest An array of A/B test product records.
  <productname> The product name where <productname> 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, Promote.

Do you find this information helpful? Please log in to provide feedback.

Last updated: Nov 06, 2017

Recommended reading