39 Recommendation Assets

Recommendations are assets that determine which products or content should be featured or "recommended" on a rendered page. These assets are a set of rules that might be based on the segments the visitors qualify for, and, in some cases, relationships between the product and/or content assets.

This chapter describes how recommendations work and how to create a custom element that returns assets to be recommended.

This chapter contains the following sections:

39.1 Overview of Recommendation Assets

A recommendation asset collects, evaluates, and sorts product assets and content assets and then recommends the most appropriate flex assets (such as assets for the current visitor). How does it determine which are the most appropriate assets? By consulting the list of segments that the visitor belongs to.

The product assets and content flex assets are rated for their importance to each segment. When a recommendation asset is called from a template, Engage determines which segments the current visitor qualifies for, and then selects the assets that are identified by the recommendation as having the highest rating for those segments. These are the assets that are "recommended" to the visitor.

There are three kinds of recommendations:

  • Static Lists: Return a static list of recommended items

  • Dynamic Lists: Return a list of recommended items that is generated by a dynamic list element that you create

  • Related Items : Return a list of recommended items based on relationships between flex assets, such as products.

Engage uses a recommendation's configuration options and the asset ratings to constrain the list when the list contains more items than the template is programmed to display. For related items recommendations, Engage also uses asset relationships to constrain the list. For all recommendations, Engage eliminates assets that are rated 0 for the current visitor.

The recommendation asset is the only Engage asset that can be assigned a template. You code your recommendation templates to render the items that the recommendation returns in an appropriate way on the rendered page.

The template tells the recommendation how many assets to return, and the recommendation asset determines which assets to select and return to the template based on the way it is configured and on the segments that the current visitor belongs to.

There are several XML and JSP object methods (tags) that you can use to code templates for recommendations. For information about coding templates when you are using Engage, see Chapter 40, "Coding Engage Pages." For information about all of the Engage tags see the Oracle Fusion Middleware WebCenter Sites Tag Reference

39.2 Development Process

Following are the basic steps for setting up recommendations:

  1. Developers and designers meet with the marketing team to define all the merchandising messages that you want to display on your site and to plan how to represent those messages using recommendation and promotion assets.

  2. The developers and designers use the XML or JSP object methods to design and code templates for the recommendations. Chapter 40, "Coding Engage Pages" explains how to code these templates.

  3. If the website will use dynamic list recommendations, the developers code the dynamic list elements that return the assets to recommend. Section 39.3, "Creating a Dynamic List Element" explains how to code dynamic list elements.

  4. The marketing team uses the Engage recommendation wizard to create and then configure the recommendations. They assign the appropriate template to the appropriate recommendation.

  5. Using the Engage product and content asset forms, the marketers rate how important the assets are to each segment, and, therefore, to the individual visitors who become members of those segments. (Typically, you assign ratings to flex parents, such as product parents, instead of to individual assets.)

  6. For each "related items" recommendation, the marketers configure the relationships maintained by those recommendations by assigning related assets in the flex asset or flex parent forms. (Typically, you configure relationships among flex parents, such as product parents, instead of individual assets.)

39.3 Creating a Dynamic List Element

If your website uses dynamic list recommendations, you must code the dynamic list elements that return lists of recommended assets. A dynamic list element is an instance of the CSElement asset type; this ensures that the dynamic list element will be transferred to the delivery system when the website that uses it is published.

A dynamic list element must return a list named AssetList. The set of assets that becomes your AssetList must have the following traits:

  • It must contain only assets of the types that you want to recommend.

  • It must contain the IDs of the assets that you want to recommend.

  • It should contain the assets' confidence ratings, although this is optional.

The following sample code is an excerpt from a dynamic list element. Line 2 in the following code adds a constraint to the ssprod searchstate, filtering it to find items with a browse category of Fund Type. Line 3 adds another constraint to the ssprod searchstate, creating an assetset composed entirely of Product assets. Finally, line 4 turns the assetset created in line 3 into the AssetList list.

  1. <SEARCHSTATE.CREATE NAME="ssprod"/>

  2. <SEARCHSTATE.ADDSIMPLESTANDARDCONSTRAINT NAME="ssprod" TYPENAME="PAttributes" ATTRIBUTE="BrowseCategory" VALUE="Fund Type"/>

  3. <ASSETSET.SETSEARCHEDASSETS NAME="asprod" CONSTRAINT="ssprod" ASSETTYPES="Products"/>

  4. <ASSETSET.GETASSETLIST NAME="asprod" LISTVARNAME="AssetList"/>

When you have completed coding your dynamic list elements, provide their names and information about what sort of content they return to the users who will create the recommendation assets.