Guide to Building a Personality-Type Quiz with RevenueHunt
16-1-2025 Tips & TricksAs an eCommerce store owner, you’re constantly looking for innovative ways to connect with your customers and boost sales. A personality-type quiz offers an engaging and personalized shopping experience that can help you achieve both goals. By tailoring product and text recommendations to each customer’s unique traits and preferences, you not only improve their experience but also increase the likelihood of conversions.
This guide will walk you through creating a personality-type quiz using RevenueHunt, outlining its advantages, limitations, and step-by-step instructions to ensure success. Whether you’re a skincare brand looking to help customers identify their skin type or a fashion retailer aiming to match styles with personality traits, this guide has you covered.
Step-by-Step Guide to Building a Personality-Type Quiz
💡Tip: Make you have the RevenueHunt app installed before setting up your quiz.
Step 1: Define Your Quiz Questions and Outcomes
Decide the purpose of the quiz. For example, one common use of this type of a quiz is determining a skin type based on customer responses to help recommend skincare products.
Map out the quiz questions and outcomes in one document based on the customer choices. Make sure you have the document at hand when building the quiz.
💡Tip: You can use a simple tool like Google Sheets to map out your quiz
or a more advanced mapping tool like Miro.
Step 2: Add Questions to the Quiz
Design questions that help narrow down the customer’s traits. Each answer should map to a specific characteristic or product recommendation.
Example Questions for Skin Type Quiz
Question 1: Oiliness
How does your skin usually feel by the middle of the day?
⚪ Very oily, shiny all over. (Oily skin)
⚪ Oily in the T-zone (forehead, nose, chin), but dry elsewhere. (Combination skin)
⚪ Balanced, not too oily or dry. (Normal skin)
⚪ Dry and tight all over. (Dry skin)
Question 2: Sensitivity
How does your skin react to new products or environmental changes?
⚪ Easily irritated, red, or itchy. (Sensitive skin)
⚪ Rarely reacts, even to strong products. (Normal or Oily skin)
⚪ Reacts sometimes, but not consistently. (Combination skin)
Question 3: Hydration
Does your skin often feel dehydrated, regardless of oiliness?
⚪ Yes, it feels tight and flaky. (Dry or Dehydrated skin)
⚪ Sometimes, especially in colder months. (Combination or Normal skin)
⚪ Rarely or never. (Oily skin)
Step 3: Link Products to Choices
Associate answer options with the most suitable products in your catalog.
For example:
- Answers indicating “Dry Skin” link to products designed for hydration.
- Answers suggesting “Oily Skin” link to products for oil control.
This setup ensures that the quiz product recommendation algorithm will automatically provide the most relevant product suggestions.
💡Tip: You can create collections of products in Shopify that correspond to each answer for faster quiz setup. You can make these new collections “hidden” in your Shopify store by unchecking the Online store publishing option.
Learn more about creating collections in Shopify here. After creating new collections, make sure to run a catalog sync in the app.
Step 4: Display Results with Text Summaries
To show text results based on answers (e.g., “You have Dry Skin”), configure content blocks on the Results Page using one of the following methods:
➡️ Option 1: Block Logic (Recommended for Simpler Quizzes)
First, Create Content Blocks
Add separate content blocks for each possible result (e.g., “You have Dry Skin,” “You have Oily Skin,” etc.).
Then, Configure Block Logic Rules
Set visibility rules for each block based on customer answers.
Example Block Logic Rules
For Dry Skin:
– If the answer to Question 1: Oiliness is Dry and tight all over.
– AND the answer to Question 2: Sensitivity is Easily irritated, red, or itchy.
– AND the answer to Question 3: Hydration is Yes, it feels tight and flaky.Then this block will be Visible; otherwise, it remains hidden.
For Combination Skin:
Combination skin may result from varied answer paths. You’ll need rules for multiple scenarios:– If the answer to Question 1: Oiliness is Oily in the T-zone (forehead, nose, chin), but dry elsewhere.
– AND the answer to Question 2: Sensitivity is Reacts sometimes, but not consistently.
– AND the answer to Question 3: Hydration is Sometimes, especially in colder months.
OR
– If the answer to Question 1: Oiliness is Very oily, shiny all over.
– AND the answer to Question 2: Sensitivity is Easily irritated, red, or itchy.
– AND the answer to Question 3: Hydration is Sometimes, especially in colder months.
OR
– If the answer to Question 1: Oiliness is Oily in the T-zone (forehead, nose, chin), but dry elsewhere.
– AND the answer to Question 2: Sensitivity is Easily irritated, red, or itchy.
– AND the answer to Question 3: Hydration is Sometimes, but not consistently.
Then this block will be Visible; otherwise, it remains hidden.
Fianlly, Repeat this process for all other possible combinations of answers.
You will have to add similar rules to all the content blocks on the Results Page to show the right text in the end. This means you will have to predict every possible combination of answers a customer can make and add it as Block logic to ensure that the correct text block is shown.
💡Tip: If this no-coding solution seems like too much work, you can consider Option 2 below.
➡️ Option 2: Custom JavaScript (Recommended for Complex Quizzes)
Ask your developer to create custom logic that:
- Dynamically Calculates Results: By using JavaScript, your developer can assign scores or attributes to each quiz response and use this information to calculate the customer’s result dynamically. This is especially useful for quizzes with complex criteria, such as those combining multiple factors like skin type, age, and lifestyle.
- Displays Tailored Text Results: The script can be configured to show personalized text results based on the calculated outcome. For example, if a customer’s answers indicate they have “Sensitive and Dry Skin,” the script can display a detailed explanation along with product recommendations tailored to that skin type.
- Incorporates Conditional Logic: Developers can implement advanced logic to handle multiple answer combinations and ensure accurate results. For instance, the script can prioritize certain answers or weight them differently to better reflect customer preferences.
- Supports Dynamic Styling and Interactivity: Beyond displaying results, JavaScript can be used to enhance the user experience by dynamically highlighting sections, animating transitions, or adding interactive elements to the Results Page.
To implement custom JavaScript, ensure the developer is familiar with the RevenueHunt platform’s structure and follows best practices for script integration. Instructions on adding custom JavaScript to your Product Recommendation Quiz can be found here. This approach allows maximum flexibility, ensuring your quiz meets your brand’s unique needs and offers a seamless experience for users.
💡Tip: ChatGPT or a similar language model can be helpful in writning a custom JavaScript code.
For example, you can ask ChatGPT to create a sample code snippet using prq.getSlideValue(slideId) function to help you get started with assigning points to choices in your quiz. This example shows how to assign 3 points for “Yes” and 1 point for “No” for one question, and you can adapt it for others:
document.addEventListener("
DOMContentLoaded", function () { // List of slide IDs and corresponding point values var slidePoints = { "mGiOjOq": { "Yes": 3, "No": 1 }, // Add more slides and mappings here };// Initialize total points var totalPoints = 0;// Loop through the slides to calculate points for (var slideId in slidePoints) { if (slidePoints.hasOwnProperty( slideId)) { // Get the slide value dynamically var slideValue = prq.getSlideValue(slideId);// Assign points based on the value if (slideValue && slidePoints[slideId][ slideValue] !== undefined) { totalPoints += slidePoints[slideId][ slideValue]; console.log(`Slide ${slideId} (${slideValue}): ${slidePoints[slideId][ slideValue]} points`); } } }// Display total points on the results page var resultElement = document.getElementById(" quizResults"); if (resultElement) { resultElement.innerHTML = `Total Points: ${totalPoints}`; } console.log("Total Points:", totalPoints); }); Note that this code would have to be added to the Results Page Settings > Advanced > Custom JavaScript section of your quiz.
The code uses prq.getSlideValue(slideId) to fetch the user’s answers and assign points based on predefined rules.
You can add more slide IDs and their respective mappings (e.g., “Yes”: 3, “No”: 1) to the slidePoints object to handle additional questions.
You can locate the slide ID within the question settings and choice IDs by inspecting the quiz elements in your browser.
Simplify the Process
If this all feels like too much, there are a few ways you can simplify your quiz while still maintaing a high personalization value of the experince.
👉 Use Information Recalls
Insert customer answers directly into the Results Page to provide context for recommendations. The Information Recalls are very easy to add to any content or text block and can make the user feel like the quiz really understood their answers.
For instance: “Based on your answer to [Question 1], your skin tends to be [Customer’s Answer].”
💡Tip: To use Information Recalls in a question or a text block, type @ on your keyboard. A list of questions will be displayed, select from the list the question the answer to whcih you want to recall. Then the dynamic filed will be added to the text.
👉 Use Predefined Product Descriptions
You can improve your Shopify product descriptions with clear explanations of why they suit specific traits.
For example:
-
- “This moisturizer is perfect for dry skin, providing deep hydration and relief from flakiness.”
- “Ideal for oily skin, this cleanser helps control excess sebum without over-drying.” These descriptions can simplify the explanation process and eliminate the need for custom logic.
💡Tip: To show product descriptions on the results page go to the Results Page Settings and under Individual Product Settings activate → Show description.
👉 Base Results on a Single Pivotal Question
Instead of configuring logic for all combinations of answers, focus on a single key question that determines the primary outcome.
For example, in a skincare quiz, the question about oiliness (e.g., “How does your skin usually feel by the middle of the day?”) can serve as the basis for recommendations.
👉 Focus on Fewer Outcome Scenarios
Reduce complexity by limiting the number of possible outcomes. For instance, instead of addressing every possible combination of answers, define broad categories such as “Dry Skin,” “Oily Skin,” “Combination Skin,” and “Normal Skin.” This approach minimizes the amount of logic configuration required while still delivering meaningful results.
This way, you can create a quiz that is easier to manage and implement while still providing valuable and engaging results for your customers.
Word of Advice
As an eCommerce store owner, implementing a personality-type quiz can transform the way you engage with your customers. Not only does it offer a tailored shopping experience that resonates with your audience, but it also provides valuable insights into customer preferences that can inform your marketing strategies.
While building a personality-type quiz in RevenueHunt requires some manual setup, the benefits far outweigh the effort. By following this guide, you’ll be equipped to create quizzes that boost customer satisfaction, drive conversions, and differentiate your store in a competitive marketplace.
Start today, and see the difference a personalized quiz can make for your business!