🔥 Issue 내용
7차 스프린트 사용자 추적 이벤트 5종을 이벤트 정의에 반영합니다. 신규 이벤트 4종을 추가하고 기존 booth_select에 탐색 출처 파라미터를 추가합니다.
이번 작업은 이벤트 케이스·이벤트명·파라미터 정의 및 매핑까지만 진행합니다. 이벤트 수집 호출부 연결은 별도 작업이며 이번 범위에 포함하지 않습니다. 아래 트리거와 발생 조건은 이후 연결 작업에서도 준수할 확정 정책입니다. 기존 검색 동작이나 다른 이벤트의 수집 정책은 변경하지 않습니다.
1. map_search_view
트리거: 지도 화면의 검색창 클릭 후 검색 모드로 정상 전환된 시점입니다.
- 사용자가 지도 화면의 검색창을 터치해 검색 모드에 진입하면 발생합니다.
- 검색 모드 안에서 검색창을 다시 터치하거나 포커스하는 경우 발생하지 않습니다.
- 검색 모드 종료 후 지도 화면에서 검색창을 다시 클릭해 재진입하면 다시 발생합니다.
- 단순 터치 횟수가 아닌 검색 모드 진입을 기록합니다. 검색 모드로 정상 진입하지 않았다면 발생하지 않습니다.
파라미터: 없음.
분석 목적: 검색 기능 진입 사용자 규모를 확인하고 map_view → map_search_view 기준 진입률을 분석합니다.
2. map_search_result
트리거: 검색 후보 목록의 최초 페이지 조회 응답이 정상 완료된 시점입니다.
- 검색어 입력 후 debounce 등을 거쳐 실제 요청과 응답이 이루어진 경우 기록합니다. 키 입력마다 발생시키지 않습니다.
- 결과가 있는 경우와 정상적으로 완료됐으나 결과가 없는 경우 모두 발생합니다.
- 최초 후보 페이지 조회만 포함하며 후보 선택 후 지도 POI 조회는 포함하지 않습니다.
- 추가 페이지 조회는
map_search_load_more에서 처리합니다.
- 서버 오류나 네트워크 오류를 결과 없음으로 기록하지 않습니다.
| 파라미터 |
타입 |
의미 및 값 |
query |
String |
실제 검색에 사용한 사용자 입력 검색어 원문. 예: 강남역, 성수동, 포토이즘 |
result_status |
String |
matched: 결과 1건 이상, unmatched: 정상 응답의 결과 0건 |
분석 목적: 주요 검색어, 결과를 제공하지 못한 검색의 비중, 현재 지원하지 못하는 검색 니즈를 확인합니다. 반복되는 지역명·브랜드명·오타·동음이의어 등을 검색 지원 범위 및 사전 관리 개선에 활용합니다.
주의: unmatched는 정상적인 빈 결과만 의미하며 기술적 실패는 포함하지 않습니다. query는 원문 그대로 기록합니다.
3. map_search_candidate_select
트리거: 사용자가 검색 후보 목록에서 선택 가능한 특정 후보를 직접 터치해 선택한 시점입니다.
- 단순 후보 노출에는 발생하지 않습니다.
- 실제로 선택 가능한 후보를 사용자가 선택한 경우만 포함합니다.
| 파라미터 |
타입 |
의미 및 값 |
query |
String |
선택한 후보 목록을 구하는 데 사용한 검색어 원문. 예: 강남, 성수, 포토이즘, 천왕역 |
candidate_type |
String |
district: 지역, subway_station: 지하철역, booth: 포토부스 지점 |
candidate_name |
String |
사용자가 선택한 후보의 서비스 명칭. 예: 강남구, 강남역, 포토이즘 강남역점 |
분석 목적: 많이 선택되는 후보 유형·후보명과 검색어별 선택 유형을 확인하여 검색 결과 구성 및 정책 개선에 활용합니다.
주의: candidate_type은 위 정의된 값만 사용합니다. candidate_rank, page는 현재 분석 목적에서 제외되어 추가하지 않습니다.
4. map_search_load_more
트리거: 검색 후보 목록의 추가 페이지 조회가 정상 완료된 시점입니다.
- 최초 후보 페이지 이후 2페이지 이상부터 기록합니다.
- 정상 완료된 추가 요청만 포함하며 실패 시 발생하지 않습니다.
- 동일 페이지의 중복 요청은 중복 집계하지 않습니다.
- 최초 1페이지 조회는
map_search_result에서 기록합니다.
| 파라미터 |
타입 |
의미 및 값 |
query |
String |
추가 조회 중인 검색의 검색어 원문. 예: 포토이즘 |
page |
Int |
추가 조회한 페이지 번호. 이벤트 값은 2부터 시작하며 예: 2, 3 |
page_result_count |
Int |
해당 페이지에 들어 있는 검색 후보 개수. 전체·누적 개수가 아니며 예: 20, 12 |
has_next_page |
Boolean |
현재 페이지 이후 추가 검색 결과 존재 여부. true, false |
분석 목적: 최초 검색 결과만으로 충분한지, 추가 조회 비중과 검색 탐색 깊이가 어느 정도인지 확인하여 정렬·노출 정책 개선에 활용합니다.
주의: 분석 이벤트의 1부터 시작하는 페이지 번호 정의를 서버 API 페이지 인덱스 계약 변경으로 해석하지 않습니다. 수집 호출부 연결 시 해당 계약과의 매핑을 확인합니다.
5. booth_select (기존 이벤트 변경)
트리거: 사용자가 지도에서 특정 포토부스를 선택한 시점입니다. 기존 이벤트 발생 조건은 그대로 유지합니다.
- 기존
brand_name, entry_point 파라미터는 유지하고 source만 추가합니다.
entry_point의 기존 map / bottom_sheet 의미는 변경하지 않습니다. 선택 UI와 탐색 출처는 별개입니다.
| 추가 파라미터 |
타입 |
의미 및 값 |
source |
String |
search: 검색 후보 선택 후 검색 결과가 지도에 적용된 상태에서 부스 선택. map: 검색 결과 상태가 해제된 일반 지도 탐색에서 부스 선택 |
분석 목적: 검색 후보 선택이 실제 부스 탐색으로 이어지는지 확인하고, 검색 이용자와 일반 지도 이용자의 부스 선택 행동을 비교합니다. 이후 map_route_click과 연결하여 검색 기능의 UX 기여도를 분석할 수 있습니다.
주의: 검색 모드에 진입했다는 사실만으로 search로 분류하지 않습니다. 선택 당시 검색 결과가 지도에 적용된 상태를 기준으로 합니다. 검색 결과 상태가 해제된 뒤에는 source == map입니다.
공통 적용 범위
- 문서의
[7차] 접두어나 설명용 괄호는 전송 이벤트명에 포함하지 않습니다.
- 확정된 문자열 값과 파라미터 타입을 이벤트 정의에 반영합니다. 공급자별로 다른 명칭을 만들지 않습니다.
- 이번에는 Feature 등의 수집 호출부, debounce·페이지네이션·화면 전환 동작을 변경하지 않습니다.
- 기존 이벤트 호출부의 호환성을 유지하되, 새
source 계약을 실제 수집 경로에 연결하는 것은 후속 작업에서 처리합니다.
✅ To-do
🔥 Issue 내용
7차 스프린트 사용자 추적 이벤트 5종을 이벤트 정의에 반영합니다. 신규 이벤트 4종을 추가하고 기존
booth_select에 탐색 출처 파라미터를 추가합니다.이번 작업은 이벤트 케이스·이벤트명·파라미터 정의 및 매핑까지만 진행합니다. 이벤트 수집 호출부 연결은 별도 작업이며 이번 범위에 포함하지 않습니다. 아래 트리거와 발생 조건은 이후 연결 작업에서도 준수할 확정 정책입니다. 기존 검색 동작이나 다른 이벤트의 수집 정책은 변경하지 않습니다.
1.
map_search_view트리거: 지도 화면의 검색창 클릭 후 검색 모드로 정상 전환된 시점입니다.
파라미터: 없음.
분석 목적: 검색 기능 진입 사용자 규모를 확인하고
map_view → map_search_view기준 진입률을 분석합니다.2.
map_search_result트리거: 검색 후보 목록의 최초 페이지 조회 응답이 정상 완료된 시점입니다.
map_search_load_more에서 처리합니다.query강남역,성수동,포토이즘result_statusmatched: 결과 1건 이상,unmatched: 정상 응답의 결과 0건분석 목적: 주요 검색어, 결과를 제공하지 못한 검색의 비중, 현재 지원하지 못하는 검색 니즈를 확인합니다. 반복되는 지역명·브랜드명·오타·동음이의어 등을 검색 지원 범위 및 사전 관리 개선에 활용합니다.
주의:
unmatched는 정상적인 빈 결과만 의미하며 기술적 실패는 포함하지 않습니다.query는 원문 그대로 기록합니다.3.
map_search_candidate_select트리거: 사용자가 검색 후보 목록에서 선택 가능한 특정 후보를 직접 터치해 선택한 시점입니다.
query강남,성수,포토이즘,천왕역candidate_typedistrict: 지역,subway_station: 지하철역,booth: 포토부스 지점candidate_name강남구,강남역,포토이즘 강남역점분석 목적: 많이 선택되는 후보 유형·후보명과 검색어별 선택 유형을 확인하여 검색 결과 구성 및 정책 개선에 활용합니다.
주의:
candidate_type은 위 정의된 값만 사용합니다.candidate_rank,page는 현재 분석 목적에서 제외되어 추가하지 않습니다.4.
map_search_load_more트리거: 검색 후보 목록의 추가 페이지 조회가 정상 완료된 시점입니다.
map_search_result에서 기록합니다.query포토이즘pagepage_result_counthas_next_pagetrue,false분석 목적: 최초 검색 결과만으로 충분한지, 추가 조회 비중과 검색 탐색 깊이가 어느 정도인지 확인하여 정렬·노출 정책 개선에 활용합니다.
주의: 분석 이벤트의 1부터 시작하는 페이지 번호 정의를 서버 API 페이지 인덱스 계약 변경으로 해석하지 않습니다. 수집 호출부 연결 시 해당 계약과의 매핑을 확인합니다.
5.
booth_select(기존 이벤트 변경)트리거: 사용자가 지도에서 특정 포토부스를 선택한 시점입니다. 기존 이벤트 발생 조건은 그대로 유지합니다.
brand_name,entry_point파라미터는 유지하고source만 추가합니다.entry_point의 기존map/bottom_sheet의미는 변경하지 않습니다. 선택 UI와 탐색 출처는 별개입니다.sourcesearch: 검색 후보 선택 후 검색 결과가 지도에 적용된 상태에서 부스 선택.map: 검색 결과 상태가 해제된 일반 지도 탐색에서 부스 선택분석 목적: 검색 후보 선택이 실제 부스 탐색으로 이어지는지 확인하고, 검색 이용자와 일반 지도 이용자의 부스 선택 행동을 비교합니다. 이후
map_route_click과 연결하여 검색 기능의 UX 기여도를 분석할 수 있습니다.주의: 검색 모드에 진입했다는 사실만으로
search로 분류하지 않습니다. 선택 당시 검색 결과가 지도에 적용된 상태를 기준으로 합니다. 검색 결과 상태가 해제된 뒤에는source == map입니다.공통 적용 범위
[7차]접두어나 설명용 괄호는 전송 이벤트명에 포함하지 않습니다.source계약을 실제 수집 경로에 연결하는 것은 후속 작업에서 처리합니다.✅ To-do
booth_select기존 파라미터 유지 및source정의 추가