With Sitecore 8.x, there is no longer a cookie associated with the individual visit (though of course the visitor cookie, SC_GLOBAL_ANALYTICS_COOKIE is still there). How does xDB track individual visits? Is there a browser-stored entity that corresponds to the Interaction ID, or is this purely manged on the server side, i.e. requests coming from a specific visitor cookie are considered to be one interaction while the server session lasts?
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.
As you suspect; this is now session based. The principle works like this.
Every time a new session starts; 2 sessions are actually kicked off on the server.
- A Device Session
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
- A Contact Session
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.
Then it becomes a matter of identifying the user in a device session and mapping to a contact session. To do that, xDB relies on the user doing something to identify themselves. Usually this would be logging in, but could also be something like clicking an Email Campaign link. If a user does nothing to identify himself, the Device/Contact session linking is never done.
If the user is identified, xDB does a merge of the primary contact record for the user, and the corresponding contact session(s).