Session state overview
Session state plays an important role in Experience Platform (XP) for two reasons:
As contacts browse a website, data about their interaction is stored in session state until the end of the session, when it is committed to xConnect - this demands that session state management is robust and scalable.
It is possible for a single contact to access a website with two devices concurrently - XP must be able to handle sharing data across two active sessions within a cluster. In a scenario with two or more Content Delivery servers, this makes out-of-process session state management mandatory.
For information about choosing and configuring a session state provider, refer to Session State.
Session state types
During a session, Sitecore writes data to two session state stores:
Private session state contains information about contact visit information, such as pages viewed, goals converted, or campaigns triggered. Private session state is ‘private’ to the browser being used to access the website. If a contact accesses a website simultaneously from their desktop and mobile phone, each device will have its own private session state.
Shared session state contains information that is ‘shared’ across potentially multiple active sessions. This includes any contact information that has been loaded into the tracker at the start of the session.
Shared session state has a read-only copy of a contact’s data; contacts are not ‘locked’ whilst a session is ongoing. To update a contact with an active session, use the xConnect Client API.