Ever since its release, there has not been much information published about the Sitecore Universal Tracker. This post hopes to cover some of 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 built for Mobile, AR, VR, IoT and other non web based platforms. Many companies are making a push to have their own mobile applications and it's a perfect scenario to use UT to track their interactions with the mobile app. With the initial release of UT, Sitecore has released the Xamarin SDK which integrates UT and Xamarin.
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 temporary storage which is in a SQL Server database.
Q. What is the Processing Service? A. Processing service is implemented 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.
Q. Why use Universal Tracker over xConnect? A. Based on the documentation provided, xConnect is recording events that already happened, whereas the Universal Tracker collects events that 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 that 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.ProcessinChannelManagement\PipelinesConfig\channelTypes.json file manually.
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> <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 a 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 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 future releases. FXM (track non Sitecore sites ) and xConnect use the web tracker. 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 that 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).