Level: 200

Sitecore OMS – Key concepts part 2


In this second part of the article on the key concepts in Sitecores Online Marketing Suite, we will take a closer look at failures, events, filters and personalization through the rule engine.

We won’t dig deep into the functionality, but only describe the concepts and what they can be used for.


You can read the first part in the series here.

Written by: Jens Mikkelsen
Tue, Jul 14 2009

Failures and events

Events are used in much the same way as profiles. They track the action of the visitor; however instead of assigning an integer value like in the profiles, events are a Boolean value. So when an event occur, either by the visitor retrieving a page or by an API call, the event is registered to have happened. Goals are actually a type of event.


In the same ways as with goals, failures are a type of events. But instead of having marketers as a target group, the failures are minded on the developers. They can help the developers with building a better and more user friendly website, by improving not just system failures but also user input failures such as a failure of filling out forms or searching for something which doesn’t give a result. In these two scenarios it is possible for the developers to improve the usability or analyze how they can improve the search mechanism.


Events and failures aren’t a part of the marketing center as they are meant to be controlled by developers and not editors. You will find the different events in the content editor under /system/settings/analytics/page events:



This is also how you create a failure. In the same way as with goals, there are a checkbox called “IsFailure”, which you need to check, if you want to indicate the event is a failure.


Failures can be used to check the health of your site – as can events. There are a few standard reports focused on these events. If you open the Sitecore Analytics application and go to the /reports/site health section, you will see some reports pulling data from the events and failures. For instance you can see a report of slow pages:

Event reports


So all in all the events and failures are available for the developer to improve the site after it has gone live. That being both performance and usabilitywise.



The rule engine

The rule engine is not as such a part of OMS, but a feature introduced in Sitecore 6.1. We will therefore not dig deep into the engine in this article. However it is important to understand the concept as the filters and personalization is utilizing the functionality.


The rule engine works much like when setting up rules in MS Outlook. You define a set of conditions and when they evaluate to true, a specified action will occur. Sitecore has built a UI for setting up these rules, which makes it possible for authors and other none technical persons to create and manipulate these rules.

The rule engine is used to different things in Sitecore such as personalization (also referred to as conditional rendering), filters and insert options.


If you want to take a closer look at the rule engine, read this cookbook: http://sdn5.sitecore.net/upload/sitecore6/61/rules_engine_cookbook_sc61_a4.pdf



Filters are used to filter the data in your reports. This enables you to see statistic drilled down to a single group of persons; this includes national groups or profiles, which you have created yourself. You can then optimize your marketing or your site in general minded a specific group.

To apply filters to your report, open the report in the Sitecore Analytics application. The hit the filter button at the top:

OMS filter button


Now the rule dialog will show. Here it is possible to setup rules which will narrow your data down to the exact group you want statistics from:


OMS filter rules


In the top of the dialog you have the different rules you can apply. In the bottom you can see the rules you have applied, and you can set the different operators on these by clicking the link. For instance I can change the “is greater than” to “is equal to”.
In the image you can see how I have defined: That this report should only include visitors who have already visited the site at least one time before; that only humans should not be included (meaning that robots, such as googles indexer shouldn’t be included) and that I only want to include visitors from Denmark.


All in all you can use filters to narrow down your statistics data to the target group you want to focus on.


Personalization / Conditional renderings

Sitecore OMS includes a concept of personalization, which is based on the analytics data. This is one of the key reasons why Sitecore is describing OMS as being revolutionary. Now you have the analytics data automatically integrated with your content and you can use this data to alter your renderings based depending on how you have identified the visitor.

The personalization revolves around the conditional renderings. It is now possible to define some rules on presentation, which then performs some actions when one or more conditions are achieved. An example would be to hide or present a special rendering when the visitor has been identified as a given profile.



Conditional renderings uses the rule engine to apply an action to a given rendering. The rules are applied in the control properties of a given rendering. So to set these open the presentation details on the __standard values of a template; edit the layout settings; select the control you want to apply the rule to and finally click edit. You can now go to the personalization field and apply the rule sets you want:

OMS apply ruleset 


Here I have applied the ruleset “Visitor is Danish”.


The rules are defined in the marketing center under /personalization/rules. Here you can define your conditions and your actions. If you select a rule and click “Edit rule” on the rule field, you can see the following dialog:

OMS edit rule


Here I have first applied the condition “where the country compares to specific country”. Then I have edited the condition in the bottom field and specified that the country should be equal to DK. After that I specified the action. In this case I decided to hide the rendering for all Danes.

Using this engine you can completely personalize the content to the individual type of visitor. This is really powerful when administrating an e-commerce site, where you can start showing more and more specific content for the visitor. Imagine that he has browsed through a lot of DVD’s. You can then have a conditional rendering in the side of your page, which displays different DVD discounts if the visitor has been marked as a profile interested in that.

However it is not just commerce site who can benefit from it. Information sites can mark there content of different types, and then start showing more information depending on the type. Further you could start differentiating between visitors on how experienced they are at browsing. If they are identified as an inexperienced user, you can start showing extensive help texts.



So the personalization can be used to… yes personalize your site to certain types of visitors and profiles.


Further reading

If you’re interested in Sitecore OMS, these are some good places to start out:

Analytics configuration reference: http://sdn5.sitecore.net/Reference/Sitecore%206/Analytics%20Configuration%20Reference.aspx

The rule engines cookbook:


Please rate this article

13 rates / 4,46 avg.

  • About the author:

    Jens Mikkelsen

    Jens Mikkelsen is a partner at Inmento Solutions a Sitecore consulting firm. He works as a Sitecore specialist and consulting helping clients architect and build quality Sitecore solutions using the newest modules and tools. 

    Further he has been deeply envolved in various complex solutions and has built up a strong knowledge of Sitecore architecture and best practices. He has especially focused on and is specialized in debugging and analyzing Sitecore solutions.


    Jens is very interested in the technical mechanisms in the new marketing products such as Sitecore DMS and Sitecore ECM.

    My Sitecore Freelance CV

3 responses to "Sitecore OMS – Key concepts part 2"

Hi. Nice article... I want to know if one can apply a conditional rendering rule on a rendering that is created dinamically. Example: We have 2 templates: temp1, temp2 and 2 renderings: rend1 and rend2. If one adds an item from the template 'temp1' I want the 'rend1' rendering to be added. Otherwise, I want the 'rend2' rendering to be added. I tried to accomplish this task from c# and it worked. I want to know if we can do the same thing only using only rules within sitecore, without c#. For me it seems a more elegant idea.
Please let me know if you have any clue.
Posted: Monday, March 29, 2010 2:12 PM
Hi Andrei,

Thanks for the feedback.

You can probably use the rendering engine for it, but I don't know if it makes sense. Especially if you have two different templates, which should hold different presentation. This is default functionality in Sitecore, and I would just apply rend1 to temp1 and rend2 to temp2. That should solve your problem, if I understand it correctly.

Posted: Sunday, April 04, 2010 2:49 PM
Hi Jens,

Thanks for the article. So the three types of sitecore rules are Insert, Insert Options, and conditionals rendering rules. How about Action Rules, scripting is that a types of rules. ?
Posted: Tuesday, December 21, 2010 9:26 PM

Leave a reply

Notify me of follow-up comments via email.