시스템 속성과 시스템 필드
이 섹션에서는 AE의 모든 시스템 속성과 시스템 필드를 소개합니다. 플랫폼별 시스템 속성은 다음을 참고하십시오:
시스템 속성은 AE가 생성하거나 가져오는 속성입니다. 모든 시스템 속성은 "#"으로 시작하며 모두 이벤트 속성이고, 이 속성들의 표시 이름과 의미는 이미 정해져 있습니다. 시스템 필드는 데이터의 구조 필드(예: #account_id, #event_time 등) 또는 데이터베이스에서 특수한 용도로 쓰이는 필드로, 분석 모델에서는 대개 사용되지 않거나 간접적으로만 사용됩니다.
아래에 나열된 시스템 속성을 제외하고 "#"으로 시작하는 모든 속성은 잘못된 필드로 간주되어 적재되지 않습니다. 따라서 커스텀 속성 이름을 "#"으로 시작하도록 설정하지 않는 것을 권장합니다. 또한 모든 시스템 필드는 데이터 연동 시 이벤트 속성이나 유저 속성으로 전달할 수 없습니다.
참고로 #ip를 제외한 모든 시스템 속성은 직접 사용하지 않는 것을 권장합니다. 클라이언트 SDK와 다른 전송 방식을 함께 사용하면서 여러 플랫폼 데이터의 속성을 일치시켜야 하는 경우에만 ThinkingAI 담당자의 안내에 따라 설정하십시오. 전송하는 데이터에서 시스템 속성의 속성 타입이 표와 일치하는지 반드시 확인하십시오. 타입이 일치하지 않으면 해당 속성의 값은 폐기됩니다(즉, 값이 null이 됩니다).
- 시스템 속성
| 속성 이름 | 한국어 이름 | 속성 타입 | 설명 |
|---|---|---|---|
| #ip | 클라이언트 IP | 텍스트 | 유저의 IP 주소로, AE는 이를 기반으로 유저의 지리적 위치 정보를 가져옵니다 |
| #country | 국가/지역 | 텍스트 | 유저가 있는 국가 또는 지역으로, IP 주소를 기반으로 생성됩니다 |
#country_code | 국가/지역 코드 | 텍스트 | 유저가 있는 국가 또는 지역의 국가/지역 코드(ISO 3166-1 alpha-2, 즉 대문자 영문 2자리)로, IP 주소를 기반으로 생성됩니다 |
| #province | 성(Province) | 텍스트 | 유저가 있는 성/주로, IP 주소를 기반으로 생성됩니다 |
| #city | 도시 | 텍스트 | 유저가 있는 도시로, IP 주소를 기반으로 생성됩니다 |
| #os_version | OS 버전 | 텍스트 | iOS 11.2.2, Android 8.0.0 등 |
| #manufacturer | 제조사 | 텍스트 | 유저 디바이스의 제조사(예: Apple, vivo 등) |
| #os | 운영 체제 | 텍스트 | 예: Android, iOS 등 |
| #device_id | 디바이스 ID | 텍스트 | 유저의 디바이스 ID. iOS는 유저의 IDFV 또는 UUID, Android는 androidID를 사용 |
| #screen_height | 화면 높이 | 숫자 | 유저 디바이스의 화면 높이(예: 1920 등) |
| #screen_width | 화면 너비 | 숫자 | 유저 디바이스의 화면 너비(예: 1080 등) |
| #device_model | 디바이스 모델 | 텍스트 | 유저 디바이스의 모델(예: iPhone 8 등) |
| #device_type | 디바이스 타입 | 텍스트 | 유저 디바이스의 타입(예: iPad, iPhone 등) |
| #app_version | 앱 버전 | 텍스트 | APP의 버전 |
| #bundle_id | 앱 패키지 이름 | 텍스트 | APP 패키지명 또는 프로세스명 |
| #lib | SDK 타입 | 텍스트 | 연동한 SDK의 타입(예: Android, iOS 등) |
| #lib_version | SDK 버전 | 텍스트 | 연동한 SDK의 버전 |
| #network_type | 네트워크 타입 | 텍스트 | 이벤트 발생 시의 네트워크 상태(예: WIFI, 3G, 4G 등) |
| #carrier | 통신사 | 텍스트 | 유저 디바이스의 네트워크 통신사(예: China Mobile, China Telecom 등) |
| #browser | 브라우저 | 텍스트 | 유저가 사용하는 브라우저 유형(예: Chrome, Firefox 등) |
| #browser_version | 브라우저 버전 | 텍스트 | 유저가 사용하는 브라우저의 버전(예: Chrome 61.0, Firefox 57.0 등) |
| #duration | 이벤트 시간 | 숫자 | 타이머 기능으로 기록한 시간(단위: 초) |
| #url | 페이지 주소 | 텍스트 | 자동 수집 이벤트에서 사용하며, 현재 페이지(비즈니스에서 정의한 페이지가 아님)의 주소입니다. Web 페이지에서는 location.href 값을 사용하고, Android / iOS 플랫폼에서는 커스텀 페이지 경로를 사용합니다 |
| #url_path | 페이지 경로 | 텍스트 | 자동 수집 이벤트에서 사용하며, 현재 페이지(비즈니스에서 정의한 페이지가 아님)의 경로입니다. 값은 location.pathname입니다 |
#referrer | 이전 주소 | 텍스트 | 자동 수집 이벤트에서 사용하며, 이동 전 페이지(비즈니스에서 정의한 페이지가 아님)의 주소입니다. Web 페이지에서는 document.referrer 값을 사용하고, Android / iOS 플랫폼에서는 커스텀 이전 페이지 경로를 사용합니다 |
| #referrer_host | 이전 도메인 | 텍스트 | 자동 수집 이벤트에서 사용하며, 이동 전 페이지(비즈니스에서 정의한 페이지가 아님)의 도메인입니다. 값은 referrer의 host입니다 |
| #title | 페이지 제목 | 텍스트 | 자동 수집 이벤트에서 사용하며, 현재 페이지(비즈니스에서 정의한 페이지가 아님)의 제목입니다. Web 페이지에서는 document.title 값을 사용합니다. Android 플랫폼에서는 Activity의 제목, 즉 Activity의 title 속성 값을 사용합니다. iOS 플랫폼에서는 View Controller의 제목, 즉 controller.navigationItem.title 속성 값을 사용합니다 |
| #screen_name | 페이지 이름 | 텍스트 | 자동 수집 이벤트에서 사용하며, 페이지(비즈니스에서 정의한 페이지가 아님)의 이름입니다. Android 플랫폼에서는 Activity의 패키지명.클래스명을 사용하고, iOS 플랫폼에서는 View Controller의 클래스명을 사용합니다 |
| #element_id | 요소 ID | 텍스트 | 자동 수집 이벤트에서 사용하며, 컨트롤의 ID입니다 |
| #element_type | 요소 유형 | 텍스트 | 자동 수집 이벤트에서 사용하며, 컨트롤의 타입입니다 |
| #resume_from_background | 백그라운드에서 깨웠는지 여부 | 불리언 | 자동 수집 이벤트에서 사용하며, 앱이 백그라운드에서 깨워졌는지 여부입니다(불리언 타입) |
| #element_selector | 요소 선택자 | 텍스트 | 자동 수집 이벤트에서 사용하며, 컨트롤의 viewPath입니다 |
| #element_position | 요소 위치 | 텍스트 | 자동 수집 이벤트에서 사용하며, 컨트롤의 위치 정보입니다 |
| #element_content | 요소 내용 | 텍스트 | 자동 수집 이벤트에서 사용하며, 컨트롤에 표시된 내용입니다 |
| #scene | 시나리오 값 | 숫자 | 위챗 미니 프로그램 시작 시 전달되는 장면 값 |
| #mp_platform | 미니 프로그램 플랫폼 | 텍스트 | 앱이 실행되는 플랫폼을 식별합니다 |
| #app_crashed_reason | 예외 정보 | 텍스트 | 자동 수집 이벤트에서 사용하며, APP 크래시의 스택 정보를 기록합니다 |
| #zone_offset | 시간대 오프셋 | 숫자 | 데이터 시간과 UTC 시간의 차이(시간 단위) |
#system_language | 시스템 기본 언어 | 텍스트 | 유저 디바이스의 시스템 언어(ISO 639-1, 즉 영문 소문자 2자리), 예: zh, en 등 |
| #install_time | App 설치 시간 | 시간 | 유저가 앱을 설치한 시간으로, 값은 시스템에서 가져옵니다 |
| #simulator | 에뮬레이터 여부 | 숫자 | 디바이스가 에뮬레이터인지 여부 true/false |
| #ram | 메모리(GB) | 텍스트 | 유저 디바이스의 현재 남은 메모리와 전체 메모리, 단위 GB, 예: 1.4/2.4 |
| #disk | 디스크(GB) | 텍스트 | 유저 디바이스의 현재 남은 저장 공간과 전체 저장 공간, 단위 GB, 예: 30/200 |
| #fps | FPS | 숫자 | 유저 디바이스의 현재 초당 프레임 수(예: 60) |
| #background_duration | 백그라운드 체류 시간 | 숫자 | 두 번의 start 이벤트 사이에 앱이 백그라운드에 있었던 시간(단위: 초) |
| #start_reason | 시작 사유 | 텍스트 | 앱이 launcher 이외의 방식(예: deeplink 방식 또는 다른 앱의 startActivity)으로 시작된 경우에만 존재하는 속성입니다. 데이터 예시: "#start_reason":"{"url":"thinkingdata:\/\/","data":""}" |
| #ua | 유저의 현재 에이전트 정보 | 텍스트 | 고객이 사용하는 운영 체제 및 버전, CPU 유형, 브라우저 및 버전, 브라우저 렌더링 엔진, 브라우저 언어, 브라우저 플러그인 등을 식별할 수 있습니다. |
#utm | 광고 캠페인 소스 속성 | 텍스트 | 유저 유입 광고 정보로, 광고 소스, 광고 매체 등의 정보를 포함합니다 |
- 이벤트 테이블의 시스템 필드
| 필드 이름 | 한국어 이름 | 속성 타입 | 설명 |
|---|---|---|---|
| $part_event | 이벤트 파티션 필드 | 텍스트 | 이벤트 파티션 필드로, #event_name, 즉 이벤트 이름에서 가져옵니다 |
| $part_date | 날짜 파티션 필드 | 시간 | 날짜 파티션 필드로, #event_time, 즉 이벤트가 발생한 날짜에서 가져옵니다 |
| #app_id | 프로젝트 ID | 텍스트 | 이벤트가 속한 프로젝트 ID |
| #user_id | 유저 고유 ID | 숫자 | 시스템에서 유저를 고유하게 식별하는 유저 식별자 |
| #account_id | 계정 ID | 텍스트 | 계정 ID로, 데이터의 #account_id에 해당합니다 |
| #distinct_id | 게스트 ID | 텍스트 | 게스트 ID로, 데이터의 #distinct_id에 해당합니다 |
| #event_name | 이벤트 이름 | 텍스트 | 이벤트 이름으로, 데이터의 #event_name 필드에 해당합니다 |
| #event_time | 이벤트 시간 | 시간 | 이벤트 시간으로, 데이터의 #time 필드에 해당합니다 |
| #server_time | 서버 시간 | 시간 | 서버가 데이터를 받은 시간 |
| #dw_create_time | 최초 적재 시간 | 시간 | 해당 이벤트 데이터의 적재 시간으로, 업데이트 가능 이벤트에서는 이 속성이 모두 null입니다 |
| #dw_update_time | 적재 업데이트 시간 | 시간 | 해당 이벤트 데이터의 적재 업데이트 시간으로, 업데이트 가능 이벤트가 아니면 이 속성은 모두 null입니다 |
| #kafka_offset | kafka 오프셋 값 | 숫자 | kafka에 저장된 이벤트의 오프셋 값 |
| #uuid | UUID | 텍스트 | 이벤트의 식별 ID |
- 유저 테이블의 시스템 필드
| 필드 이름 | 한국어 이름 | 속성 타입 | 설명 |
|---|---|---|---|
| #user_id | 유저 고유 ID | 숫자 | 시스템에서 유저를 고유하게 식별하는 유저 식별자 |
| #account_id | 계정 ID | 텍스트 | 계정 ID로, 데이터의 #account_id에 해당합니다 |
| #distinct_id | 게스트 ID | 텍스트 | 게스트 ID로, 데이터의 #distinct_id에 해당합니다 |
| #active_time | 활성화 시간 | 시간 | 해당 유저의 첫 번째 데이터(이벤트 및 유저 속성 데이터 포함)가 적재될 때 그 데이터의 #time 필드 시간 |
| #reg_time | 가입 시간 | 시간 | 해당 유저의 계정 ID가 포함된 첫 번째 데이터(이벤트 및 유저 속성 데이터 포함)가 적재될 때 그 데이터의 #time 필드 시간 |
| #update_time | 업데이트 시간 | 시간 | 마지막으로 받은 유저 속성 데이터의 #time 필드 시간 |
| #server_time | 서버 시간 | 시간 | 마지막으로 받은 유저 속성 데이터의 서버 시간 |
| #dw_update_time | 적재 업데이트 시간 | 시간 | 해당 유저 데이터의 최근 업데이트 시간 |
| #event_date | 최근 이벤트 날짜 | 숫자 | 해당 유저의 최근 이벤트 적재 날짜 |
| #user_operation | 유저 작업 타입 | 텍스트 | 유저 속성 데이터의 작업 타입 |
| #kafka_offset | kafka 오프셋 값 | 숫자 | kafka에 저장된 유저 속성 데이터의 오프셋 값 |
| #uuid | UUID | 텍스트 | 유저 속성 데이터의 식별 ID |

