Offline tracking with the Sitecore Universal Tracker

Offline tracking with the Sitecore Universal Tracker

Sitecore Universal Tracker 1.0 was released along with Sitecore 9.1 on November 28th 2018. The best definition I found that fits what the Universal tracker is:

Sitecore Universal Tracker is an API first, a micro-service-based tracking service to track actions from mobile apps, IoT, AR, VR and other emerging channels.

Universal Tracking Vision

So Universal Tracker is:

A collection of services allowing the collection of interaction data as the interaction occurs on any device or channel.

How is Universal Tracker different than xConnect?

The following slide should say it all on how the Universal Tracker is different than xConnect:

How is Universal Tracker different than xConnect?

immutable: not capable of or susceptible to change

Authentication is the process of verifying who you are. When you log on to a PC with a user name and password you are authenticating.

Authorization is the process of verifying that you have access to something. Gaining access to a resource (e.g. directory on a hard disk) because the permissions configured on it allow you access is authorization.

xConnect is storing interactions that already happened. Universal Tracker is storing interactions live, each interaction can have multiple events. When the session closes either by choice or by timeout, the information is then processed and stored in an xConnect collection.

Interactions - Tracking Events

I will be posting an example of the Universal Tracker shortly!

Universal Tracker Process

The Universal Tracker is split into three parts, Collection service, Interaction Cache (SQL) and Processing service. Because they are split apart, its easy to deploy and to scale the Universal Tracker.

Universal Tracker
Universal Tracking
Basic Deployment

Universal Tracker Scaling

Universal Tracker is built to scale. Due to its architectural components, you can scale the Collection service or the Processing service or both. You could also scale to have multiple Universal Tracker services.

Scale Collection
Scale Processing
Full Scaled, Single DB
Full Scaled / Multiple UT Deployments

Sending Data

In the first release there are no C# or JS libraries available. However, there is a Xamarin SDK for you to play with to send client side interaction data to the Universal Tracker.

Send Data to UT
Processing Pipelines
PUT Interaction
PUT Event
POST end Interaction
Channel Management
Close an Interaction


The following slides were provided by Sitecore regarding performance. We plan on doing our own level of performance testing.

Performance: 10 DTU
Performance: 20 DTU

We are working on an end to end project which will test out the Azure IoT hub and also the Universal Tracker. Stay tuned for more blog posts.


Installing Sitecore Universal Tracker 1.x on Sitecore 9.1

If you have any questions or concerns, please get in touch with me. (@akshaysura13 on Twitter or on Slack).