Web Tracking

The tracker is responsible for tracking a contact’s activity on your website and submitting that data to xConnect at the end of the session. xConnect and the tracker are separate components that work together. The tracker records a contact’s activities in session, converts that data on session end, and submits it to xConnect using the xConnect Client API. The following steps describe this process in detail:

  1. Page views and events are collected by the tracker and stored in session. At this point, data is represented by tracker-specific classes such as Sitecore.Analytics.Tracking.CurrentInteraction. xConnect Contact and Interaction classes are not used by the tracker.

  2. On session end, tracker data is passed through the conversion pipeline. The conversion pipeline is made up of multiple processors and is responsible for converting tracker data into xConnect data in the following way:

    1. Conversion pipeline processors inspect the args.TrackerVisitData object (of type Sitecore.Analytics.Model.VisitData).

    2. Data from args.TrackerVisitData is converted into facets, properties, or events and added to args.XConnectInteraction or args.XConnectContact. Custom values are not converted by default - you must create a processor to do this work.

    3. The original args.TrackerVisitData disappears - if data is collected by the tracker but not converted at any point, it is lost forever.

    4. At the end of the pipeline, all relevant tracker data has been converted into a format that can be sent to xConnect.

  3. The contact and interaction are submitted to xConnect - they are saved in the xDB Collection database, indexed, and processed like any other contact and interaction.

  4. When the contact returns, data is loaded from xConnect at the start of the session.

See the following topics for more information about tracking known and anonymous contacts, and how to identify a contact in session:

Tracker model

The tracker uses its own model to represent contacts, interactions, and events. It does not use the xConnect model. On session end, data collected by the tracker is converted to a format that can be used by xConnect. For example, Sitecore.Analytics.Model.Entities.IContact is converted to Sitecore.XConnect.Contact.