Skip to main content

Experience Analytics not working

Hello Sitecorian,

How many of you have encountered an error or the situation where graph on the experience analytics dashboard or graph on launchpad's dashboard is not working

I recently encountered with this scenario where i was presented with the situation where simply graph was not coming up, Before digging completely into it and checking logs and everything, From very first high level thoughts pointed me to check

  • Is the valid certificate is used for xconnect?
  • Are thumbprints are correct in all configs? We had scaled environment so i needed to check the thumbprint in all the needed roles.
  • Is xconnect site is accessible from CD? Without any https exceptions?
  • Is XDB is enable? 
  • Is Tracking is enable? 
Everything looked ok on first place, so i finally took my sleeves up and started digging into details, Below are the details steps and exceptions those were captured and i will also show you the topology of instances we were using.

Scaled instance

We are using Sitecore 9.0.2 XP1 installation so we had CM and CD two physical servers, and on CM we had all roles installed with different web site in IIS, so basically all roles are working separately.

Now it was time to start to do some initial check, in most 99% cases it is certificate issue or certificate thumbprint issue so i quickly did following

1) Checked xconnect certificate on CM and CD and also double checked the thumbprint used 
You can find Here The detail steps how to see correct certificate and correct thumbprint of that certificate and make sure the same thumbprint is used in all the roles, In our case everything was good, right thumbprint was used in all roles, all had correct thumbprint of xconnect certificate.

2) Checked by visiting the xconnect site URL from CD and CM
To make sure that visits are registered, first step is to check if the xconnect site is accessible from CD instance and it was being accessible in our case, right certificate was used and correct site was being resolved.

3) Very initial steps after sitecore installation is to "Deploy marketing definitions" and "Rebuild link database"
It is must to deploy marketing definitions after configuring the scaled instance, as shown below in the image taken from Sitecore Documentation 
This steps was performed, i restarted IIS and visited the CD site but still there was no graph.
4) Double check the connection string on all roles.
Just to make sure that all roles are having right connection strings and having proper username and password, and right certificate thumbprint.
 5) Check the log of XConnect Instance, CM server Processing instance and Reporting instance
On checking the xconnect log i came across below exception

System.UnauthorizedAccessException: Access to the registry key 'Global' is denied


To fix this exception, we will need to add app pool user to the following groups

Performance Monitor Users
Performance Log Users

to do that, go to Computer Management and go to following path



Now double click both of this and add xconnect app pool use to this group, restart IIS and check the log again, GOOD, the error was gone

NOTE: Make sure to see whichever role is having this exception, add them to this group.

6) Message: Login failed for user 'poolsuser' in processing role instance log.
Because processing does the processing for collected data and processes it, this exception also gave me the clue that something is wrong, and i checked in the database and found out that in connection string for processing this user was used.

So i checked the DB and processing database and found out that this user did not exist for some reason, so created user and gave it proper access rights, restarted the processing instance and this error was gone, and now processing user was able to connect to DB.

7) Dimension could not be resolved for for dimension id: {GUID}
Looking further, when connection strings were checked and all instance were able to connect to DB , i started getting

10472 07:59:51 ERROR [Experience Analytics]: SegmentProcessor failed to process interaction 'fde57c16-f6a0-0000-0000-058df2ab65f2' segment '2985ad79-b475-494d-a3e0-df2573e66f04' - System.InvalidOperationException: Dimension could not be resolved for for dimension id: fa282c5b-a373-4b89-9977-18a8498ee53e
   at Sitecore.ExperienceAnalytics.Aggregation.Data.Model.AggregationSegment.get_Dimension()
   at Sitecore.ExperienceAnalytics.Aggregation.Data.Model.AggregationSegment.GetData(IVisitAggregationContext context)
   at Sitecore.ExperienceAnalytics.Aggregation.Pipeline.SegmentProcessor.ProcessSegments(IInteractionAggregationContext context, IEnumerable`1 segments)
10472 07:59:51 ERROR Aggregation Error
Exception: System.InvalidOperationException
Message: Dimension could not be resolved for for dimension id: fa282c5b-a373-4b89-9977-18a8498ee53e
Source: Sitecore.ExperienceAnalytics.Aggregation
   at Sitecore.ExperienceAnalytics.Aggregation.Pipeline.SegmentProcessor.ProcessSegments(IInteractionAggregationContext context, IEnumerable`1 segments)
   at Sitecore.ExperienceAnalytics.Aggregation.Pipeline.InteractionProcessor.AggregateSegments(IInteractionAggregationContext context, AggregationScope scope)
   at Sitecore.Analytics.Aggregation.Pipeline.InteractionAggregationPipelineProcessor.Process(InteractionAggregationPipelineArgs args) 

