Personalization across Multiple Sites with xDB – an Overview for Sitecore Marketers

Assuming both sites exist on a shared Sitecore instance, can you personalize SiteB based on recent behavior (goal conversion or pattern match) on SiteA?

Interactions can be made available for personalization across all sites managed in a single Sitecore instance. Sitecore captures data in one centralized Experience Database (“xDB”). A contact record in xDB exists for each visitor. Marketers can access contact records using the Experience Profile tool. With the proper contact identification and contact merging strategies in place, data spanning multiple visits, sites, and devices can be merged to enrich contact records. This allows marketers to leverage recent behavior across multiple sites.

This post is aimed at marketers and provides a basic functional overview of how this works under the hood in Sitecore. For a more technical deep dive, there are several blog posts aimed at developers across the web.

Anonymous User – Multiple Sessions

On a user’s first visit to your website, a cookie gets created with a unique ID that identifies the device and user. Information about the user and his actions are accumulated in a private session (built on standard ASP.NET session state). At the end of the user’s session (SessionEnd event), data gets flushed to xDB and an anonymous contact record gets created in the Experience Profile tool. It can take around 20 minutes from the end of a session for data flush to xDB. The cookie stored in the user’s browser contains a GUID used to tie multiple anonymous sessions together.

Contact Identification – From Anonymous to Known

Anonymous contacts can be identified as known contacts in xDB once they provide identifiable data. Common use cases for self-identification include: registration, login, and Sitecore form submission. It’s important to note that WFFM (web forms for marketers) previously had an identify contact save action, but the new Sitecore Forms tool requires you to create a custom submit action for your site. The contact record in Sitecore’s Experience Profile tool will maintain a timeline of interactions across future sessions on this device.

Contact Merging – Multiple Devices or Sites

When a known user identifies on another device, Sitecore can merge contact records by updating interactions for the recognized user. A frequent technique used for contact merging is an EXM (email experience manager) email link click. Tracking parameters are automatically appended to emails sent via EXM and when a user open’s the email on a new device Sitecore ties ties together their interaction history. Out of the box Sitecore’s tracking id (cookie) will be different for each domain, but it is shared across subdomains. In other words, a contact’s interaction history on sitea.example.com and siteb.example.com will share a record in the Experience Profile tool.

When a known contact returns to the site, key historical behavior is loaded into memory. Marketers can define personalization rules in their content management environment. You could, for instance, personalize the homepage hero based on a goal conversion during the current visit or during a recent visit. This works because kinds of data exist in session state:

  • Shared – key behavioral contact data (e.g,. recent campaigns, events,  goals, outcomes)
  • Private – interaction data collected during the current visit (e.g., pages visited and goals triggered)

With the right contact identification and merging strategy in place, marketers can configure a personalization condition on SiteB to trigger based on activity on SiteA. If the contact id matches a shared contact record, then marketers can personalize based behavior across devices.