Personalization fundamentals (part 2): Rules-based personalization

This is part two of a three part series.  If you have not read the first part yet, you should go review it here.


This part of the series focuses on what we call rules-based personalization.  Rules-based personalization is primarily used to establish rules that determine what customers will see on the site (personalizing the site).  These rules can be used in more ways than just content display.  Some examples include; determining who receives a marketing email, who receives a particular discount promotion, or which cross sell items should be shown for a particular product.

The goal of this post is to introduce you to the components of rules-based personalization, highlight some potential ways to use it, and describe some important things to think about during your implementation.

Components of rules-based personalization

  • Segments (Profile groups) – A segment is a rule that defines a subset of your customers.  You can define a segment based on any attribute you have on the ATG profile (see part 1 of this post for more details on the profile).  When you create a segment, it will show up dynamically as a property on the users profile as a boolean value (true means the customer belongs to the segment, false means they are not included in the segment).  *** Note: Profile Groups and segments are very similar, but Profile Groups are only managed in the ACC.  Profile Groups pre-date segments and will eventually be fully replaced by segments.
  • Content groups – Content groups are similar to Segments, but instead of operating on the customer, it’s operating on some type of content (such as your product catalog).  In other words, a content group is a rule that defines a subset of your content.  A simple example would be the following; you could create a content group that includes only products in your catalog that are on sale, are contained in the ‘shirts’ category, and are available in the color red.
  • Content Targeters – Content targeters are ‘show / hide’ rules that are used to display content to customers.  The rule consists of a few pieces: Show or hide, which content, to whom, at what time(s), and under what conditions.  There is a great deal of flexibility not only in how you define these rules, but also in how they can be used.  You can create multiple rule sets within a single content targeter in order to create if / else conditions.  Content targeters can leverage both segments (to whom) as well as content groups (what content).

What are the potential uses / benefits of rules-based personalization?

Content display – use rules to define what content is shown to which users.  Content Targeters were specifically designed for this purpose.  Content targeting rules can be simple or rather complex as the following examples show:

An example of a simple content targeter

A more complex content targeter

Re-use of rules - Provide a single place to define well-known rules so they can be leveraged (as opposed to redefined) across the entire application.  Reusing rules is much better than recreating the rules in a number of places for some obvious reasons:

  • There are less rules to manage
  • The results are more consistent
  • It’s easier to debug issues

Some examples of reusable rules (primarily segments and content groups):

  • If you define a segment called ‘recent visitors’ as customers who have visited the site within the last 7 days, your entire application can refer to the users ‘recent visitor’ property as simply true or false instead of redefining the rule over and over again.  You might want to use this rule in a number of places such as a promotional spot on your homepage and also as part of a qualification rule in a discount promotion.
  • If you define a content group called ‘products we want to move quickly’ as all products who’s ‘clearance’ flag is true, and who’s ‘scheduled to reorder’ is false, then you can refer to those products throughout the application (promotions, targeting rules, scenarios, etc) without redefining the rule in multiple places.
  • If you never want to feature clearance items to a certain segment of your customers, you could create a content targeter that is defined to hide clearance items from people in that group.  This one rule could be used in many areas of your site.
  • You could define a few segments based on how the customer came to your site.  Examples could include: Entry_Google, Entry_Email, or Entry_Direct.  Inclusion in these segments may drive what the customer would see on the homepage as well as what promotions are granted to them.

How to manage the rules

The intention of the Business Control Center (BCC) is to allow business users to manage as much of the site as possible.  Rules-based personalization items such as segments, content groups, and content targeters are all managed within the BCC.  A core aspect of managing these rules includes something called an ‘expression editor’ which allows for the rules to be simple to create and understand.  All rules are managed within a project in Content Administration (CA), so they will take advantage of the workflow and deployment features available with CA.  The screenshots below will give you an idea of what the BCC looks like when managing different rules.

Creating a segment

Creating a content group

Creating a content targeter

Implementation – things to think about

If you followed the advice from the first post, you should have a pretty easy time creating your segments, content groups, and content targeters.  This is because the first post focused on setting up your ATG profile, which is an important building block for establishing rules-based personalization.  For the most part, these rules will be what control much of the dynamic display on your site.  There are additional ways to deliver personalized content, but that is the topic of the third and final post in this series.

You should be managing all these rules by using the BCC (personalization menu).  Managing these rules via the BCC requires that you own licenses for Content Administration.  If you are running CA (and the BCC) already, but you do not see the Personalization menu, it is likely that some configuration steps were not followed during setup of the BCC. If you do not own licenses for CA, then you can also create and manage these rules using the ATG Control Center (ACC).

Note on managing rules in the BCC:  the rules will not be available to items outside of the current project until that project is checked in.

Make sure you test all the rules to ensure that they are behaving as expected.  The most reliable way to test rules is to deploy them to a staging environment, and then run through a series of use cases using a handful of test accounts.  Each test account should have different profile property values in order for them to fall into different segments.  Also, prior to testing, it is critical that you understand how the site is using these rules.  In other words, you can create any rules you like, but in order for those rules to have any meaning on the site, they will need to be explicitly used by a JSP page or some other component.  You will need to coordinate with the site developers in order to understand how the rules you have created are being used.

Note on testing: Future versions of ATG will provide enhanced means of testing rules by using a preview capability which will provide a faster way to test.


Rules-based personalization is really the most basic form of personalization.  It addresses the requirements related to:

  • Ability to define the different segments of your customer base
  • Ability to define the different groups of content available on your site
  • Ability to control what content to show to which customers, at what time

There may be other requirements which could call for more advanced (or at least a different form of) personalization.  An example of another (and very powerful) form of personalization is called event-based personalization.  Event-based personalization will enable you to react to changes in customer behavior over time.  Event-based personalization is the topic for the third and final part of this three-part post.

Post a Comment:
  • HTML Syntax: NOT allowed

Welcome to the Oracle Commerce Product Strategy Community. We are dedicated to driving Best Business Practices across Oracle ATG products, Oracle ATG and Endeca Solutions and overall eCommerce Strategy. We welcome all collaborative discussions on blog posts. If you have a question for one of our experts, feel free to ask it here:
ATG Business Forum


« June 2016