How to Recommend Products That Match Multiple Criteria¶
A product matrix recommends a product from two or more criteria at once, such as the customer's age and their skin type.
You build one by grouping the products by criterion, then upvoting the matching group from each choice. The quiz counts the upvotes, and the products that sit in both groups come out on top.
How the recommendations are picked
Each choice upvotes the products linked to it, and the results page lists the products with the most upvotes first. See Upvoting system for the whole algorithm, including ties and exclusions.
Simple product matrix¶
Say you run a skincare shop, and you want to recommend products from two criteria: the customer's age and their skin type. The matrix looks like this.
| Age / Skin type | Dry or Normal | Oily |
|---|---|---|
| Teens and 20's | Redness-Relief Refreshing Cleansing Lotion; Ultra Facial Toner; Khadi Global Natural Hyaluronic Acid Serum; Moisturizing Cream-Gel |
Neutrogena Oil-Free Acne Face Wash; Balancing Force Oil Control Toner; Resist Ultra-Light Super Antioxidant Concentrate Serum; Oil-Free Moisture Lotion |
| 30's and above | All Natural Face Cleanser; Fresh Rose Deep Hydration Toner; Khadi Global Natural Hyaluronic Acid Serum; Organix Facial Moisturizer |
FIRST AID BEAUTY FACE CLEANSER; Balancing Force Oil Control Toner; The Ordinary "Buffet" + Copper Peptides 1%; Oil-Free Moisture-Combination Skin |
The walkthrough shows the Built for Shopify version of the app.
The four groups this matrix needs¶
One group per value in the matrix: two for the age ranges, and two for the skin types. Every product appears in exactly two of them, one from each criterion.
Teens and 20's
| Dry or Normal | Oily |
|---|---|
| Redness-Relief Refreshing Cleansing Lotion; Ultra Facial Toner; Khadi Global Natural Hyaluronic Acid Serum; Moisturizing Cream-Gel |
Neutrogena Oil-Free Acne Face Wash; Balancing Force Oil Control Toner; Resist Ultra-Light Super Antioxidant Concentrate Serum; Oil-Free Moisture Lotion |
30's and above
| Dry or Normal | Oily |
|---|---|
| All Natural Face Cleanser; Fresh Rose Deep Hydration Toner; Khadi Global Natural Hyaluronic Acid Serum; Organix Facial Moisturizer |
FIRST AID BEAUTY FACE CLEANSER; Balancing Force Oil Control Toner; The Ordinary "Buffet" + Copper Peptides 1%; Oil-Free Moisture-Combination Skin |
Dry or Normal skin
| Teens and 20's | 30's and above |
|---|---|
| Redness-Relief Refreshing Cleansing Lotion; Ultra Facial Toner; Khadi Global Natural Hyaluronic Acid Serum; Moisturizing Cream-Gel |
All Natural Face Cleanser; Fresh Rose Deep Hydration Toner; Khadi Global Natural Hyaluronic Acid Serum; Organix Facial Moisturizer |
Oily skin
| Teens and 20's | 30's and above |
|---|---|
| Neutrogena Oil-Free Acne Face Wash; Balancing Force Oil Control Toner; Resist Ultra-Light Super Antioxidant Concentrate Serum; Oil-Free Moisture Lotion |
FIRST AID BEAUTY FACE CLEANSER; Balancing Force Oil Control Toner; The Ordinary "Buffet" + Copper Peptides 1%; Oil-Free Moisture-Combination Skin |
Build the quiz¶
-
Create four collections in your Shopify store. Two for the age ranges, and two for the skin types.
-
Add the products of each group to its collection. A product that belongs to two groups goes in both.
-
Run a catalog sync. This is what tells the app about your new collections.
-
Open the app and click
+ Add new quiz. -
Name the quiz. The Quiz builder opens.
-
Add a multiple-choice question about the customer's age. Give it the choices Teens and 20's, and 30's and above.

-
Add a second question about the customer's skin type. Give it the choices Dry or Normal, and Oily.

