When working with Sitecore Analytics, it is necessary to follow the recommendations and carefully read the instructions for installation of the Sitecore environment on production servers. Developers only use one Sitecore instance when programming. However, the production environment is usually divided into at least one Content Management (CM) server and into at least one Content Delivery (CD) server. If we failed to correctly configure the individual servers, this could lead to skewing of the data saved for the individual visitors of the website. One of such examples is incorrectly assigning the visitor into the Engagement Plan (EP).

Imagine a situation, when we have 1x CM and 1x CD server. As we know, when identifying the visitor, Sitecore works with Session and Cookie. A Cookie serves for the identification of the visitor on the given equipment and Session works with the current visit. In the previous article, we showed you how to assign a visitor into the EP. The visitor opens our website – communicates with the CD server. In the initial status, the CD server is configured in such a way so that it processes the EP. Therefore, the passage of the EP is assessed once the session on the CD server is finished. However, the same takes place on the CM server as well since we did not identify which server is responsible for the passage of the visitor on the EP. This causes chaos in our data because neither the CM nor the CD server has updated data and both of the servers are mutually re-writing the data. The solution is to define the roles of the individual servers of our infrastructure.

I will not describe how to separate the CM and CD server since this procedure changes with Sitecore version. Basically, it is necessary to follow the instructions directly from the Sitecore website and choose the correct version for which you are doing the division. The URL addresses are as follows:

On both of the mentioned pages, you will find a link to Excel, telling you which configurations should be on which server. The Excel looks like this:


If we look at line 81, where there is a definition for the Sitecore.EngagementAutomation.Processing.Aggregation.Services.config file, we can find out whether it should be permitted or restricted on the server. In our case, we have 1x CD and 1x CM server. Therefore, this file must be restricted on the CD server and permitted on the CM server. To find out the setting on the CM server, use the column called CM + Processing. Sitecore enables you to divide the infrastructure to more servers. According to the Excel, we can see that we can divide the CM, CD, Processing and Reporting server. In most cases, the CM server also serves as a Processing and Reporting server. You can once again read about how to set the Processing and Reporting server up on the Sitecore website:

If we divide the individual servers and their functions correctly, we will get the correct results into Sitecore Analytics.

If we use more CD servers and there is a Load Balancer in front of them, we also have to set the work with the Session correctly. You can read more about how to set the Session up for various types of Load Balancers here.