Quizzes

Constructor offers Quizzes - a service to further enhance the product discovery experience. Quizzes provide site shoppers with the opportunity to discover products in a different way, apart from just Search and Browse. Quizzes guide end users with questions to help curate a list of products that meets their needs. The experience is similar to speaking with an in-store consultant.

API endpoints

Example use cases

  • Products categories that require deep technical or domain specific expertise to fully understand where shoppers without this knowledge might not know which product attributes they should consider to help them narrow down their options. Quizzes help by guiding them down a path based on their responses to questions and provide some additional context where needed.
  • Product catalogs with a large or deep assortment which can make it challenging for shoppers to really narrow down to a few good options. Quizzes help by providing shoppers with a curated assortment of products that fit their criteria.
  • For brands who want to give customers the ability to tell them about themselves so they can be better served. Quizzes help by providing a way for brands to ask shoppers explicit questions and get back clear answers.

Types of questions

Single select

Single select questions are questions that only allow a single option to be selected. Available options are specified in the options attribute. If the question is skippable, and a user skips it, update the query parameter to a=.

{
  "next_question": {
    "id": 1,
    "title": "Sample single select question",
    "description": "Sample description",
    "type": "single",
    "cta_text": "Next",
    "images": null,
    "key": "08c71075-b7f0-45d8-9c24-ed92cd1cf512",
    "is_skippable": false,
    "priority": 10,
    "options": [
      {
        "id": 1,
        "value": "Who",
        "key": "b9677e59-f81e-44b5-9a89-7e579ac76c45",
        "attribute": {
          "name": "group_id",
          "value": "test-value"
        },
        "images": {
          "primary_url": "https://example.com/image",
          "primary_alt": "Example image",
          "secondary_url": null,
          "secondary_alt": null
        }
      },
      {
        "id": 2,
        "value": "What",
        "key": "335df42c-0a56-4c5a-915e-05fded608806",
        "attribute": {
          "name": "group_id",
          "value": "test-value"
        },
        "images": null
      }
    ]
  },
  "version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_session_id": "31f6bdae-6f1d-482f-b37f-f7a9e346973a",
  "quiz_id": "my_quiz_id"
}

Multiple select

Multiple select questions are questions that allow multiple options to be selected. Available options are specified in the options attribute. Multiple options for a single answer are supplied in the same answer parameter (separated by ,). If the question is skippable, and a user skips it, update the query parameter to a=.

{
  "next_question": {
    "id": 1,
    "title": "Sample multiple select question",
    "description": "Sample description",
    "type": "multiple",
    "cta_text": "Next",
    "images": null,
    "key": "b9677e59-f81e-44b5-9a89-7e579ac76c45",
    "is_skippable": false,
    "priority": 10,
    "options": [
      {
        "id": 1,
        "value": "Who",
        "key": "335df42c-0a56-4c5a-915e-05fded608806",
        "attribute": {
          "name": "group_id",
          "value": "test-value"
        },
        "images": {
          "primary_url": null,
          "primary_alt": null,
          "secondary_url": "https://example.com/small_image",
          "secondary_alt": "Example secondary image"
        }
      },
      {
        "id": 2,
        "value": "What",
        "key": "08c71075-b7f0-45d8-9c24-ed92cd1cf512",
        "attribute": {
          "name": "group_id",
          "value": "test-value"
        },
        "images": null
      }
    ]
  },
  "version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_session_id": "31f6bdae-6f1d-482f-b37f-f7a9e346973a",
  "quiz_id": "my_quiz_id"
}

Open text

Open text questions are questions that do not have any options and accepts a=true or a=false as an answer in the URL query parameters. a=true denotes that the question is answered and vice versa. If the question is skippable, and a user skips it, update the query parameter to a=false.

true or false are the only acceptable answers for this type of question. Constructor does not store text responses from any of the open-text text fields.

{
  "next_question": {
    "id": 1,
    "title": "Sample open text question",
    "description": "Sample description",
    "type": "open",
    "is_skippable": false,
    "priority": null,
    "cta_text": "Next",
    "key": "08c71075-b7f0-45d8-9c24-ed92cd1cf512",
    "images": {
      "primary_url": "https://example.com/image",
      "primary_alt": "Example image",
      "secondary_url": null,
      "secondary_alt": null
    },
    "input_placeholder": "Sample input placeholder"
  },
  "version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_session_id": "31f6bdae-6f1d-482f-b37f-f7a9e346973a",
  "quiz_id": "my_quiz_id"
}

Cover page

Cover page questions are not technically questions but they are usually used to display a cover page (a page of only content and/or imagery used to provide additional information, divide sections of a quiz, etc). This type of question cannot be skipped.

To move to the next question, an a=seen query parameter should be provided.

{
  "next_question": {
    "id": 1,
    "title": "Sample cover page",
    "description": "Sample description",
    "is_skippable": false,
    "type": "cover",
    "cta_text": "Next",
    "priority": null,
    "key": "08c71075-b7f0-45d8-9c24-ed92cd1cf512",
    "images": {
      "primary_url": "https://example.com/image",
      "primary_alt": "Example image",
      "secondary_url": null,
      "secondary_alt": null
    }
  },
  "version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_version_id": "11db5ac7-67e1-4000-9000-414d8425cab3",
  "quiz_session_id": "31f6bdae-6f1d-482f-b37f-f7a9e346973a",
  "quiz_id": "my_quiz_id"
}