Harry Ninh
Harry Ninh

Reputation: 16738

Sitecore Analytics Report - How to show unique visitors

I'm quite new with Sitecore 8 Experience Analytics, and I cannot find much documentation about customizing the module. I've come to a task to make Sitecore Analytics somehow similar to Google Analytics, and one of them is to report how many unique users have browsed the site during a period of time (say last month or last week).

I'm planning to put in ExperienceAnalyticsListControl, but not sure how. From my research, the columns of this ListControl are generated based on Data Source. But its data source is pointing to another page! I'm completely confused at this step. For example, the /sitecore/client/Applications/ExperienceAnalytics/Dashboard/Audience/Locations/Countries has a ListControl that has datasource = /sitecore/client/Applications/ExperienceAnalytics/Dashboard/Audience/Locations/Countries/PageSettings/All countries

, which in turn has TargetPage = /sitecore/client/Applications/ExperienceAnalytics/Dashboard/Audience/Locations/Countries/PageSettings/Country (which is another page that can be viewed by typing it URL in the browser)

My questions are:

Upvotes: 1

Views: 1622

Answers (2)

Martin Ottosen
Martin Ottosen

Reputation: 31

Currently Experience Analytics does not allow for extending the list of metrics. The underlying API and datamodel assumes you will only store these seven:

  • Visits
  • Value
  • Conversions
  • Bounces
  • Page views
  • Time on site
  • Count

(...and some calculated ones such as bouncerate : Bounces/Visits)

I see two feasible routes to solve your problem

  1. Custom Dimension A "Dimension" in Experience Analytics is responible for grouping data about interactions e.g. by contry, and for calculating the seven standard metrics for each group.
    • If you create your own dimension, you could e.g. store number of visitors in "Count" which is a somewhat generic metric.
    • In marketing control panel, you would create a new dimension item and one or more segments underneath it. A segment is like an instance of a dimension with an optional filter, and it is what you bind your reports to. You can think of the segment as a virtual table, and the dimension as the logic to populate the table.
    • On the config side, you would need to add mappings to your new dimension (look for <dimensions> tags in showconfig.aspx) and the ID of your new dimension item.
    • In your list control, you would simply select a segment based on your new dimension, and off you go :)
  2. Compose it in the UI Since the reports are simply SPEAK pages you can add custom renderings to the reports. If you capture unique visitors on the side, you can simply add your own rendering, and you are free to capture that data any way you want. Potentially Experience Extractor could be of use here, as it can extract the data from collection in various ways.

Either way, you need to consider what unique visitors means to you. Option one would give you unique visitors per day, but would not be able to tell you how many were unique over an arbitrary time range. e.g. if you have 1.000 unique visitors per day for 10 days you have somewhere between 1.000 and 10.000 unique visitors in that time range, but that's difficult to answer without going back to examine every interaction again.

Upvotes: 3

Harry Ninh
Harry Ninh

Reputation: 16738

Martin is right. There is no way to extend the current Sitecore Analytics metrics.

I ended up create a custom Fact table to store the ContactId (retrieved from MongoDB API) and use Martin's option 2 to extend SPEAK to display report from the new Fact table.

Storing both ContactId and Date in one Fact table will allow us to use the built-in date filter.

Upvotes: 0

Related Questions