-
Open a choice in Questions, then open its Choice settings.
-
Click
Upvote, selectCollections, and pick the collection that matches the choice. Repeat for all four choices.
-
Go to the Results page tab and add a
Products Block. Click+ Add blockand select it from the list. -
Limit the block to 4 products in the block settings. This matrix recommends four products, one per step of the routine.
-
Click
Save. This updates both the preview and the live quiz. -
Click
Previewand take the quiz. Answer30's and above, thenOily.Test responses do not count towards your quota
You can test the quiz as often as you like, as long as you open a new preview window each time. Responses you make as an admin are removed automatically after one hour.
-
Check that the four products of that cell are the ones recommended.

-
Create four collections in your Shopify store. Two for the age ranges, and two for the skin types.
-
Add the products of each group to its collection. A product that belongs to two groups goes in both.
-
Run a catalog sync. This is what tells the app about your new collections.
-
Open the app and click
add new quiz. -
Name the quiz. The Quiz Builder opens.
-
Add a multiple-choice question about the customer's age. Give it the choices Teens and 20's, and 30's and above.

-
Add a second question about the customer's skin type. Give it the choices Dry or Normal, and Oily.

-
Go to the Link Collections/Categories tab in the Quiz Builder.
-
Link the collection that matches each choice. Repeat for all four choices.

-
Go to the Results Page tab and add a
Products Block. Click+and select it from the list. -
Limit the block to 4 products in the block settings. This matrix recommends four products, one per step of the routine.
-
Click
Publish/Save. This updates both the preview and the live quiz. -
Click
Previewand take the quiz. Answer30's and above, thenOily.Test responses do not count towards your quota
You can test the quiz as often as you like, as long as you open a new preview window each time. Responses you make as an admin are removed automatically after one hour.
-
Check that the four products of that cell are the ones recommended.

-
Create four categories in your WooCommerce store. Two for the age ranges, and two for the skin types.
-
Add the products of each group to its category. A product that belongs to two groups goes in both.
-
Run a catalog sync. This is what tells the app about your new categories.
-
Open the app and click
add new quiz. -
Name the quiz. The Quiz Builder opens.
-
Add a multiple-choice question about the customer's age. Give it the choices Teens and 20's, and 30's and above.

-
Add a second question about the customer's skin type. Give it the choices Dry or Normal, and Oily.

-
Go to the Link Collections/Categories tab in the Quiz Builder.
-
Link the category that matches each choice. Repeat for all four choices.

-
Go to the Results Page tab and add a
Products Block. Click+and select it from the list. -
Limit the block to 4 products in the block settings. This matrix recommends four products, one per step of the routine.
-
Click
Publish/Save. This updates both the preview and the live quiz. -
Click
Previewand take the quiz. Answer30's and above, thenOily.Test responses do not count towards your quota
You can test the quiz as often as you like, as long as you open a new preview window each time. Responses you make as an admin are removed automatically after one hour.
-
Check that the four products of that cell are the ones recommended.

-
Create four categories in your Magento store. Two for the age ranges, and two for the skin types.
-
Add the products of each group to its category. A product that belongs to two groups goes in both.
-
Run a catalog sync. This is what tells the app about your new categories.
-
Open the app and click
add new quiz. -
Name the quiz. The Quiz Builder opens.
-
Add a multiple-choice question about the customer's age. Give it the choices Teens and 20's, and 30's and above.

-
Add a second question about the customer's skin type. Give it the choices Dry or Normal, and Oily.

-
Go to the Link Collections/Categories tab in the Quiz Builder.
-
Link the category that matches each choice. Repeat for all four choices.

-
Go to the Results Page tab and add a
Products Block. Click+and select it from the list. -
Limit the block to 4 products in the block settings. This matrix recommends four products, one per step of the routine.
-
Click
Publish/Save. This updates both the preview and the live quiz. -
Click
Previewand take the quiz. Answer30's and above, thenOily.Test responses do not count towards your quota
You can test the quiz as often as you like, as long as you open a new preview window each time. Responses you make as an admin are removed automatically after one hour.
-
Check that the four products of that cell are the ones recommended.

-
Create four categories in your BigCommerce store. Two for the age ranges, and two for the skin types.
-
Add the products of each group to its category. A product that belongs to two groups goes in both.
-
Run a catalog sync. This is what tells the app about your new categories.
-
Open the app and click
add new quiz. -
Name the quiz. The Quiz Builder opens.
-
Add a multiple-choice question about the customer's age. Give it the choices Teens and 20's, and 30's and above.

-
Add a second question about the customer's skin type. Give it the choices Dry or Normal, and Oily.

