I would like to track user activity based on some of the details that they provided. Eg. internal sites that they have visited, number of logged in times, amount of time that they have spent of different sites. May I know how this can be done with the experience profile?
1 Answer
Sitecore Experience Profile allows you to monitor the behaviour of users that have interacted with your Sitecore website(s). All the marketing data associated with a user like visited pages, triggered goals, time spent on each page, total interaction duration etc. is being held in a Contact business entity and stored in Sitecore xDB. Contacts can be of two types - Anonymous and Known. Unlike the Anonymous Contacts that have no any registered identifiers the Known Contacts have registered identifiers such username, email or other unique Id.
If there is a requirement to extend the standard Contact model with specific data properties (for example, site specific user fields / properties) you can easily create a custom Facet - a Contact attribute, read more about how to create and set custom facets for contacts.
The Sitecore's Tracker is responsible for recording all contact’s activity during a web session, then on the session end event the captured analytical data is being converted into an xConnect interaction and submitted to xConnect through the xConnect Client API. Read more about tracking contacts here.
By default, if you do not configure any experience marketing functionality, you will only see general information about Contacts, such as the external keywords used and general session information. Read more here about how to preconfigure Sitecore for the Experience Profile. To extend the tracking functionality you can trigger the built-in events such as goals, page visits, outcomes etc. or create a custom event and capture custom data with the help of the Tracker and xConnect.