I tried to search this in sitecore and found out that, Dimensions did exist on following path

"/sitecore/system/Marketing Control Panel/Experience Analytics/Dimensions/Connect/By contact orders"

We found out that this dimension belongs to Sitecore Commerce and processing instance also need this dimension and not only CM instance

So We went to Sitecore Commerce installation package and found out the folder "Sitecore Commerce ExperienceAnalytics Core 11.2.83.zip" and manually copied DLLs and Configs to processing server's bin and App_Config

Restarted the IIS but no luck, because one final step was missing

8) Rebuild Reporting DB
I tried to look into the table and found out that interaction table was actually having interactions, so only thing was that they were not being aggregated and processed to show the report somehow.

So It was time to Rebuild Reporting DB, Restarted IIS.



And.......Hurrreeeeyyyy the graph was back and started registering the hits, Phew...huge relief.

I had some close interaction with few of my colleague which really helped me understand the flow of information and xconnect troubleshooting

Kiran Patil
Mahek Chaniyara
Sreekrishnan

NOTE: After having this analytics issue, I found out that in most of the cases related to experience analytics and xconnect issue, Following are the most frequent reasons

1) Xconnect certificate and its thumbprint issue
2) Marketing definitions not deployed (Dimensions and Interaction will not be found otherwise)
3) Reporting DB is not rebuild

I hope above steps will help someone troubleshoot the issue related to similar situation




 

Comments

Popular posts from this blog

Why SitecoreAI - Getting into the shoes of the customer how to select right CMS

Hi Team, Lately, I have been talking to lot of our customers / potential customers and having pre-sales demos where one question always comes is "Why Sitecore" ?  Now this question can be for any product which is out for sell. And as a technician I always get into product technical features, but at the same time as a pre-sales guy, it also makes me think, surely all competitive products have same features, so definitely answer to this is not in the technicalities.  If you step back and think, we are also a customer in our daily life and buy lot of things, what is that process we go through? When we buy, how can your customer decide if this is a right fit for you or not, why we select A over B? Is it price? is it service? Is it a brand? Is it about features? Is it about brand loyalty?  When it is a technical product, I am sure it cannot start with the technicalities of the product or selecting product itself, 100% not, I feel decision is always business strategy first and ...

Hell of sitecore aliases pipeline breaking the site with 500 error

Hello Friends, I belive this blog post is very important for everyone because, It has some very serious effect on working of your headless website, i will share my experience what we faced and how we resolved it Issue we started facing Our site started giving "Key cannot be null or empty" with YSOD like following  Side affect Because of this 500 error, Our site pages were showing 500 custom error page intermittently and our MAU (Monthly Active User) drop rate increased. Sitecore KB There is already Sitecore KB article talking about this error but the patch which is provided on this link is confusing as well as very huge and it could bring other issues along with it as that upgrade patch also has lot of other things too which i did not want to introduce in our stable CMS. Known Issues - Retrieving the child items of resource items is not thread-safe Observation Though the surfaced exception was looking similar and giving same error and behavior given on this article, We looked...

Zero to Hero - A real life RCA of exact issue in Sitecore Managed Cloud environment

Hello All, The purpose of today's post is to share a real life burning and escalated scenario which was new to me and how did I approach it and how big the escalations were and what was the outcome Sitecore's goodwill was at stack not because Sitecore is not capable of handling it but just because our environment was Sitecore Managed Cloud, and any issue that comes if its infra, back end code, front end code will be first pointed as Sitecore issue and that is where our consultancy and experience will play a role to prove that it is not Sitecore issue.  Issue we faced Out of the blue our site started giving "504 Gateway Time-out", and it was reported that almost everyone is getting this error, but when we used to browse the site, everything looked good and never 504. 504 Gateway Time-out error tells that, That the request went to Content Delivery servers of Sitecore from gateway, but gateway did not get response in time from those CDs and hence it gave time out error. ...