Universal Tracker

Sitecore Universal Tracker Q & A

Ever since its release there has not been much information published about the Sitecore Universal Tracker. This post hope to cover some the Questions related to the Sitecore Universal Tracker Initial Release Version 1.0 which was released along with Sitecore 9.1 on November 28th 2018.

Please read through my previous blog posts:
Working with the Sitecore Universal Tracker Version 1
Offline tracking with the Sitecore Universal Tracker
Installing Sitecore Universal Tracker 1.x on Sitecore 9.1

Q. Which use cases should be suitable for the Sitecore Universal Tracker?
A. UT was build for Mobile, AR, VR, IoT and other non web based platforms. Many companies are making a push to have their own mobile applications and its a perfect scenario to use UT to track their interactions with the mobile app. With the initial release of UT, Sitecore have released the Xamarin SDK which integrates UT and Xamarin.
UT

Q. What is the Collection Service?
A. Collection service is implemented on Sitecore Host and is responsible for accepting Interactions and events. It is designed to be scalable and can record the interactions fast. It accepts the interactions in a json format. It pushes the information into a temporary storage which is in a SQL Server database.

Q. What is the Processing Service?
A. Processing service is implement on Sitecore Host and is responsible for processing and filtering interactions by channel. It pushes the processed interactions into xConnect. Release 1 does not have any filters out of the box.
Universal Tracker - Processing

Q. Why use Universal Tracker over xConnect?
A. Based on the documentation provided, xConnect is recording events which already happened, where as the Universal Tracker collects events which are happening right now. While it is true, technically by the time the interactions are processed and pushed to xConnect, the events already happened.
But there are several reasons for choosing to use the Universal Tracker over xConnect:
- UT is fast, scalable, reliable and capable of collecting and processing a huge amount of interactions. xConnect does not scale well and load is an issue.
- xConnect needs users to be authenticated using a key, in order to use it in your applications especially mobile, you would have to expose the key which is not secure.

Q. Does the UT processing service replace the current Sitecore XP Processing role?
A. UT processing service is separate from the regular Sitecore processing role. UT Processing service is responsible for processing interactions which come through the UT collection service only.

Q. Can I push interactions to different channels? If so, how do I do that?
A. Yes you can push interactions to different channels like Offline, Tradeshow, Store, Webinar, etc. Use the Marketing Control Panel to define the channels. UT does not work with the ref data service so we need to sync the channels we need from /Sitecore/system/Marketing Control Panel/Taxonomies/Channel to the \Sitecore.Tracking.Processing.Service\sitecore\Sitecore.Tracking.Processing.ChannelManagement\PipelinesConfig\channelTypes.json file manually.
Universal Tracker - Setup a Channel
Universal Tracker - Channel
Universal Tracker - Channel

Q. Which xConnect events does the Universal Tracker support?
A. Out of the box UT comes mapped with the following events. If you want to add more, you can extend the functionality.


	<?xml version="1.0" encoding="utf-8" ?>
	<Settings>
		<Sitecore.Tracking>
			<!-- Maps simple keys onto CLR types -->
			<TypeMappings>
				<event>Sitecore.XConnect.Event, Sitecore.XConnect</event>
				<goal>Sitecore.XConnect.Goal, Sitecore.XConnect</goal>
				<outcome>Sitecore.XConnect.Outcome, Sitecore.XConnect</outcome>
				<pageview>Sitecore.XConnect.Collection.Model.PageViewEvent, Sitecore.XConnect.Collection.Model</pageview>
				<campaign>Sitecore.XConnect.Collection.Model.CampaignEvent, Sitecore.XConnect.Collection.Model</campaign>
				<download>Sitecore.XConnect.Collection.Model.DownloadEvent, Sitecore.XConnect.Collection.Model</download>
				<search>Sitecore.XConnect.Collection.Model.SearchEvent, Sitecore.XConnect.Collection.Model</search>
			</TypeMappings>
		</Sitecore.Tracking>
	</Settings>
	

Q. Can the Universal Tracker personalize?
A. Version 1 of the Universal Tracker was focused on the collection and analytics processing but not capable of personalization. The product team hopes to provide personalization in the upcoming major release which would be capable of pushing personalization data and also record personalization related events. Currently, the data which gets pushed into xDB can be seen on a profile view of a contact. Since UT focuses on non Page View events, it would be great for us to see it similar to the google analytics view and have a separate reporting interface just for the Sitecore Universal Tracker.

Q. Can you track existing contacts via the Sitecore Universal Tracker?
A. Yes, you can track events for existing contacts as long as you specify the contact identifier that is used in xDB.

Q. Can I use UT to track page views?
A. Yes, you can use UT to track page view events and goals.

Q. Can you use UT in an existing mobile or non web app?
A. Absolutely, the calls to the UT collection service are rest calls. If your existing app can make rest calls, you can use UT.

Q. How difficult is it to scale UT?
A. Since UT is microservice architecture based module, you can spin up multiple collection services and processing services. All you need to make sure is that the configuration points to the right xConnect and the temporary cache SQL Server database.

Q. Are we locked into using Xamarin, or are there plans to release SDK's for iOS and Android?
A. Currently the Xamarin SDK is released with the version 1, the plan is to provide native platform SDK's to get more control of the mobile environment and its capabilities.

Q. What can you expect in the future releases of the Sitecore Universal Tracker?
A. For starters, bi-directional personalization and ability to replace current tracking with UT.
UT could potentially take out the load from xConnect while resolving the load and scaling issue you would face with xConnect.
UT could end up using some of the JSS capabilities in the future releases.
FXM (track non Sitecore sites ) and xConnect use the webtracker. The hope is to use the Universal Tracker to push the events to xConnect and FXM.

Q. Is the Sitecore Universal Tracker part of Sitecore 9.1 or is it a separate module?
A. The Sitecore Universal Tracker is a separate module which is meant to work on Sitecore 9.1.

Links:
Working with the Sitecore Universal Tracker Version 1
Installing Sitecore Universal Tracker 1.x on Sitecore 9.1
Offline tracking with the Sitecore Universal Tracker
Universal Tracker SDK
Sitecore.UniversalTracker.MobileSDK
Sitecore Universal Tracker Documentation

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