Recommend specific products to profiles to increasing conversion. For recommending products, a product set needs to be inserted into the website content as a personalization.
- Step 1: Create product set
- Step 2: Create personalization (embedded)
- Step 3: Create personalization (pop-up)
Advanced steps:
- Step 4: Create dynamic product set based on viewed product
- Step 5: Create dynamic product set based on favorite category
Preparation
- Make sure the following events are collected: ViewContent, AddToCart, Purchase
- Make sure the following product fields are collected: SKU, Name, URL, Images
For the advanced steps:
- Choose a product field containing the corresponding attribute (in this example custom_dier is used)
- Make sure the following product fields are collected: Brand, Categories
Step 1: Create product set
Make a Items you may like product set of products that are in stock:
Step 2: Create personalization (embedded)
For recommending products, a product set is inserted into the website content as a personalization.
2.1 Create personalization
Create a personalization in which the product set is incorporated in the website content:
The use of an element with a unique name is recommended in the query selector!
2.2 Test personalization
Test the personalization live on the website and view the product set in the 360° profile:
💡 Tip: add a control group to the personalization to compare conversions.
Step 3: Create personalization (pop-up)
For recommending products, a product set is inserted as a personalization in a pop-up.
3.1 Create personalization
Create a personalization in which the product set is incorporated in the pop-up:
3.2 Test personalization
Test the personalization live on the website and view the product set in the 360° profile:
Step 4: Create dynamic product set based on viewed product
To recommend products that have a similar characteristic to the viewed product, a dynamic product set is processed as personalization on the product page.
4.1 Create product set
Create an Items you may like product set with a dynamic filter on the custom_dier field:
This video is currently only available in Dutch, below you will find an English summary.
We are going to create a product set that has a matching feature with the product on which an event is currently taking place. The event must contain at least a product ID, such as a product page view.
In this example I want to use the custom_animal field as a dynamic product filter. If a dog is viewed, I want to show dogs. And if a cat is viewed, I want to show cats.
I am creating a product set of items you may like. I choose the Custom_animal field from the event. Because that is the field where I want to dynamically show products.
4.2 Create personalization
Create a personalization based on the trigger ViewContent event:
This video is currently only available in Dutch, below you will find an English summary.
You will apply the created product set in a new personalization. You have a choice of limited triggers because product information from the event is needed.
I select the element by inspecting the element so that you can enter the name directly. Sometimes the standard query selector can be too specific, for example it sets 'the fourth element on the page' but it could be that the element on another page is the fifth element. That is why I now choose the inspect method. Use an element with a unique name in the query selector.
In the settings I adjust the trigger to viewcontent event. If I select product event with data I can add more filters as desired.
4.3 Test personalization
Test the personalization live on the website:
This video is currently only available in Dutch, below you will find an English summary.
I'm going to test the personalization. I change the include URL to ?test. I save and publish this.
Then I go to the website to the page with the product where the personalization should be shown. I change the URL there with /?test.
There we see that hundreds of products are recommended. If I go to a cat there is no personalization, until I add the test URL. Then I see cat products. There are only 2 products with the custom_animal field cat, that's why you only see 2.
All products that have a matching value in the custom_animal field in the Spotler Activate database, we match and show as personalization. The product ID in the event is required for this.
Step 5: Create dynamic product set based on favorite category
5.1 Create a product set based on favorite brand/category
Creating a product set that dynamically displays items with favorite brands/categories:
Note: A user's favorites are stored on their profile based on events with products, as long as they contain SKUs that are also present in your feed. Thus, for each profile we keep a counter for each brand, and the three brands with the most event interactions are considered favorites.
5.2 Display the dynamic set on your website
Select an embedded product personalization and set it up to show as desired: Embedded products.
Our tracker automatically does a check if a product set for a user contains items. Therefore, if a user does not have favorites yet, the personalization will not show.
5.3 List favorite brands based on template variable
You can make the above personalization even more dynamic and personal, by calling the favorite items in the template itself. This can be done by doing “edit template” to the above personalization, or setting up a custom embedded personalization.
If you press “help” in the variant designer, you will see all available variables. For this use case, they are:
So you can easily expand personalization that way:
<h4>Products of {{ favorite_brand_1 }} </h4>
However, a user has three favorites, and number 1 will always be filled when they see the personalization, but 2 and 3 not necessarily. You can catch this by if statements:
<h4>Products of {{ favorite_brand_1 }}
{% if favorite_brand_2 %}
,{{ favorite_brand_2 }}
{% endif %}
{% if favorite_brand_3 %}
en {{ favorite_brand_3 }}
{% endif %}
especially for you!</h4>
This results in:
"Products of Ibzmode, ZAG and Moost Wanted especially for you!
However, when a user has only 1 favorite, he sees the following:
"Products from Miss June especially for you!"
5.4 Use variables in dynamic url
As long as the user's favorite brands are known, you can also put them in a link, a simple example is:
<a href="https://www.ibizamode.nl/nl/brands/{{ favorite_brand_1 }}">{{ favorite_brand_1 }}</a>
Here we place the brand dynamically in the URL, and then also between the tags, so that the text containing the link also shows the brand.
Note: The exact elaboration depends on your URL structure and whether it matches your product data. If not, you can alternatively pass the value as a search parameter, for example:
https://www.ibizamode.nl/nl/search/{{ favorite_brand_1 }}
Test this thoroughly with multiple brands, for example at Lightspeed, spaces in brands are indicated by -. This, too, can be caught with Nunjucks:
{{ favorite_brand_1 | replace(" ", "-") }}
Combined with the earlier example, you then get this result:
<h4>Products of <a href="https://www.ibizamode.nl/nl/brands/{{ favorite_brand_1 | replace(" ", "-") }}">{{ favorite_brand_1 }}</a>
{% if favorite_brand_2 %},
<a href="https://www.ibizamode.nl/nl/brands/{{ favorite_brand_2 | replace(" ", "-") }}">{{ favorite_brand_2 }}</a>
{% endif %}
{% if favorite_brand_3 %}
en <a href="https://www.ibizamode.nl/nl/brands/{{ favorite_brand_3 | replace(" ", "-") }}">{{ favorite_brand_3 }}</a>
{% endif %}
especially for you!</h4>
"Products of Ibzmode, ZAG and Moost Wanted especially for you!