Documentation

What is A/B testing?

A/B testing allows business to experiment with two (A and B) or more variants of a UX design (web-page or a user journey). The data collected for the different variants of the UX design is used to make informed decision about which variant is best for the business.

Server side A/B testing

In server side A/B testing, the decision to present which variant of UX design is taken at the server side.

How does it work?

Two or more variants of a journey are built and the data for both the journeys is collected at a later stage to check which journey resulted in more success so that business can adopt the best journey. Example use cases for A/B testing:
  • Example 1: An application wants to split their users between two different registration journeys, quick registration and traditional registration, to see which journey is getting more success rate. This application can use A/B testing APIs to split the users into two groups where users in group A are sent to the traditional registration journey and users in group B are sent to the quick registration journey.
  • Example 2: In a very different example, an application might want to experiment with two differnt versions of the same webpage. In this case, users in group A are shown one version of the page and users in group B the other.

QUECTO A/B TESTING APIs

Create A/B Test

This API can be used to create a new server side A/B test.

Mandatory parameters:
  • A/B Test Name : Name of the test
  • Variant groups: A list of variant group name and the percentage of users that should be a part of this variant.
Optional parameters:
  • Status of this A/B test (abTestStatus) : Allowed values are
    • ENABLED: The A/B test is running. This is the default value.
    • DISABLED: The A/B test has been temporarily paused. The A/B test can be resumed by updating the status to ENABLED.
    • FINISHED: The A/B test has finished.
Sample request body:

{
    "abTestName": "Registration journey",
    "abTestStatus": "ENABLED",
    "variants": {
        "Quick Registration": 60,
        "Traditional Registration": 40
    }
}
                    

Update A/B Test

This API can be used to update an existing A/B test. Using this API, we can:
  • Add/remove variants
  • Update percentage of user that we want to assign to a variant
  • Update the status of the A/B test.
Mandatory parameters:
  • A/B Test Name : Name of the test
  • Variant groups: A list of variant group name and the percentage of users that should be a part of this variant.
Optional parameters:
  • Status of this A/B test (abTestStatus) : Allowed values are DISABLED, ENABLED, FINISHED. Defaults to ENABLED if left empty.
Sample request body:

{
  "abTestName": "Registration journey",
  "abTestStatus": "ENABLED",
  "variants": {
    "Quick Registration": 60,
    "Traditional Registration": 40
  }
}
                    

Get data for an A/B test

This API can be used to get the data for an A/B test at any point of time.

Mandatory parameters:
  • A/B Test Name

Get all A/B tests

Returns a list of all A/B tests.

View A/B test

Retrieve information about an A/B test including its status and variant groups.

Mandatory parameters:
  • A/B Test Name

Assign user to a variant of the A/B test

Once a new A/B test has been created, this API can be used to assign user to one of the variants of the A/B test.
If a user has already been assigned to a variant of A/B test, then this API will return information of that variant.

Mandatory parameters:
  • A/B Test Name
  • User Id of the user who needs to be assigned to one of the variants
Sample request body:

{
   "abTestName": "Registration journey",
   "userId": "new_user@example.com"
}
                        

Remove user from an A/B test

This API can be used to remove a user from a A/B test.

Mandatory parameters:
  • A/B Test Name
  • User Id of the user who needs to be removed from the A/B test.
Sample request body:

{
   "abTestName": "Registration journey",
   "userId": "new_user@example.com"
}