Monday, January 23, 2017

Experience Analyitcs and Rebuilding Reporting Database (Part 2)


Previously, we talked about checking if there was any issues preventing the rebuild process from being executed using the debugging mode in the config files. Today I will focus on rebuilding the reporting DB when having a multi environment setup (Content Authoring and Content Delivery environments).

I used to have issues rebuilding the reporting DB on content authoring server. There are a couple of steps that you need to do to ensure that the processing is working correctly on CM server:

1- Enable the following configs in the CM server:

a- In App_Config\Include\ExperienceAnalytics folder:
  • Sitecore.ExperienceAnalytics.Aggregation.config
  • Sitecore.ExperienceAnalytics.Reduce.config
  • Sitecore.ExperienceAnalytics.StorageProviders.config
b- In  App_Config\Include\folder:
  • Sitecore.Analytics.Processing.Aggregation.Services.config
  • Sitecore.Analytics.Processing.Services.config
  • Sitecore.PathAnalyzer.Processing.config
2- Make sure that the Segments table of the Reporting database is not empty and contains 35+ segments.


If it is empty, please perform the steps mentioned in the following post:

3- Perform the rebuild of the Reporting database:


4- Check Experience Analytics reports.

Note: it is recommended to use a clean copy of Sitecore_Analytics database in order to get best results.

To check what goes wrong as you go through the rebuild process, you can perform a following test:

a) Start the rebuild again and wait for HistoryProcessing state.
b) Open the HistoryTasks collection in the analytics database, there should be a history task record with the statistics information.
c) Check how many records are present in the ProcessingPool collection of the tracking.history database.
It should help you understand if any tasks are added.
d) Check if the records are being added to the [Fact_Visits] table in the sitecore analytics database (SQL). In case no historical records are being added - then the rebuild is still not working correctly.

One of the issues that I faced also is that the tracking_contact db was not created for some reason in the Mongo DB. You should make sure that it is there too.

Sometimes when developers upgrade from an old sitecore version to a newer one, some of the config files don’t get updated. So one of the main config files that does the rebuild is Sitecore.Analytics.Processing.Aggregation.ProcessingPools.config. Make sure that you have the updated one for the version that you’re upgrading to.

I hope this information helps! 




Thursday, January 19, 2017

Experience Analyitcs and Rebuilding Reporting Database (Part 1)

There is a very interesting feature in sitecore that everybody should make use of. Users need to check out some reports that analyze the ways that contacts engage with their website. 

What is Experience Analytics?

Experience Analyitcs dashboard provides reports for marketers and marketing analysis to identify patterns in experience data that is collected from the website.

Rebuilding Reporting Database

Sometimes users need to upgrade from older sitecore versions to newer ones. Therefore, merging historical data from earlier versions of Sitecore with live xDB data is essential to make all the data available to Sitecore reporting applications. This process is called “rebuilding the reporting database”.

To ensure that the reporting database has all the latest changes, you need to rebuild from time to time.
I have gone through this experience and faced a lot of issues during this process. Sometimes the rebuild process gets interrupted due to several reasons.

One of the main things to know if there are any errors that caused this interruption is to go through the log files to see if there are any errors. In order to know if the error is related to processing pools, you should perform the following steps to enable the errors being registered in the log files:

1. In Sitecore.config file, set the log4net logging level to DEBUG in the <log4net> node:



2. In Sitecore.Analytics.config file, set the "Analytics.LogLevel" setting value to Debug:


3. Start the rebuild, wait until it is finished, and then check out the sitecore log files to                         see if there are any errors caused.

The Debug log level adds additional information about the agents/history tasks to the log files, so it should help identifying the step where the rebuild is failing.

Next part, I will tackle some issues that need to be checked and fixed if your rebuild process did not go through. Let's continue!