믹스패널에서 특정 이벤트에서 유저의 체류시간을 측정하고싶은데 로그을 어떻게 설계해야될까?
Hi Kiho H., Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> 👋
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
믹스패널에서 “특정 이벤트 기준으로 유저가 얼마나 머물렀는지”를 보고 싶다면, 크게 두 가지 방향이 있습니다.
1. 세션(Session) 기능을 활용하는 방법 (추천)
“페이지/스크린 체류시간”처럼 제품 사용 세션 단위로 보고 싶다면, 별도 로그 설계 없이 Mixpanel의 세션 기능을 쓰는 것이 가장 간단합니다.
- Mixpanel은 들어오는 이벤트들을 기반으로 자동으로 Session Start / Session End라는 가상 이벤트를 생성합니다.[Sessions 개요] - 이 세션 이벤트에는 자동으로 Session Duration (Seconds) 라는 속성이 붙는데, 이는 해당 세션의 시작과 끝 사이 시간을 초 단위로 나타냅니다.[세션 속성; 예약 속성] - 이 값을 평균/합/퍼센타일 등으로 집계해서 “유저가 세션당 얼마나 머무는지”를 분석할 수 있습니다.[세션 사용 사례; FAQ 평균 세션 길이]
세션 정의 방식은 3가지 중 하나를 프로젝트 설정에서 고를 수 있습니다.[Sessions 개요]
1. Timeout 기반 (기본값) - 아무 이벤트나 발생하면 세션 시작, - 일정 시간(기본 30분) 동안 이벤트가 없으면 세션 종료.[세션 타임아웃]
2. Event 기반
- 예: Login을 Session Start, Logout을 Session End로 지정.[Event 기반 세션]
3. Property 기반
- 예: 이벤트에 session_id 속성을 넣고, 같은 session_id를 가진 이벤트들을 하나의 세션으로 간주.[Property 기반 세션]
세션으로 체류시간을 보고 싶을 때의 로그 설계 포인트
2. 특정 액션 간의 소요시간을 직접 측정하는 방법
“이미지 업로드에 걸린 시간”, “결제 완료까지 걸린 시간”처럼 특정 액션의 duration을 보고 싶다면, SDK의 타이밍 이벤트 기능을 쓰는 방식으로 로그를 설계할 수 있습니다.
예: JavaScript SDK
- 시작 시점에 .time_event('Image Upload') 호출
- 끝나는 시점에 .track('Image Upload') 호출
- 그러면 Mixpanel이 자동으로 Duration 이라는 이벤트 속성에 걸린 시간을 기록합니다.[JS 타이밍 이벤트]
``` js // 시작 mixpanel.time_event('Image Upload');
// ... 업로드 진행 ...
// 완료 시점 mixpanel.track('Image Upload'); // "Duration" 속성에 소요시간(초) 기록
예: Android / Unity SDK
Android: .timeEvent("Image Upload") → 나중에 track("Image Upload") 호출 시 Duration 속성 자동 기록.[Android 타이밍 이벤트]
Unity: Mixpanel.StartTimedEvent("Image Upload") → 나중에 Mixpanel.Track("Image Upload") 호출 시 Duration 속성 자동 기록.[Unity 타이밍 이벤트]
3. 어떤 방식을 선택할지
- **“앱/웹에 접속해서 머무른 시간”**이 궁금하다 → 세션 기능을 켜고, 페이지/스크린 이벤트만 잘 쏘면 됩니다. (Session Duration 사용)
- **“특정 기능/플로우에 걸린 시간”**이 궁금하다
→ 해당 기능 시작/종료 지점에 SDK의 타이밍 이벤트(time_event / timeEvent / StartTimedEvent)를 넣고,
자동으로 붙는 Duration 속성을 분석에 사용합니다.
추가로, “어떤 이벤트를 어떻게 설계해야 할지” 전반적인 전략이 필요하다면, Mixpanel의 데이터 모델(이벤트/프로퍼티/유저 프로필)을 먼저 정의하고 그에 맞춰 트래킹 플랜을 만드는 것을 권장합니다.[트래킹 전략]
원하시면, 실제로 쓰고 있는 이벤트 이름/플로우를 알려주시면 그에 맞춰 더 구체적인 설계 예시를 들어 드리겠습니다.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
다른 회사들이 “체류시간/세션” 관련해서 Mixpanel을 어떻게 쓰는지는, 제공된 자료 기준으로는 구체적인 이벤트 설계 예시까지 나와 있는 경우는 많지 않습니다. 다만, 세션/체류시간 데이터를 어떤 식으로 활용하는지는 몇 가지 패턴을 볼 수 있습니다.
1. 웹/문서 사이트에서 세션 기반 체류시간 분석
Mixpanel 자체가 자사 문서 사이트에 세션 기능을 적용해서 페이지 체류시간과 세션 특성을 분석하는 예시를 공개하고 있습니다.[세션 사용 사례]
- 자동 페이지뷰 트래킹
- JS SDK나 Segment 같은 CDP로 각 페이지 방문 시 Page View 이벤트를 자동 수집합니다.[세션 사용 사례]
- 세션(Duration) 분석
- Mixpanel이 생성하는 Session Start / Session End 가상 이벤트의
Session Duration (seconds) 속성을 이용해:
- 평균 세션 길이
- 세션 길이 분포(예: 1분 미만 vs 5분 이상)
를 보고, 체류시간이 긴 유저 그룹을 따로 열람해 “어떤 페이지를 많이 봤는지, 어디서 왔는지”를 확인합니다.[세션 속성; 세션 사용 사례]
이 패턴은 일반적인 콘텐츠/문서/마케팅 사이트에서 그대로 따라 쓰는 방식입니다.
2. 마케팅/웹 퍼널에서 “세션당 행동”을 보는 방식
여러 회사들이 마케팅 → 웹 → 제품까지의 풀 퍼널에서 세션을 단위로 성과를 보는 패턴도 있습니다.
- 세션 이벤트에 자동으로 붙는 Session Duration, Session Event Count, Session Start Event Name 등을 이용해:
- “세션당 평균 페이지 수”
- “어떤 랜딩 페이지에서 시작한 세션이 전환(회원가입/구매)까지 이어지는지”
를 Funnels/Insights에서 분석합니다.[세션 속성; 세션 리포트 활용]
- 예: E-Commerce 데모 데이터 기준으로,
“세션 중 몇 %가 Checkout 시작까지 가는지”를 Funnels에서 세션 단위로 계산하는 예시가 있습니다.[세션 사용 사례]
이런 식으로 “유저”가 아니라 “세션”을 단위로 전환율을 보는 것이 다른 회사들도 많이 쓰는 패턴입니다.
3. Fraud / Bot 탐지에서 세션 길이 활용
부정행위/봇 트래픽을 보는 회사들은 세션 길이와 세션당 이벤트 수를 활용해 이상 행동을 찾습니다.[Fraud 추적 사례]
- 예: - 세션 길이가 5초 미만이거나 - 세션당 이벤트 수가 비정상적으로 많은 경우 를 기준으로 코호트를 만들어, 분석에서 제외하거나 별도로 모니터링합니다.[Fraud 추적 사례]
즉, 체류시간이 너무 짧거나(혹은 너무 길거나) 비정상적인 세션을 “저의가 낮은 유저/봇”으로 필터링하는 용도로도 많이 씁니다.
4. 세션 리플레이와 함께 “왜 오래/짧게 머무는지” 보는 방식
일부 고객들은 Session Replay와 세션 데이터를 같이 써서, “체류시간이 긴/짧은 세션에서 실제로 무슨 일이 일어났는지”를 직접 영상처럼 확인합니다.[Session Replay 소개; Mixpanel이 Session Replay를 쓰는 법]
- 예: - 퍼널에서 특정 스텝에서 이탈이 많고, 그 스텝에서 세션이 짧게 끝나는 경우 → 해당 세션들의 리플레이를 열어 실제 UX 문제/버그를 확인. - 반대로, 특정 페이지에서 세션이 유난히 길고 전환도 잘 되는 경우 → 그 페이지의 UX/콘텐츠를 다른 곳에 확장.
5. 실제 고객 사례에서의 활용 방향 (정량 + 정성)
제공된 고객 스토리들(예: Mobius Materials, Employment Hero 등)은 체류시간 자체보다는 퍼널/이탈/버그 탐지에 초점을 두고 있지만, 공통적으로:
- 퍼널에서 이탈 구간을 찾고[Mobius 사례] - 그 구간의 세션/리플레이를 보면서 “왜 오래 머무르다가 나가는지, 어디서 막히는지”를 파악해 UX를 개선하는 식으로 사용합니다.[Session Replay 소개]
정리하면
다른 회사들이 Mixpanel에서 체류시간/세션을 쓰는 대표적인 패턴은:
1. 문서/웹사이트: 세션 Duration으로 평균 체류시간, 분포, 랜딩 페이지별 세션 특성 분석. 2. 마케팅/퍼널: “세션당 전환율”, “세션당 페이지 수” 등 세션 단위 KPI를 보고, 전환이 잘 되는 세션 특성을 찾음. 3. Fraud/봇 필터링: 너무 짧거나 비정상적인 세션을 코호트로 만들어 분석에서 제외. 4. Session Replay 연계: 체류시간/이탈이 특이한 세션을 리플레이로 직접 보며 UX/버그를 개선.
현재 서비스 구조(웹/앱 종류, 보고 싶은 플로우)가 어떤지 알려주시면, 위 패턴 중 어떤 걸 어떻게 적용하면 좋을지 더 구체적으로 연결해서 설명해 드릴 수 있습니다.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
지금처럼 view, click 등 모든 이벤트를 이미 잘 기록하고 있다면, Mixpanel이 자동으로 세션을 계산하기에 아주 좋은 상태입니다. 이 상황에서 “체류시간/세션”을 보려면, 별도 커스텀 duration 계산보다는 Mixpanel 세션 기능을 적극 활용하는 쪽이 유리합니다.[Sessions 개요]
아래 조합을 추천드립니다.
1. 기본: Timeout 기반 세션으로 “전체 체류시간” 보기 (강력 추천)
현재처럼 다양한 이벤트가 계속 들어오면, Timeout 기반 세션(기본 설정) 이 가장 자연스럽습니다.[세션 타임아웃]
- 세션 시작: 유저가 아무 이벤트나 수행할 때
- 세션 종료: 설정한 시간(기본 30분) 동안 이벤트가 없을 때
- Mixpanel이 자동으로:
- Session Start / Session End 가상 이벤트 생성
- Session Duration (Seconds) / Session Event Count 등 속성 부여[세션 속성; 예약 속성]
장점
- 이미 view/click 등 이벤트가 많기 때문에, 별도 구현 없이 “유저가 앱/웹에 머문 시간” 을 바로 볼 수 있음. - Insights/Funnels/Flows에서: - 평균 세션 길이, 세션 길이 분포 - 세션당 평균 페이지 수(= Page View 수 / Session Start 수) - 어떤 페이지/이벤트에서 시작한 세션이 전환으로 이어지는지 등을 쉽게 분석 가능[세션 사용 사례; 세션 리포트 활용]
추천 세팅
1. Project Settings → Sessions에서 Timeout 기반 유지 (또는 설정 확인).[Sessions 개요] 2. Timeout 값은: - 일반 웹/콘텐츠 서비스: 30분 근처 - 짧은 사용 패턴(게임/툴 등): 10~20분 정도로 줄이는 것도 고려 (정확한 값은 Funnels의 Time to Convert 차트로 추정 가능)[세션 타임아웃]
2. 특정 플로우(예: 업로드, 결제 등)는 “타이밍 이벤트”로 별도 측정
전체 세션 체류시간과 별개로, 특정 기능/플로우에 걸린 시간을 보고 싶다면 SDK의 타이밍 기능을 같이 쓰는 게 좋습니다.
- JS: mixpanel.time_event('Image Upload') → 완료 시 mixpanel.track('Image Upload') 호출 시 Duration 속성 자동 기록[JS 타이밍 이벤트]
- Android: timeEvent("Image Upload") → 나중에 track("Image Upload")[Android 타이밍 이벤트]
- Unity: StartTimedEvent("Image Upload") → 나중에 Track("Image Upload")[Unity 타이밍 이벤트]
언제 유리한가
- “결제 플로우에 평균 몇 초 걸리는지” - “회원가입 폼 작성 시간” - “특정 화면에서 버튼 클릭까지 걸린 시간” 등 명확한 시작/끝이 있는 액션에 적합.
3. 이벤트/세션 기준 선택 가이드 (현재 상황 기준)
이미 view/click 등 이벤트가 풍부하므로:
1. 제품 전체 사용 시간/방문 품질을 보고 싶다 → Timeout 기반 세션 + Session Duration 사용 (추가 구현 거의 불필요).
2. 특정 기능/플로우의 소요시간이 중요하다 → 해당 플로우에만 타이밍 이벤트(time_event / timeEvent / StartTimedEvent) 추가.
3. 세션 정의를 더 엄격하게 하고 싶다 (예: 로그인~로그아웃만 세션으로 보고 싶음)
→ Event 기반 세션으로 Login을 Session Start, Logout을 Session End로 지정하는 것도 가능[Event 기반 세션]
다만, 이미 view/click이 많다면 Timeout 기반 + 필요 시 Event 기반으로 전환하는 식으로 실험해보는 걸 권장합니다. 세션 정의는 나중에 바꿔도 과거 데이터에 재적용됩니다.[Sessions 개요]
정리하면, 지금 상태에서는 “세션(Timeout 기반) + 일부 핵심 플로우에만 타이밍 이벤트” 조합이 가장 효율적입니다.
서비스 타입(웹/앱, 콘텐츠/커머스/툴 등)과 특히 중요하게 보고 싶은 플로우(예: 가입, 결제, 특정 기능)가 무엇인지 알려주시면, - 어떤 이벤트를 Session Start/End 후보로 볼지 - 어떤 플로우에 타이밍 이벤트를 넣을지 를 더 구체적으로 추천해 드리겠습니다.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
한 유저당 평균 체류시간은 세션(Session) + Aggregate Property per User 조합으로 계산하는 것이 정석입니다.
1단계: 세션 설정 확인
먼저 프로젝트에서 세션이 계산되고 있어야 합니다.
- Mixpanel은 이벤트를 기반으로 자동으로 Session Start / Session End 가상 이벤트를 만들고,
여기에 Session Duration (Seconds) 라는 속성을 붙입니다.[Sessions 개요; 세션 속성]
이 값이 “한 세션 동안 머문 시간(초)”입니다.
2단계: “유저당 총 세션 시간” 계산 (Aggregate Property per User)
1. Insights 리포트로 이동합니다.
2. 이벤트로 Session Start (또는 Session End)를 선택합니다.
3. 상단 측정값 드롭다운에서:
- Aggregate Property per User 선택[Aggregate per User]
- Property로 Session Duration (Seconds) 선택
- Aggregation은 Sum 선택
→ 이렇게 하면 “각 유저별로 선택 기간 동안 세션 길이(초)를 모두 더한 값”이 계산됩니다.[세션 FAQ 평균 per user]
이 시점의 값은 “유저별 총 체류시간(초)”입니다.
3단계: “한 유저당 평균 체류시간”으로 집계
위에서 만든 측정값은 “유저별 값”이므로, 이를 다시 전체적으로 집계해야 합니다.
- Aggregate Property per User는 2단계 집계를 지원합니다. → 첫 단계에서 유저별 합을 구한 뒤, 두 번째 단계에서 Average를 선택하면 “한 유저당 평균 세션 시간(초)” 이 됩니다.[Measurements 설명; Aggregate per User 옵션]
원하면 Formula에서 / 60을 해서 분 단위로 바꿀 수 있습니다.[세션 FAQ 평균 세션 길이]
요약:
1. 세션 기능 활성화 → Session Duration (Seconds) 사용.
2. Insights에서 Session Start 이벤트 + Aggregate Property per User → Sum(Session Duration).
3. 같은 측정값에 Average 집계를 적용 → “한 유저당 평균 체류시간” 완성.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
