- Starting a new session on pageload - Session update - Starting a new session on navigation - Updating session when error occurs.