Assume you have a scenario with two different websites for US travel and Canada travel (“US.travel.com” and “CA.travel.com”) that have different home nodes in a shared Sitecore instance. Marketing Control Panel content such as goals and campaigns is shared as well.
By default in session personalization works for each individual site. Identifying and merging contacts at the end of the session allows for post session personalization (assuming the contacts have been identified) but does nothing to address the user triggering a goal on the US site and then navigating to the CA site. Out of the box, no personalization on the CA site would kick in based on the goal triggered on the US site until after session end.
It turns out that you can share an analytics session assuming that the sites in question share a domain and you have a shared session database:
- Configure shared session cookies based on a domain by adding “ <httpCookies domain=”.travel.com”/>” (with your domain name of choice of course) in the system.web section of the web.config
- Configure a shared session state database (instructions for 8.2 are here)
If you want to add some diagnostics to view this real time, you can access the Tracker.Current.Session.Interaction data. You will see it contains the same ContactId and InteractionId for both websites and the pages collection including page visits and goals triggered are in sync across both sites as well.
Voila – personalization now works for both the US and CA sites exactly the same as it normally does for a single site.