A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Son Do
Apr 9, 2018
  5032
(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
Looking back at Optimizely in 2025

Explore Optimizely's architectural shift in 2025, which removed coordination cost through a unified execution loop. Learn how agentic Opal AI and...

Andy Blyth | Dec 17, 2025 |

Cleaning Up Content Graph Webhooks in PaaS CMS: Scheduled Job

The Problem Bit of a niche issue, but we are building a headless solution where the presentation layer is hosted on Netlify, when in a regular...

Minesh Shah (Netcel) | Dec 17, 2025

A day in the life of an Optimizely OMVP - OptiGraphExtensions v2.0: Enhanced Search Control with Language Support and Synonym Slots

Supercharge your Optimizely Graph search experience with powerful new features for multilingual sites and fine-grained search tuning. As search...

Graham Carr | Dec 16, 2025

A day in the life of an Optimizely OMVP - Optimizely Opal: Specialized Agents, Workflows, and Tools Explained

The AI landscape in digital experience platforms has shifted dramatically. At Opticon 2025, Optimizely unveiled the next evolution of Optimizely Op...

Graham Carr | Dec 16, 2025

Optimizely CMS - Learning by Doing: EP09 - Create Hero, Breadcrumb's and Integrate SEO : Demo

  Episode 9  is Live!! The latest installment of my  Learning by Doing: Build Series  on  Optimizely Episode 9 CMS 12  is now available on YouTube!...

Ratish | Dec 15, 2025 |

Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |