Try our conversational search powered by Generative AI!

Son Do
Apr 9, 2018
  4455
(4 votes)

Personalization Find template - practice

This post describes how Find integrated with Personalization, how Find boost the result based on behavior data from Personalization – in a sample of course 😊

Preparation

1. I used Quicksilver - Commerce sample site for this post.

2. Add configuration from your Personalization UAT to the site Personalization configuration

3. Make sure that the recommendation worked as expected. Recommendation on Quicksilver 4. View some product pages, so Personalization system can understand your behavior.

Verify the Personalization Find

1. Create a new personalization find test page.

2. Regarding the Personalization Find document  and Jonas' blog post, the template looks like this:

private readonly IClient _client;
private readonly UrlResolver _urlResolver;

public PersonalizedFindPageController(IClient client, UrlResolver urlResolver)
{
	_client = client;
}

public ActionResult Index(PersonalizedFindPage currentPage, string q, bool? usePersonalization = null)
{
	_client.Personalization().Refresh();

	var prefData = _client.Personalization().Conventions.PreferenceRepository.Load();
}

 

4. Debug or create a new view for viewing the prefData variant, the UI should have something like this:

Personalization attributes

5. Make sure that the return attributes aren't empty. Then we can get the Personalization search result by .UsingPersonalization() for your current search query.

var resultsPersonalized = _client.Search<FashionProduct>()
   .For(q)
   .FilterForVisitor()
   .UsingPersonalization()
   .GetContentResult();

6. Note that we can compare the search results by using personalization and without using personalization:

var resultsPersonalized = _client.Search()
   .For("shoe")
   .FilterForVisitor()
   .UsingPersonalization()
   .GetContentResult();
var resultsWithoutPersonalized = _client.Search()
   .For("shoe")
   .FilterForVisitor()
   .GetContentResult();

 The search results have different orders based on the above attributes - that's customer behavior. That is how Personalization Find works.

This practice code is kept in this compressed file: PersonalizedFind.Template.zip, feel free to play with it.

 

Just note that Recommendation and Personalization Find are applied to Commerce content only at this time. And .UsingPersonalization() on the query, it only boosts Commerce content properties. I hope this feature will be applied to CMS content soon - waiting for that (Y)

 

Hope this help.

/Son Do

Apr 09, 2018

Comments

Please login to comment.
Latest blogs
Visitor Groups Usage Report For Optimizely CMS 12

This add-on offers detailed information on how visitor groups are used and how effective they are within Optimizely CMS. Editors can monitor and...

Adnan Zameer | Apr 18, 2024 | Syndicated blog

Azure AI Language – Abstractive Summarisation in Optimizely CMS

In this article, I show how the abstraction summarisation feature provided by the Azure AI Language platform, can be used within Optimizely CMS to...

Anil Patel | Apr 18, 2024 | Syndicated blog

Fix your Search & Navigation (Find) indexing job, please

Once upon a time, a colleague asked me to look into a customer database with weird spikes in database log usage. (You might start to wonder why I a...

Quan Mai | Apr 17, 2024 | Syndicated blog

The A/A Test: What You Need to Know

Sure, we all know what an A/B test can do. But what is an A/A test? How is it different? With an A/B test, we know that we can take a webpage (our...

Lindsey Rogers | Apr 15, 2024