-
Go to the Link Collections/Categories tab in the Quiz Builder.
-
Link the category that matches each choice. Repeat for all four choices.

-
Go to the Results Page tab and add a
Products Block. Click+and select it from the list. -
Limit the block to 4 products in the block settings. This matrix recommends four products, one per step of the routine.
-
Click
Publish/Save. This updates both the preview and the live quiz. -
Click
Previewand take the quiz. Answer30's and above, thenOily.Test responses do not count towards your quota
You can test the quiz as often as you like, as long as you open a new preview window each time. Responses you make as an admin are removed automatically after one hour.
-
Check that the four products of that cell are the ones recommended.

-
Create four collections in your Standalone account. Two for the age ranges, and two for the skin types.
-
Add the products of each group to its collection. A product that belongs to two groups goes in both.
-
Run a catalog sync. This is what tells the app about your new collections.
-
Open the app and click
add new quiz. -
Name the quiz. The Quiz Builder opens.
-
Add a multiple-choice question about the customer's age. Give it the choices Teens and 20's, and 30's and above.

-
Add a second question about the customer's skin type. Give it the choices Dry or Normal, and Oily.

-
Go to the Link Collections/Categories tab in the Quiz Builder.
-
Link the collection that matches each choice. Repeat for all four choices.

-
Go to the Results Page tab and add a
Products Block. Click+and select it from the list. -
Limit the block to 4 products in the block settings. This matrix recommends four products, one per step of the routine.
-
Click
Publish/Save. This updates both the preview and the live quiz. -
Click
Previewand take the quiz. Answer30's and above, thenOily.Test responses do not count towards your quota
You can test the quiz as often as you like, as long as you open a new preview window each time. Responses you make as an admin are removed automatically after one hour.
-
Check that the four products of that cell are the ones recommended.

Putting the products in a fixed order
A products block lists the recommendations by upvote count. To pin them to a fixed order instead, such as cleanser, then toner, then serum, use Product Slots. See how to recommend a skincare routine with slots.
Why were those four products recommended?
Every product linked to a choice receives one upvote when the customer picks that choice. The products with the most upvotes are recommended first.
Answering 30's and above gives one upvote to these eight products:

Answering Oily gives one upvote to these eight:

Four products sit in both groups, so they end on two upvotes each:

Those four have the most upvotes, so those four are recommended.

If the recommendations are not the ones you expect, see how to troubleshoot product recommendations in your quiz.
Complex product matrix¶
Some matrices read more like a list. This one decides the outcome from three criteria: skin type, age and skin concern.

You can still build a group per outcome, but the number of groups grows fast. The alternative is to pick one criterion and branch the quiz on it with Jump logic. Each branch asks the same questions, and links its own products to them. The outcomes differ, while the quiz feels the same to the customer.
Here is a conditional logic tree for that matrix, branching on skin type.

Put the Jump logic on the skin type question, and on the last question of every branch. Each branch then leads straight to the results page.
The Jump Logic for branching is applied to Question 2, the skin type question.


Questions 4, 6, 8 and 10 then point the customer to the Results Page, so each branch ends there.

The Jump Logic for branching is applied to Question 2, the skin type question.


Questions 4, 6, 8 and 10 then point the customer to the Results Page, so each branch ends there.

The Jump Logic for branching is applied to Question 2, the skin type question.


Questions 4, 6, 8 and 10 then point the customer to the Results Page, so each branch ends there.

The Jump Logic for branching is applied to Question 2, the skin type question.


Questions 4, 6, 8 and 10 then point the customer to the Results Page, so each branch ends there.

The Jump Logic for branching is applied to Question 2, the skin type question.


Questions 4, 6, 8 and 10 then point the customer to the Results Page, so each branch ends there.

A lot of logic slows the Quiz Builder down
The quiz stays fast for the customer. The builder is what slows down.
For a quiz with a lot of conditional logic, consider splitting it into several smaller quizzes instead. There is no limit on how many quizzes you publish on your website. In the example, that means one quiz per skin type, or one per age range.
Fixed recommendations instead
To pick the products for each outcome yourself, rather than letting upvotes decide, see how to set up a fixed recommendations quiz.
This article explains how to recommend products that match several criteria at once, using a product matrix. For the recommendation systems the app offers, see how to set up recommendations.