subscription_purchase¶
구독형 상품의 구독이 갱신된 시점에 발생하는 이벤트로, 구독 매출액, PU, 매출 건수, 구매 수량, ARPU, ARPPU 등의 메트릭을 생성하는 데 활용할 수 있습니다.
| 속성명 | 자료형 | 설명 |
|---|---|---|
| dateTime | TIMESTAMP | 이벤트가 발생한 일시를 나타냅니다. 이벤트 발생 시각을 기준으로 기록되며, 기간 단위(일/주/월/시간/분) 집계와 날짜 범위 조회의 기준으로 활용할 수 있습니다. (예: 2023-05-09 19:30:35) |
| eventName | STRING | 이벤트를 구분하는 이름을 나타냅니다. 모든 이벤트가 하나의 원천 로그에 함께 적재되므로 이 값으로 어떤 이벤트인지 식별하며, 이벤트 단위로 데이터를 조회하는 기준으로 활용할 수 있습니다. (예: app_login) |
| userId | STRING | 이벤트를 발생시킨 계정 기준 유저 식별자를 나타냅니다. 게임 내 유저 고유 아이디를 기준으로 기록되며, 중복 제거 개수 집계로 AU 등 고유 유저 수를 세는 데 활용할 수 있습니다. |
| identifierProvider | STRING | 유저 식별자 발급 시스템을 나타내며, "hive"고정되어 들어옵니다. |
| deviceId | STRING | 이벤트를 발생시킨 단말 기준 유저 식별자를 나타냅니다. 앱을 설치할 때마다 단말별로 발급되는 인스턴스 값을 기준으로 기록되며, 중복 제거 개수 집계로 고유 단말 수(약관 동의 수 등)를 세는 데 활용할 수 있습니다. (예: 33333333) |
| appIdGroup | STRING | 이벤트가 발생한 프로젝트를 나타냅니다. Hive 콘솔 앱센터에 등록된 GAMEID 값을 기준으로 기록되며, 여러 프로젝트를 함께 조회할 때 프로젝트별로 지표를 나누어 비교하는 데 활용할 수 있습니다. (예: com.sample.analytics) |
| appId | STRING | 이벤트가 발생한 앱의 고유 ID를 나타냅니다. Hive 콘솔 앱센터에 등록된 APPID를 기준으로 기록되며, 앱별 지표를 구분하는 데 활용할 수 있습니다. (예: com.sample.analytics.google.global.android.common) |
| country | STRING | 이벤트가 발생한 시점에 확인된 유저의 국가를 나타냅니다. ISO 3166-1 alpha-2 대문자 형식으로 기록되며, 국가별 유저 수, 매출, 리텐션 등을 비교하는 데 활용할 수 있습니다. (예: KR, US) |
| serverId | STRING | 이벤트가 발생한 시점에 유저가 접속한 게임 서버를 나타냅니다. 게임에서 전송한 서버 식별자를 기준으로 기록되며, 서버별 유저 수, 매출, 리텐션을 비교하는 데 활용할 수 있습니다. (예: KR, GLOBAL) |
| model | STRING | 이벤트가 발생한 시점에 유저 단말의 모델명을 나타냅니다. 클라이언트가 전송한 단말 모델 값을 기준으로 기록되며, 기기 모델별 지표를 비교하는 데 활용할 수 있습니다. (예: iPhone 12 Pro, SHW-M250S) |
| appVer | STRING | 이벤트가 발생한 시점의 게임 앱 버전을 나타냅니다. 앱 버전 정보를 기준으로 기록되며, os 속성과 함께 사용하여 앱 버전별 이용자를 비교하는 데 활용할 수 있습니다. (예: 4.3.3, 1.6.5) |
| market | STRING | 이벤트가 발생한 시점에 유저가 게임을 설치한 마켓을 나타냅니다. 앱이 설치되거나 서비스되는 마켓 값을 기준으로 기록되며, 마켓별 지표를 비교하는 데 활용할 수 있습니다. (예: GO(구글 플레이), AP(애플 앱스토어), HS(직접 배포)) |
| osVer | STRING | 이벤트가 발생한 시점에 유저 단말의 OS 버전을 나타냅니다. 단말의 운영체제 버전 값을 기준으로 기록되며, OS 버전별 지표를 비교하는 데 활용할 수 있습니다. (예: 9.2, 16.3.1) |
| lang | STRING | 이벤트가 발생한 시점의 언어 값을 나타냅니다. 게임 또는 단말 언어 값을 기준으로 기록되며(ISO 639 alpha-2 소문자), 언어별 지표를 비교하는 데 활용할 수 있습니다. (예: ko, en) |
| os | STRING | 이벤트가 발생한 시점에 유저 단말의 운영체제를 나타냅니다. 클라이언트가 전송한 플랫폼 값을 기준으로 기록되며, OS별 지표를 비교하는 데 활용할 수 있습니다. (예: A(안드로이드), I(iOS)) |
| clientIp | STRING | 이벤트가 발생한 유저 단말의 IP를 나타냅니다. IP의 마지막 구간을 마스킹한 값을 기준으로 기록되며, 특정 IP 대역별 단말 수 등의 데이터를 조회하는 데 활용할 수 있습니다. (예: 127.0.0.x) |
| sdkVer | STRING | 이벤트가 발생한 시점의 Hive SDK 버전을 나타냅니다. 클라이언트에 적용된 Hive SDK 버전 값을 기준으로 기록되며, SDK 버전별 데이터 수집 현황을 비교하는 데 활용할 수 있습니다. (예: 4.16.2.2) |
| productPrice | INT(FLOAT) | 상품 1개 기준의 결제 금액을 나타냅니다. 결제 시 클라이언트가 전달한 상품 가격 값을 기준으로 기록되며(productId를 보조), 합계·평균 집계로 상품 가격과 결제 규모를 분석하는 데 활용할 수 있습니다. (예: 1.99) |
| currency | STRING | 구매 시점의 결제 통화 단위를 나타냅니다. 결제 통화 값을 기준으로 기록되며, 통화별 매출을 구분하는 데 활용할 수 있습니다. (예: KRW, USD, JPY) |
| quantity | INT(INTEGER) | 유저가 구매한 상품의 수량을 나타냅니다. 결제 요청 또는 구매 처리 시 전송된 수량을 기준으로 기록되며, 상품 판매 수량과 유저당 평균 구매 수량을 산출하는 데 활용할 수 있습니다. (예: 1, 20) |
| transactionId | STRING | 결제 건을 식별하는 고유 번호를 나타냅니다. 일반 결제와 환불은 마켓이 발급한 영수증 ID, 구독은 구독 단위로 발급된 식별자 값을 기준으로 기록되며, 중복 제거 개수 집계로 결제 건수를 세거나 구매와 환불·해지 이벤트를 연결하는 데 활용할 수 있습니다. (예: GPA.1234-5678-9101-12345) |
| productId | STRING | 구매된 상품의 ID를 나타냅니다. Hive 빌링에 등록된 고유 상품 ID 값을 기준으로 기록되며, 상품별 매출, 구매 건수를 비교하는 데 활용할 수 있습니다. (예: com.sample.analytics.dia1000) |
| productName | STRING | 구매된 상품의 이름을 나타냅니다. Hive 빌링에 등록된 고유 상품 이름 값을 기준으로 기록되며, 상품명별 매출을 비교하는 데 활용할 수 있습니다. (예: 다이아 100) |
| level | INT(INTEGER) | 이벤트가 발생한 시점의 레벨 값을 나타냅니다. 이벤트에 따라 해당 시점의 계정, 캐릭터 등 레벨이 기록되며, 평균 또는 최댓값 집계로 평균 레벨과 최종 도달 레벨을 산출하는 데 활용할 수 있습니다. (예: 43) |
| characterId | STRING | 구매 시점의 캐릭터 아이디를 나타냅니다. 구매 이벤트의 게임 정보(game_info)에서 전달한 캐릭터 아이디 값을 기준으로 기록되며, 캐릭터별 결제 지표를 비교하는 데 활용할 수 있습니다. |
| characterTypeId | STRING | 구매 시점의 캐릭터 타입 ID를 나타냅니다. 구매 이벤트의 게임 정보에서 전달한 캐릭터 타입 값을 기준으로 기록되며, 캐릭터 타입별 결제 지표를 비교하는 데 활용할 수 있습니다. |
| characterLevel | STRING | 구매 시점의 캐릭터 레벨을 나타냅니다. 구매 이벤트의 게임 정보에서 전달한 캐릭터 레벨 값을 기준으로 기록되며, 평균 집계로 결제 유저의 평균 캐릭터 레벨을 산출하는 데 활용할 수 있습니다. |
| isEmulator | STRING | 이벤트가 발생한 시점에 클라이언트가 에뮬레이터에서 실행되었는지 여부를 나타냅니다. 게임 정보에서 전달한 에뮬레이터 실행 여부 값을 기준으로 기록되며, 에뮬레이터 이용 여부별 지표를 비교하는 데 활용할 수 있습니다. (예: 1(에뮬레이터), 0(실기기)) |
| subStartDateTime | STRING | 구독의 갱신 시작 일시를 나타냅니다. 해당 회차의 구독 갱신 시작 시각 값을 기준으로 기록되며(구글, 아마존은 영수증 검증 요청 일시), 구독 기간과 갱신 주기를 분석하는 데 활용할 수 있습니다. (예: 2026-07-21 15:16:17) |
| subEndDateTime | STRING | 구독의 갱신 종료 일시를 나타냅니다. 해당 회차의 구독 갱신 종료 시각 값을 기준으로 기록되며, 구독 기간과 갱신 주기를 분석하는 데 활용할 수 있습니다. (예: 2026-07-20 15:16:17) |
| itemSendOk | STRING | 결제 후 게임 내 아이템이 실제 지급되었는지 여부를 나타냅니다. 아이템 수령 여부 값을 기준으로 기록되며, 아이템 지급 성공, 실패를 구분해 분석하는 데 활용할 수 있습니다. (예: Y(지급), N(미지급), ""(알 수 없음)) |
| osVersionFixed | STRING | normalized version string x.x.x since 19.05.16 |
| subPaymentState | INT(INTEGER) | 구독 결제 상태(구글 구독 결제 v1)를 나타냅니다. 구글 구독 v1의 결제 상태 값을 기준으로 기록되며, 구독 결제 상태별 지표를 구분하는 데 활용할 수 있습니다. (예: 0(결제 대기), 1(결제 완료), 2(무료 체험)) |
| subPaymentStateV2 | STRING | 구독 결제 상태(구글 구독 결제 v1 외 전체)를 나타냅니다. 구글 구독 v2, 갤럭시스토어, 화웨이 등의 구독 결제 상태 값을 기준으로 기록되며, 구독 상태별 지표를 구분하는 데 활용할 수 있습니다. (예: SUBSCRIPTION_STATE_ACTIVE, SUBSCRIPTION_STATE_CANCELED) |
| serviceMarket | STRING | 구매가 이루어진 서비스 마켓을 나타냅니다. 앱센터에 등록된 마켓 값을 기준으로 자동 입력되며, 마켓별 매출을 비교하는 데 활용할 수 있습니다. (예: 구글, 애플) |