Sitecore DMS and Analytics Considerations
Recently I've been tasked with generating some simulated analytics traffic for our Officecore demo solution.
I've been using the TrafficGenerator to do this, this is available on marketplace, but get the package from here:
The link on marketplace goes to an older version 0.42, 0.43 is available in the packages section.
Getting the data in a has come with a few development considerations.
On that basis I thought I'd discuss them and share the solutions I found.
The first thing to consider is that the data you see in the engagement analytics dashboard is not real time.
There are a couple of levels of caching that can make the results you see not what you expect.
These levels are:
- The refresh button needs to be pressed, the graphs will not auto update.
- The file Silverlight creates will be cached by the browser, I found a post here, http://sitecoreblog.alexshyba.com/2009/04/silverlight-client-caching.html that explains this and how to turn off caching in IIS.
- Sitecore will create a copy of the dashboards, to remove this go to your Sitecore data folder there is a folder in there called dashboard reports, during development you can clear this folder and sitecore will recreate it when you click refresh.
- Sitecore uses the database to increase performance by utilising some cache tables:
- I believe these are populated by a stored procedure triggered once a day (I may be wrong), if you want to force it then you can call the stored procedure directly to refresh the cache tables.
To do this open up SQL management studio, expand your analytics database, expand the programmability folder, then stored procedures folder, right click on dbo.sp_sc_Refresh_Views and click Execute Stored Procedure, then click OK.
This stored procedure calls the following procedures to refresh the views, you could call them specifically if you know what you want to refresh:
Search Engine Organic Branded:
I wasn't getting any results for Search Engine Organic Branded, this is a quick one, and if I'd read the engagement analytics configuration reference properly I probably wouldn't have got this issue, but I did so I'll add it. (I'm a bloke I'm not supposed to read manuals).
To assign keywords for Branded do as follows:
- Open Executive Dashboard
- Select the Search Keywords View
- In the Traffic Type Drop down select "Search Engine Organic"
- On the left of the graph click a keyword containing text you want to add as a branded keyword.
- remove the text that's not branded from the keyword and click ok.
- Click Ok and a few graph refreshes here and there and you should be good to go.
Remember to consider the caching options in the section above as these may affect the update.
Finally if you want to view what keywords you have set, the item to search for is "Organic Branded Keywords". (/sitecore/system/Settings/Analytics/Organic Branded Keywords).
So I had an issue with referring sites, In my traffic generator csv file I put in loads over 50 different combinations generated from a list of Fortune 100 companies.
The issue was that when doing this Sitecore will display the top referring sites, but once you hit a threshold it will then start to group the remaining ones, I'm not sure the exact number.
These get grouped into "other" I didn't want this for demo purposes so I simply lowered the number of referral sites to about 15-20 in the traffic generator spreadsheet.
Sitecore.Analytics.Config & Configuration.config:
Few things here, just settings changes for development:
- <setting name="Analytics.Enable" value="true" />
Make sure analytics are turned on :)
- <MinimumVisitsFilter value="1" />
This means you dont need 50 visits before the data is flushed.
This got me to where I wanted to be, if you have any further issues take a look here: