Contact tracking

Last updated Monday, May 23, 2016 in Sitecore Experience Platform for Administrator, Developer

A contact is an entry in the Experience Database (xDB) that represents an individual who is currently interacting or who may potentially interact with your organization. It contains all the information you collect about an individual as they interact with your content. You can track contacts across all devices and channels that they use.

You can track the customer experience of a contact whether they are previously identified or unidentified in the system. You can consolidate all this information as a single contact, and then personalize the customer experience further based on the behavior profile of the contact and their interaction history.

Devices

A cookie is used to identify the device that a contact uses to interact with a website. In this way, you can identify the device if the contact returns using the same device. A session cookie identifies requests that belong to the same interaction.

Every device and interaction is then associated with a contact in the xDB. When there is no contact to link to a device then a new, unidentified, contact record is created so that each device used has a contact record associated with it. When the contact has been identified, the unidentified contact is merged with the identified contact.

Sessions and Interactions

A session consists of a sequence of page requests, or events triggered on a website using one or more devices that take place over a specific period. These activities are recorded as an interaction in the xDB.

There are two types of sessions:

  • Device sessions – correspond to a contact making an interaction using a device. A device session begins with the first page request but also captures other requests made during the same time period. In some browsers, closing the browser window ends the session and further actions will start a new one. In other browsers, closing the browser window has no effect, and it is possible to continue the device session until it times out (20 minutes by default). When a device session ends, all contact and the interaction data is submitted to the xDB.
  • Contact sessions – begins together with the device session. When a contact uses multiple devices at the same time the contact session will continue as a series of overlapping device sessions. Contact information collected in one device session is immediately made available in all other device sessions. The contact session ends when the last of the connected device sessions has ended and all the data associated with the contact is saved to the xDB.

During each session, the xDB maintains contact and interaction information and makes this data available to Sitecore modules to enable personalization and website customizations.

Picture 1

Contact information

During interactions the following contact information is maintained and made available for personalization:

  • Personal information – names, addresses, phone numbers, or email addresses from a CRM system or directly from forms on the website.
  • The most recent campaigns and goals triggered, venues visited, and outcomes achieved are stored in the Key Behavior Cache.
  • Contact Behavior Profile – a snapshot of contact behavior based on the pages they have visited.
  • Engagement automation states – the progress a contact has made in engagement plans. For example, as a result of EXM emails or campaigns and goals triggered.
  • Contact identifier - this identifier is used to identify the contact across multiple devices.
  • Custom contact facets and extensions that store extra information in the xDB.
  • Attachments that store extra information in the contact session without storing it in the xDB.

When a contact leaves the website, all interaction and contact information is saved to the xDB.

Identifying and merging contacts

All new contacts that interact with a website start out as unidentified contacts because the only information that has been collected at that point relates to the browser they are using. This is not enough to positively identify a contact across multiple devices.

Certain actions help to identify a contact, such as:

  • Clicking a link in an email – this action connects the contact record to the owner of the email address.
  • Submitting a security login form – this action connects the contact record to a password-protected user name. It makes it possible to repeatedly identify the contact regardless of the device they use to make the interaction.

When xDB identifies a contact, it merges the unidentified contact with the identified contact and the other contact record merely becomes a reference to the first one.

Merging contact data includes:

  • Information from previous interactions.
  • Personal data (stored in contact facets).
  • Details of contact participation in engagement plans.

When a contact has been identified on multiple devices, those devices and their interactions are added to the same contact record.

Robot detection

The aim of robot detection is to filter interactions from automated browsers to avoid polluting the xDB with unwanted data. Robot detection classifies a contact based on IP address, Geo IP information, and user agent.

Robot detection relies on two heuristics to identify robots:

  • A browser that does not carry cookies between requests.
  • A browser that does not support JavaScript or does not raise any mouse or touch events.