For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
세션 일치
세션 리플레이는 재생을 Amplitude 데이터와 일치시켜 사용자 여정에 대한 완전한 뷰를 제공합니다. 세션 매칭은 장치 및 세션 정보를 세션 리플레이에서 Amplitude 세션으로 연결합니다.
세션 리플레이는 여러 세션 일치 옵션을 제공합니다. 기술적 제약 조건과 세션 정의에 가장 적합한 옵션을 선택하십시오.
세션 일치 옵션
Amplitude는 세션을 직접 매칭하거나, 시간을 기반으로 이벤트를 매칭하거나, Amplitude 세션 ID별로 매칭하는 옵션을 제공합니다.
Amplitude 세션 일치(권장)
프로젝트의 세션 정의에 따라 Amplitude 세션을 매칭하십시오. Amplitude 세션 일치는 이벤트 속성, 타임아웃 윈도우 또는 시작/종료 이벤트를 사용하여 정의한 세션을 포함하여 Amplitude 프로젝트 설정에서 세션을 구성하는 방법을 고려합니다.
기본 값인 session_id을 사용하는 경우 세션 리플레이는 추가 구성 없이 자동으로 작동합니다.
사용자 지정 세션 속성을 사용하는 경우 동일한 속성 값을 추출하여 전송하도록 세션 리플레이 SDK를 구성하십시오. 그런 다음 세션 리플레이는 프로젝트의 사용자 지정 세션 정의를 사용하여 세션을 매칭하며, 이는 리플레이 데이터와 분석 세션 대상 구간 가장 정확한 정렬을 제공합니다.
사용자 정의 세션 정의에 대한 요구 사항
최소 SDK 버전
- 브라우저 SDK 플러그인:
@amplitude/plugin-session-replay-browser버전 1.10.0 이상. - 브라우저 독립형 SDK:
@amplitude/session-replay-browser버전 1.17.0 이상. - iOS(플러그인 및 독립형): iOS 버전 0.11.2 이상용 세션 리플레이.
- Android(플러그인 및 독립형): Android 버전 0.26.4 이상용 세션 리플레이.
프로젝트 구성:
- _설정 > 프로젝트 > 세션 정의_에서 사용자 지정 세션 정의를 구성합니다.
- "<>속성에 따라 계산됨" 옵션을 사용하여 특정 속성별로 세션을 정의할 수 있습니다.
- 자세한 내용은 세션 추적을 참조하십시오.
제약조건:
- 세션 리플레이 ID의 형식은
<deviceId>/<sessionId>입니다. 세션 리플레이는 구분 기호로 사용되므로/또는 사용자 지정 세션 ID 값에는deviceId를 포함할 수 없습니다/. deviceId및 사용자 정의 세션 ID 모두에 허용되는 문자:a-z A-Z 0-9 _ - . | @ : =.- 추가 문자가 필요하면 지원팀에 문의하십시오.
사용자 지정 세션 정의를 위한 SDK 구성
다음 코드 예제는 Amplitude 프로젝트 설정에서 사용자 지정 세션 정의를 구성한 경우에만 적용됩니다.
브라우저 SDK 플러그인
Amplitude 이벤트에서 사용자 지정 세션 ID를 추출하는 메서드를 전달하십시오.
import * as amplitude from "@amplitude/analytics-browser";
import { sessionReplayPlugin } from "@amplitude/plugin-session-replay-browser";
const sessionReplayTracking = sessionReplayPlugin({
customSessionId: (event) => {
const props = event.event_properties;
if (!props) {
return;
}
const sessionId = props["your_custom_session_id_property"];
return sessionId;
},
});
amplitude.add(sessionReplayTracking);
amplitude.init(AMPLITUDE_API_KEY);
독립형 SDK
독립형 SDK는 사용자 지정 세션 ID와 타임스탬프 기반 세션 ID를 동일한 방식으로 처리합니다. 세션 ID를 독립형 SDK에 전달하고, 동일한 세션 ID를 프로젝트의 사용자 지정 세션 정의와 일치하는 이벤트 속성으로 Amplitude에 전송하십시오.
import * as sessionReplay from "@amplitude/session-replay-browser";
// Initialize Session Replay with session ID
sessionReplay.init(AMPLITUDE_API_KEY, {
customSessionId: (event) => {
const props = event.event_properties;
if (!props) {
return;
}
const sessionId = props["your_custom_session_id_property"];
return sessionId;
},
});
세션 ID 속성 이름이 프로젝트의 사용자 지정 세션 정의(설정 > 프로젝트 > 세션 정의)에서 구성한 속성과 일치하는지 확인하십시오.
모바일 SDK
iOS 및 Android SDK는 콜백 대신 문자열 세션 ID를 직접 허용합니다. 사용자 지정 세션이 변경될 때마다 값을 설정하고 세션을 정의하는 이벤트 속성과 동일한 값을 Amplitude로 전송하십시오:
- iOS: 독립형 SDK 또는 플러그인에서
customSessionId속성을 설정합니다. iOS의 사용자 지정 세션 ID를 참조하십시오. - Android: 독립형 SDK 또는 플러그인을
setCustomSessionId호출하십시오. Android의 사용자 지정 세션 ID를 참조하십시오.
시간 기반 이벤트 매칭
이벤트 활동에 따라 30분 또는 60분 단위의 시간 창을 사용하여 세션을 구성하십시오. 분석 파이프라인에 이벤트에 대한 세션 ID가 포함되어 있지 않은 경우(예: 이벤트 타임스탬프만 S3에 전송하는 자체 개발 파이프라인)에 시간 기반 이벤트 매칭을 사용하십시오.
시간 기반 매칭은 장치 ID 및 중복되는 시간 창을 기준으로 재생을 분석 이벤트에 연결합니다. 이는 실제 세션 매칭보다 약간 덜 정확하지만 여전히 신뢰할 수 있고 유용한 여정 뷰를 제공합니다.
세션 리플레이 SDK에는 여전히 세션 ID가 필요합니다.
독립형 세션 리플레이 SDK에는 재생 데이터를 세션과 연결하기 전에 sessionId가 필요합니다. 이 ID는 Amplitude가 리플레이를 분석 이벤트에 매칭하는 방법과는 별개입니다.
시간 기반 이벤트 매칭을 사용하면 전체 세션 리플레이를 sessionId프런트엔드에서 생성할 수 있습니다. 분석 세션 ID나 분석 파이프라인의 어떤 필드와도 일치할 필요가 없습니다.
60분 시간 기반 매칭에 맞추려면 현재 시간을 시간의 시작 부분으로 내림하고 해당 Unix 타임스탬프를 밀리초 단위로 SDK에 전달하십시오.
const HOUR_MS = 60 * 60 * 1000;
const sessionId = Date.now() - (Date.now() % HOUR_MS);
await sessionReplay.init(AMPLITUDE_API_KEY, {
deviceId: "<string>",
sessionId,
}).promise;
// Call setSessionId when the hour bucket changes
await sessionReplay.setSessionId(Date.now() - (Date.now() % HOUR_MS)).promise;
시간 기반 이벤트 매칭을 사용하는 경우 세션 리플레이sessionId는 재생 데이터를 위한 업로드 버킷입니다. 분석과 일치할 필요는 없지만 서버가 업로드를 수락하려면 이 값은 밀리초 단위의 유효한 유닉스 타임스탬프여야 합니다.
30분 일치 기간을 지정하려면 HOUR_MS대신 30 * 60 * 1000을 사용하십시오. 버킷 크기를 _조직 설정 > 세션 리플레이_에서 구성한 시간 창과 일치시켜야 합니다.
독립형 SDK 초기화에 대한 자세한 내용은 세션 리플레이 독립형 SDK로 이동하십시오.
세션 ID 일치(레거시)
session_id가 사용자 정의 세션 정의와 일치하지 않는 경우session_id에도 Amplitude를 기반으로 일치합니다. 세션 ID 일치는 이전 버전과의 호환성을 위해 존재하며 변경할 필요가 없습니다.
일치하는 옵션 선택
동일한 세션 ID를 Amplitude와 세션 리플레이 모두에 전송하는 한, 사용자 지정 세션 정의를 포함하여 가능할 때마다 Amplitude 세션을 일치시키십시오.
분석 파이프라인의 이벤트에 세션 ID가 포함되어 있지 않은 경우, 세션 리플레이 SDK에 세션 ID가 여전히 필요함에 설명된 대로 시간 기반 이벤트 매칭을 사용하고 세션 리플레이 SDK를 위한 프런트엔드 세션 ID를 생성하십시오.
세션 일치 구성
프로젝트 수준이 아닌 조직 수준에서 세션 일치를 구성하십시오. _조직 설정 > 세션 리플레이_에서 세션 일치 옵션을 구성하십시오. 자세한 내용은 세션 리플레이 및 히트맵 설정을 참조하십시오.
조직 수준의 구성 세션
일치는 조직의 모든 프로젝트에 적용됩니다. 이 설정은 프로젝트별이 아니라 _조직 설정_에서 구성하십시오.
세션 리플레이 SDK 구현에서 세션 매칭을 구성하기 위한 정확한 단계는 사용하는 SDK에 따라 다릅니다.
- 브라우저 SDK 플러그인: 구성 세부 정보는 세션 리플레이 브라우저 SDK 플러그인을 참조하십시오.
- 독립형 SDK: 구성 세부 정보는 세션 리플레이 독립형 SDK를 참조하십시오.
- iOS: 세션 리플레이 iOS 독립 실행형 SDK 또는 세션 리플레이 iOS 플러그인을 참조하십시오.
- Android: 세션 리플레이 Android 독립 실행형 SDK 또는 세션 리플레이 Android 플러그인을 참조하십시오.
사용자 지정 세션 ID를 사용할 때는 세션 리플레이 SDK가 Amplitude에서 사용하는 것과 동일한 세션 ID 값을 전송하는지 확인하세요. 이렇게 하면 세션이 올바르게 일치할 수 있습니다.
세션 일치 변경 사항은 신속하고 되돌릴 수 있습니다. 데이터 손실 없이 전체 시간에 일치 옵션을 변경할 수 있습니다.
이력 데이터
세션 일치 옵션을 변경해도 이력 데이터에는 영향을 주지 않습니다. 이러한 변경 사항은 Amplitude가 앞으로 리플레이를 매칭하고 보는 방식에 영향을 미칩니다.
자주 묻는 질문
세션 일치를 위해서는 재계측이 필요합니까?
일반적으로 아닙니다. 사용자 지정 세션을 사용하는 경우, 세션 리플레이 SDK가 Amplitude에서 이미 사용하고 있는 것과 동일한 세션 ID 값을 전송하는지 확인하세요.
시간 기반 일치의 절충안은 무엇입니까?
시간 기반 매칭은 세션 경계에서 약간 덜 정확하지만 여전히 사용자 여정에 대한 명확하고 실행 가능한 시각을 제공합니다.
나중에 일치 옵션을 변경할 수 있습니까?
예. 세션 일치를 신속하게 변경할 수 있으며 변경 내용을 완전히 되돌릴 수도 있습니다.
일치 옵션을 변경하면 기록 데이터에 영향을 미칩니까?
어떤 데이터도 손실되지 않습니다. 이러한 변경 사항은 Amplitude가 앞으로 리플레이를 매칭하고 보는 방식에 영향을 미칩니다.
Amplitude가 세션 ID 매칭 기능을 중단합니까?
아니요. Amplitude는 계속해서 세션 ID 매칭을 지원하지만, 대부분의 사용 사례에 대해 최신 옵션을 권장합니다.
이 내용이 도움이 되었나요?