xDB online visits, in most cases, map one-to-one to ASP.NET sessions. Generally, ASP.NET sessions are tracked in the browser using the cookie ASP.NET_SessionId
, and the actual visit state (including the InteractionId
) is kept in the session store you've configured in Sitecore.
The reason I said "in most cases" in the sentence above is because there are cases when xDB contacts and live sessions are merged. For example, if a person opens a Sitecore website on two devices at the same time and then authenticates on both (resulting in a call to Session.Identify()
), the two previously anonymous contacts, along with their currently running visits, will be merged together. Hence, multiple ASP.NET sessions may sometimes end up as a single interaction in xDB.