Adaptive Personalization Manual / Version 2110
Table Of ContentsCoreMedia Adaptive Personalization provides the basis for creating a personalized web experience on top of the CoreMedia Content Application Engine. This section lists all building blocks with a short description and is intended as an overview for programmers and technical consultants. See Chapter 4, Developing With Adaptive Personalization for a more detailed discussion.
CoreMedia Adaptive Personalization comes with an API that offers five main building blocks:
Personalized Content
Customer Segments
User Contexts
Test User Contexts
Behavior tracking
Personalized Content
Personalized Content is content that uses a list of rules to determine what to show to a visitor. This is similar to content that stores a search query and displays the results of executing the search, but covers different use cases as you've got finer control over the selection process. For example, you can define rules that show different documents
... to users above a certain age AND at specific times of the day.
... to users who previously bought a specific service or product.
... to users visiting the website with a specific device.
... to users who previously showed interest in content tagged by repeated keywords (such as soccer, baseball, travel, politics etc.) through keyword tracking.
Selection rules are stored in a Markup document property using a specific XML grammar. Rules are parsed and evaluated within the CAE and all content selected by rules whose conditions are satisfied is returned.
Adaptive Personalization provides a CoreMedia Studio plug-in with an easy to use interface for users to define personalization criteria. Adaptive Personalization comes with a number of predefined condition types that can be bound to arbitrary context parameters, thus allowing you to adapt the UI to the semantics of your application domain. These condition types are described in detail regarding usage and configuration in Section 5.1, “Condition Types”.
Customer Segments
With personalization you can group the visitors of your website into segments according to a set of logical conditions. For example, if a user context (explained below) is provided, you could create visitor segments such as
Male users aged between 30 and 40 AND with a yearly available income of US$45,000.
Users with an interest in the fashion topic AND with at least five social connections within the site's user base.
Users which have bought a certain number of products through the website correlating with an interest in a specific content topic.
Customer segments are evaluated by a specialized ContextSource (a component that adds a context to the ContextCollection associated with a request to the CAE) and added to the current user's context data. Thus, they can be used within conditions in selection rules.
The CoreMedia Studio plug-in provides an interface to define segments with conditional expressions. As with Personalized Content, the UI can be adapted to your application's needs.
User Contexts
CoreMedia Adaptive Personalization allows you to use arbitrary user contexts as
sources of information accessible in conditional criteria of Personalized Content and Customer Segments. A context can
be an arbitrary Java object, but usually is a map-like entity that stores key-value pairs. A user's request is
associated with an arbitrary number of contexts collected in a ContextCollection
, which typically is
injected in all CAE beans that require access to the context data.
User contexts are populated in the CAE, in the preHandle
phase of
request processing. Thus, context data is available to handlers as well as content beans. The context API also
allows you to persist information into user contexts at the end of request processing.
Test User Contexts
Test User Contexts are CMS documents containing lists of context properties. A
specialized ContextSource
reads these documents and adds corresponding context objects to the context
collection of each request to the CAE. Using Test User Contexts, you can
simulate a user having specific context properties and thus test the behavior of your personalized site.
Behavior Tracking
CoreMedia Adaptive Personalization provides a specialized Context class that is intended for tracking and scoring the behavior of individual users on your site. This ScoringContext can be informed about (weighted) events, such as visits to keyword-tagged pages or initiated downloads. The collected weights for an event are combined and the event name as well as its weight are made available as context properties to be used in customer segments or selection rules.