paint-brush
How to Create a Personalized Product Recommender Using Shopify’s Liquid Frameworkby@shugert
173 reads

How to Create a Personalized Product Recommender Using Shopify’s Liquid Framework

by Samuel NoriegaMay 16th, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

In this tutorial, we will show you how to create a product recommender using Shopify’s liquid framework. We include the code so you can implement it on your own.
featured image - How to Create a Personalized Product Recommender Using Shopify’s Liquid Framework
Samuel Noriega HackerNoon profile picture

Are you looking for a way to enhance your customer’s shopping experience on your Shopify store?


Well, we all have been there, looking for ways to improve sales and conversions, optimizing our stores, and performing tons of A/B testing.


One effective way to do this is by implementing a personalized product recommender. In this tutorial, I will show you how to create a product recommender using Shopify’s liquid framework.


Before we get started, make sure you have a basic understanding of the Liquid template language, as well as some knowledge of Shopify’s theme development.


Step 1: Create the Code for the Recommender Function

The first step in creating a personalized product recommender is to write the code for the recommender function. This function will take in the current product’s handle, compare it with other products, and recommend the most relevant products to the customer. Here is the code for the function:


{% comment %}
This code defines the function for the product recommender
{% endcomment %}

{% assign current_product = product.handle %}

{% assign recommended_products = '' | split: '' %}

{% for product in collections.all.products %}
  {% if current_product != product.handle %}
    {% assign count = 0 %}
    {% for tag in product.tags %}
      {% if current_product contains tag %}
        {% assign count = count | plus: 1 %}
      {% endif %}
    {% endfor %}
    {% if count > 0 %}
      {% assign recommended_products = recommended_products | push: product %}
    {% endif %}
  {% endif %}
{% endfor %}

{% assign recommended_products = recommended_products | sort: 'title' %}

{% assign recommended_products = recommended_products | slice: 0, 3 %}


This code defines the recommender function, which uses tags to determine the relevance of products to the current product being viewed. The recommended products are then sorted alphabetically by title and limited to the top three products.

Step 2: Integrate the Recommender Function into Your Shopify Theme

After writing the recommender function, it’s time to integrate it into your Shopify theme. Here is an example of how to integrate the function into your Shopify theme:


{% comment %}
This code integrates the product recommender function into the Shopify theme
{% endcomment %}

{% assign recommended_products = '' | split: '' %}

{% include 'product-recommender' %}

{% if recommended_products.size > 0 %}
  <h2>You may also like:</h2>
  <ul>
    {% for product in recommended_products %}
      <li><a href="{{ product.url }}">{{ product.title }}</a></li>
    {% endfor %}
  </ul>
{% endif %}


This code includes the product recommender function and outputs the recommended products, if any, into a list that is displayed on the current product’s page.

Step 3: Test the Product Recommender

Now that you have written the recommender function and integrated it into your Shopify theme, it’s time to test it out. Here are a couple of examples of the recommender in action:


Example 1: A customer is viewing a product called “Men’s Red Hoodie”. The recommender function will analyze the tags of this product and recommend other products with similar tags, such as “Men’s Blue Hoodie” or “Men’s Red T-Shirt”.


Example 2: A customer is viewing a product called “Women’s Running Shoes”. The recommender function will analyze the tags of this product and recommend other products with similar tags, such as “Women’s Walking Shoes” or “Women’s Training Shoes”.

Step 4: Wrap it up! Build your Personalized Product Recommender on your Shopify Store

To implement this functionality in your Shopify store, you will need to do the following:


  1. Create a new snippet: You will need to create a new snippet in your Shopify theme. This snippet will contain the code that we have provided.

  2. Modify the code: You will need to modify the code to match the needs of your store. This includes changing the collection handles to match the collections that you want to recommend products from.

  3. Include the snippet: You will need to include the snippet in your product.liquid and collection.liquid files. This will allow the recommended products to appear on the product and collection pages.

  4. Styling: You can style the recommended products section to match the look and feel of your store. You can do this by modifying the CSS within the code that we have provided.


Here are a couple of examples of how this code can be used:


Example 1: Let’s say that you have a collection called “T-shirts” and you want to recommend products from this collection on the product pages of your “Hoodies” collection. You would need to do the following:


  1. Change the collection handle in the code to “t-shirts”.
  2. Include the snippet in your “product.liquid” file.
  3. Style the recommended products section to match the look and feel of your store.


Example 2: Let’s say that you want to recommend products from multiple collections on the product pages of your “Hoodies” collection. You would need to do the following:


  1. Change the collection handles in the code to match the collections that you want to recommend products from.

  2. Include the snippet in your “product.liquid” file.

  3. Style the recommended products section to match the look and feel of your store.


In conclusion, recommending products on your Shopify store can be a great way to increase sales and improve the user experience. With the code provided above, you can easily implement this functionality into your Shopify store. As always, I recommend testing this functionality thoroughly before making it live on your store. Happy coding!


Also published here.