앰플리튜드는 유져의 세션을 어떻게 수집하고 정의하나요?
질문
앰플리튜드가 세션을 추적하는 방식과 정의는 무엇인가요?
답변
앰플리튜드는 session id를 활용하여 유저의 세션을 정의합니다.
이때 session id는 세션 별 부여되는 id로, epoch(unix timestamp) 이후 세션의 시작 시간(밀리 초)을 의미합니다.
세션 추적 방식
Amplitude SDK를 사용하는 경우 Amplitude SDK는 이벤트 수집과 동시에 세션을 자동으로 추적합니다.
반면 앰플리튜드의 HTTP V2 API를 사용해 서버 투 서버 방식으로 데이터를 전송하는 경우, 세션 추적을 위해선 session id를 설정하여 이벤트를 전송해야 합니다. (참고 가이드)
세션 측정 시간
앰플리튜드의 기본적인 세션 측정 timeout 시간은 모바일 5분, 웹 30분 이며, timeout 시간은 SDK 설정 또는 앰플리튜드 대시보드에서 커스텀하게 수정할 수 있습니다. 예를 들어, 앱이 Background로 전환된 후 5분 이상 어떠한 이벤트도 발생하지 않으면 세션은 종료되며, 5분 이내 전송된 이벤트는 동일 세션에 포함되어 동일한 session id가 부여됩니다.
세션 시작, 종료 이벤트
앰플리튜드는 기본적으로 세션 시작 이벤트, 세션 종료 이벤트를 전송하지 않습니다.
만약 세션 시작, 종료 이벤트를 전송하고자 한다면 SDK에서 해당 이벤트를 자동 수집하도록 하는 설정을 해주실 수 있습니다.
다만, 세션에 대한 추가 이벤트를 수집하시는 경우 이벤트 볼륨이 차감됩니다. 수집 여부에 대해 의사 결정 시 참고해주세요.
세션을 커스텀하게 정의하는 법
특정 조건으로 세션을 커스텀하게 정의할 수 있습니다. 자세한 내용은 여기를 확인하세요.