subscription_purchase_test¶
This is an event that occurs when a test payment for a subscription product is made, and can be used to create metrics for verifying payment linkage, such as the number of test payments.
| Attribute name | Data type | Description |
|---|---|---|
| dateTime | TIMESTAMP | Indicates the date and time when the event occurred. It is recorded based on the time of event occurrence, and can be used as a basis for period unit (day/week/month/hour/minute) aggregation and date range searches. (Example: 2023-05-09 19:30:35) |
| eventName | STRING | Indicates a name that identifies the event. Since all events are loaded together in one source log, this value identifies which event it is and can be used as a standard for searching data on an event-by-event basis. (Example: app_login) |
| userId | STRING | Indicates the user identifier based on the account that triggered the event. It is recorded based on the unique user ID in the game, and can be used to count the number of unique users such as AU by deduplicating the number. |
| identifierProvider | STRING | Indicates the user identifier issuance system, and "hive" is fixed. |
| deviceId | STRING | Indicates the user identifier based on the terminal that generated the event. Each time an app is installed, it is recorded based on the instance value issued for each device, and can be used to count the number of unique devices (the number of terms and conditions agreed, etc.) by deduplicating the number. (Example: 33333333) |
| appIdGroup | STRING | Indicates the project where the event occurred. Hive is recorded based on the GAMEID value registered in the console app center, and can be used to compare indicators by dividing them by project when viewing multiple projects together. (Example: com.sample.analytics) |
| appId | STRING | Indicates the unique ID of the app where the event occurred. Hive is recorded based on APPID registered in the console app center, and can be used to distinguish indicators for each app. (Example: com.sample.analytics.google.global.android.common) |
| country | STRING | Indicates the country of the user identified at the time the event occurred. ISO 3166-1 alpha-2 It is recorded in uppercase format and can be used to compare the number of users, sales, retention, etc. by country. (Example: KR, US) |
| serverId | STRING | Indicates the game server the user connected to when the event occurred. It is recorded based on the server identifier sent by the game, and can be used to compare the number of users, sales, and retention by server. (Example: KR, GLOBAL) |
| model | STRING | Indicates the model name of the user terminal at the time the event occurred. It is recorded based on the terminal model value sent by the client, and can be used to compare indicators by device model. (Example: iPhone 12 Pro, SHW-M250S) |
| appVer | STRING | Indicates the game app version at the time the event occurred. It is recorded based on app version information, and can be used with the os attribute to compare users by app version. (e.g. 4.3.3, 1.6.5) |
| market | STRING | Indicates the market where the user installed the game when the event occurred. It is recorded based on the market value where the app is installed or serviced, and can be used to compare indicators by market. (Example: GO(Google Play), AP(Apple App Store), HS(direct distribution)) |
| osVer | STRING | Indicates the OS version of the user terminal at the time the event occurred. It is recorded based on the terminal's operating system version value, and OS can be used to compare indicators by version. (Example: 9.2, 16.3.1) |
| lang | STRING | Indicates the language value at the time the event occurred. It is recorded based on the game or device language value (ISO 639 alpha-2 lowercase), and can be used to compare indicators by language. (Example: ko, en) |
| os | STRING | Indicates the operating system of the user terminal at the time the event occurred. It is recorded based on the platform value sent by the client, and can be used to compare indicators by OS. (Example: A(Android), I(iOS)) |
| clientIp | STRING | Indicates IP of the user terminal where the event occurred. It is recorded based on the masked value of the last section of IP, and can be used to query data such as the number of terminals for a specific IP band. (Example: 127.0.0.x) |
| sdkVer | STRING | Indicates the Hive SDK version at the time the event occurred. It is recorded based on the Hive SDK version value applied to the client, and can be used to compare the data collection status by SDK version. (Example: 4.16.2.2) |
| productPrice | INT(FLOAT) | Indicates the payment amount based on one product. It is recorded based on the product price value delivered by the client at the time of payment (auxiliary to productId), and can be used to analyze product price and payment size through sum/average aggregation. (Example: 1.99) |
| currency | STRING | Indicates the payment currency unit at the time of purchase. It is recorded based on the payment currency value and can be used to distinguish sales by currency. (Example: KRW, USD, JPY) |
| quantity | INT(INTEGER) | Indicates the quantity of the product purchased by the user. It is recorded based on the quantity sent when processing a payment request or purchase, and can be used to calculate product sales quantity and average purchase quantity per user. (Example: 1, 20) |
| transactionId | STRING | Indicates a unique number that identifies the payment. General payments and refunds are recorded based on the receipt ID issued by the market, and subscriptions are recorded based on the identifier value issued per subscription. This can be used to count the number of payments or connect purchases and refund/cancellation events by removing duplicates. (Example: GPA.1234-5678-9101-12345) |
| productId | STRING | Indicates ID of the purchased product. Hive is recorded based on the unique product ID value registered in billing, and can be used to compare sales and number of purchases by product. (Example: com.sample.analytics.dia1000) |
| productName | STRING | Indicates the name of the purchased product. Hive It is recorded based on the unique product name value registered in billing, and can be used to compare sales by product name. (Example: Diamond 100) |
| level | INT(INTEGER) | Indicates the level value at the time the event occurred. Depending on the event, the level of the account, character, etc. at that time is recorded, and can be used to calculate the average level and final reached level by aggregating the average or maximum value. (Example: 43) |
| characterId | STRING | Indicates the character ID at the time of purchase. It is recorded based on the character ID value provided in the game information (game_info) of the purchase event, and can be used to compare payment indicators for each character. |
| characterTypeId | STRING | Indicates the character type ID at the time of purchase. It is recorded based on the character type value provided in the game information of the purchase event, and can be used to compare payment indicators by character type. |
| characterLevel | STRING | Indicates the character level at the time of purchase. It is recorded based on the character level value provided in the game information of the purchase event, and can be used to calculate the average character level of the paying user by averaging the aggregate. |
| isEmulator | STRING | Indicates whether the client was running on the emulator when the event occurred. It is recorded based on the value of whether the emulator is running or not provided in the game information, and can be used to compare indicators by emulator use. (Example: 1 (emulator), 0 (actual device)) |
| subStartDateTime | STRING | Indicates the subscription renewal start date and time. It is recorded based on the subscription renewal start time for the relevant period (receipt verification request date and time for Google and Amazon), and can be used to analyze the subscription period and renewal cycle. (Example: 2026-07-21 15:16:17) |
| subEndDateTime | STRING | Indicates the subscription renewal end date and time. It is recorded based on the subscription renewal end time for the relevant period, and can be used to analyze the subscription period and renewal cycle. (Example: 2026-07-20 15:16:17) |
| itemSendOk | STRING | Indicates whether the in-game item was actually delivered after payment. It is recorded based on the value of whether or not the item has been received, and can be used to analyze success or failure of item delivery. (e.g. Y(delivered), N(not delivered), "" (unknown)) |
| osVersionFixed | STRING | normalized version string x.x.x since 19.05.16 |
| subPaymentState | INT(INTEGER) | Indicates subscription payment status (Google Subscription Payment v1). It is recorded based on the payment status value of Google Subscription v1, and can be used to distinguish indicators by subscription payment status. (Example: 0 (waiting for payment), 1 (payment completed), 2 (free trial)) |
| subPaymentStateV2 | STRING | Indicates the subscription payment status (all except Google subscription payment v1). It is recorded based on the subscription payment status value of Google Subscription v2, Galaxy Store, Huawei, etc., and can be used to distinguish indicators by subscription status. (Example: SUBSCRIPTION_STATE_ACTIVE, SUBSCRIPTION_STATE_CANCELED) |
| serviceMarket | STRING | Indicates the service market where the purchase was made. It is automatically entered based on the market value registered in the App Center, and can be used to compare sales by market. (e.g. Google, Apple) |