product_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) |
| osVer | STRING | 이벤트가 발생한 시점에 유저 단말의 OS 버전을 나타냅니다. 단말의 운영체제 버전 값을 기준으로 기록되며, OS 버전별 지표를 비교하는 데 활용할 수 있습니다. (예: 9.2, 16.3.1) |
| model | STRING | 이벤트가 발생한 시점에 유저 단말의 모델명을 나타냅니다. 클라이언트가 전송한 단말 모델 값을 기준으로 기록되며, 기기 모델별 지표를 비교하는 데 활용할 수 있습니다. (예: iPhone 12 Pro, SHW-M250S) |
| lang | STRING | 이벤트가 발생한 시점의 언어 값을 나타냅니다. 게임 또는 단말 언어 값을 기준으로 기록되며(ISO 639 alpha-2 소문자), 언어별 지표를 비교하는 데 활용할 수 있습니다. (예: ko, en) |
| os | STRING | 이벤트가 발생한 시점에 유저 단말의 운영체제를 나타냅니다. 클라이언트가 전송한 플랫폼 값을 기준으로 기록되며, OS별 지표를 비교하는 데 활용할 수 있습니다. (예: A(안드로이드), I(iOS)) |
| appVer | STRING | 이벤트가 발생한 시점의 게임 앱 버전을 나타냅니다. 앱 버전 정보를 기준으로 기록되며, os 속성과 함께 사용하여 앱 버전별 이용자를 비교하는 데 활용할 수 있습니다. (예: 4.3.3, 1.6.5) |
| market | STRING | 이벤트가 발생한 시점에 유저가 게임을 설치한 마켓을 나타냅니다. 앱이 설치되거나 서비스되는 마켓 값을 기준으로 기록되며, 마켓별 지표를 비교하는 데 활용할 수 있습니다. (예: GO(구글 플레이), AP(애플 앱스토어), HS(직접 배포)) |
| 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) |
| productName | STRING | 구매된 상품의 이름을 나타냅니다. Hive 빌링에 등록된 고유 상품 이름 값을 기준으로 기록되며, 상품명별 매출을 비교하는 데 활용할 수 있습니다. (예: 다이아 100) |
| productId | STRING | 구매된 상품의 ID를 나타냅니다. Hive 빌링에 등록된 고유 상품 ID 값을 기준으로 기록되며, 상품별 매출, 구매 건수를 비교하는 데 활용할 수 있습니다. (예: com.sample.analytics.dia1000) |
| level | INT(INTEGER) | 이벤트가 발생한 시점의 레벨 값을 나타냅니다. 이벤트에 따라 해당 시점의 계정, 캐릭터 등 레벨이 기록되며, 평균 또는 최댓값 집계로 평균 레벨과 최종 도달 레벨을 산출하는 데 활용할 수 있습니다. (예: 43) |
| characterId | STRING | 구매 시점의 캐릭터 아이디를 나타냅니다. 구매 이벤트의 게임 정보(game_info)에서 전달한 캐릭터 아이디 값을 기준으로 기록되며, 캐릭터별 결제 지표를 비교하는 데 활용할 수 있습니다. |
| characterLevel | STRING | 구매 시점의 캐릭터 레벨을 나타냅니다. 구매 이벤트의 게임 정보에서 전달한 캐릭터 레벨 값을 기준으로 기록되며, 평균 집계로 결제 유저의 평균 캐릭터 레벨을 산출하는 데 활용할 수 있습니다. |
| serverIdInt | INT(INTEGER) | 이벤트가 발생한 시점에 접속한 게임 서버 ID의 정수형 값을 나타냅니다. 서버 식별자를 숫자형으로 변환한 값을 기준으로 기록되며, 서버별 지표를 비교하는 데 활용할 수 있습니다. (예: 1008) |
| osVersionFixed | STRING | normalized version string x.x.x since 19.05.16 |
| refundTransactionId | STRING | 환불 재결제 시 환불 당시의 영수증 ID를 나타냅니다. 환불 재결제 시의 이전 영수증 ID 값을 기준으로 기록되며(그 외 null), 환불 유저 재결제 건을 식별하는 데 활용할 수 있습니다. |
| analyticsId | STRING | 이벤트를 발생시킨 앱 설치별 고유 식별키를 나타냅니다. 앱 초기화 시 발급되는 base64 형식 24바이트 값을 기준으로 기록되며, 중복 제거 개수 집계로 고유 단말 수를 세는 데 활용할 수 있습니다. (예: EJFH9wsjEIn4Rf4321QrYA==) |
| paymentServiceType | STRING | 구매의 결제 서비스 유형을 나타냅니다. 인게임/웹상점 등 서비스 유형 값을 기준으로 기록되며, 서비스 유형별 매출을 비교하는 데 활용할 수 있습니다. (예: ingame, webstore) |
| serviceMarket | STRING | 구매가 이루어진 서비스 마켓을 나타냅니다. 앱센터에 등록된 마켓 값을 기준으로 자동 입력되며, 마켓별 매출을 비교하는 데 활용할 수 있습니다. (예: 구글, 애플) |
| userTotalPrice | INT(FLOAT) | 사용자 정의 금액 결제로 결제된 금액을 나타냅니다. isUserTotalPrice가 Y인 결제에서 결제 요청 시 지정된 금액을 기준으로 기록되며, 사용자 정의 금액 결제의 규모와 분포를 분석하는 데 활용할 수 있습니다. |
| isuserTotalPrice | STRING | PG 결제가 사용자 정의 금액 결제 기능을 통해 이루어졌는지 여부를 나타냅니다. 고정 상품 가격이 아니라 결제 요청 시 지정된 금액으로 결제되었는지를 기준으로 기록되며, 사용자 정의 금액 결제 건수와 비율을 분석하는 데 활용할 수 있습니다. (예: Y, N) |
| totalPrice | INT(FLOAT) | 구매의 총 결제 금액을 나타냅니다. 유저가 결제한 총 금액 값을 기준으로 기록되며, 합계 집계로 총 결제 금액을 산출하는 데 활용할 수 있습니다. |