Integrate Personalization

General

Personalization is changing the search result based on previous user behavior. Therefore, FACT-Finder needs to know the user in order to learn user behavior and change its results. Learning takes place based on tracking events. All requests are linked via session IDs. So, personalization can only work if all search requests and all tracking event requests provide a session ID. As soon as a user logs in, you need to tell FACT-Finder the user ID with the login tracking event (SCIC tracking, default) or the sessionInfo tracking event (AD tracking) to connect the session to the user. After that, all events for the session are learned for that user.

Prerequisites

  • A fully integrated FACT-Finder 6.11
  • Integrated SCIC or AD tracking

SCIC Tracking Requirements

  • Send the session ID with each search request using the sid URL parameter or the TrackingInformation object when using the webservice interface
    Example: search request

    Search.ff?channel=de&query=women+shoes&sid=43caf1f33317971f2ee795af4

  • Make sure that clickcart, and checkout events are send correctly including the appropriate session ID (via sid URL parameter or TrackingInformation for webservice interface)
    Example: checkout event

    Tracking.ff?channel=de&event=checkout&id=shoe1234&count=1&price=39.99&sid=43caf1f33317971f2ee795af4

  • Send the login event with sid and userId parameters when a user logs in, so that the searches for a given session can be personalized using the corresponding user data
    Example: login event

    Tracking.ff?channel=de&event=login&userId=userXf4H3fF&sid=43caf1f33317971f2ee795af4

Setup

fff.properties

  • usePersonalization=true
  • personalization.storage.directory={APP_RESOURCES}/personalization/
  • personalization.range=500 (means that personalization can change the result similarity by at most 5.00%