subscription_purchase_test
An event that occurs when a test payment for a subscription product is made. You can use it to create metrics for verifying the payment integration, such as the number of test payments.
| Attribute name | Data type | Description |
|---|---|---|
| dateTime | TIMESTAMP | Indicates the date and time when the event occurred. Recorded based on the event time, and can be used as the basis for aggregation by period unit (day/week/month/hour/minute) and date range queries. (Example: 2023-05-09 19:30:35) |
| eventName | STRING | Indicates the name that identifies the event. Because all events are loaded together into a single source log, this value identifies which event it is, and it can be used as the basis for querying data by event. (Example: app_login) |
| userId | STRING | Indicates the account-based identifier of the user who triggered the event. Recorded based on the user's unique ID in the app, and can be used to count unique users, such as AU, with a distinct count aggregation. |
| identifierProvider | STRING | Indicates the system that issued the user identifier. The value is always "hive". |
| deviceId | STRING | Indicates the device-based identifier of the user who triggered the event. Recorded based on the instance value issued for each device every time the app is installed, and can be used to count unique devices (such as the number of terms agreements) with a distinct count aggregation. (Example: 33333333) |
| appIdGroup | STRING | Indicates the project where the event occurred. Recorded based on the GAMEID value registered in Hive Console > Project Settings > App ID, and can be used to compare metrics by project when you query multiple projects together. (Example: com.sample.analytics) |
| appId | STRING | Indicates the unique ID of the app where the event occurred. Recorded based on the APPID registered in Hive Console > Project Settings > App ID, and can be used to distinguish metrics by app. (Example: com.sample.analytics.google.global.android.common) |
| country | STRING | Indicates the user's country identified when the event occurred. Recorded in ISO 3166-1 alpha-2 uppercase format, and can be used to compare the number of users, revenue, retention, and so on by country. (Example: KR, US) |
| serverId | STRING | Indicates the app server the user was connected to when the event occurred. Recorded based on the server identifier sent by the app, and can be used to compare the number of users, revenue, and retention by server. (Example: KR, GLOBAL) |
| model | STRING | Indicates the model name of the user's device when the event occurred. Recorded based on the device model value sent by the client, and can be used to compare metrics by device model. (Example: iPhone 12 Pro, SHW-M250S) |
| appVer | STRING | Indicates the app version when the event occurred. Recorded based on the app version information, and can be used with the os attribute to compare users by app version. (Example: 4.3.3, 1.6.5) |
| market | STRING | Indicates the market where the user installed the app when the event occurred. Recorded based on the market where the app is installed or serviced, and can be used to compare metrics by market. (Example: GO (Google Play), AP (Apple App Store), HS (direct distribution)) |
| osVer | STRING | Indicates the OS version of the user's device when the event occurred. Recorded based on the device's operating system version, and can be used to compare metrics by OS version. (Example: 9.2, 16.3.1) |
| lang | STRING | Indicates the language value when the event occurred. Recorded based on the app or device language (ISO 639 alpha-2, lowercase), and can be used to compare metrics by language. (Example: ko, en) |
| os | STRING | Indicates the operating system of the user's device when the event occurred. Recorded based on the platform value sent by the client, and can be used to compare metrics by OS. (Example: A (Android), I (iOS)) |
| clientIp | STRING | Indicates the IP of the user's device where the event occurred. Recorded with the last segment of the IP masked, and can be used to query data such as the number of devices by IP range. (Example: 127.0.0.x) |
| sdkVer | STRING | Indicates the Hive Axyl SDK version when the event occurred. Recorded based on the Hive Axyl SDK version applied to the client, and can be used to compare data collection status by SDK version. (Example: 1.0.0) |
| productPrice | INT(FLOAT) | Indicates the payment amount for a single product. Recorded based on the product price sent by the client at the time of payment (supplementing productId), and can be used to analyze product prices and payment volume with sum and average aggregations. (Example: 1.99) |
| currency | STRING | Indicates the payment currency at the time of purchase. Recorded based on the payment currency value, and can be used to separate revenue by currency. (Example: KRW, USD, JPY) |
| quantity | INT(INTEGER) | Indicates the quantity of products the user purchased. Recorded based on the quantity sent in the payment request or during purchase processing, and can be used to calculate the number of products sold and the average purchase quantity per user. (Example: 1, 20) |
| transactionId | STRING | Indicates the unique number that identifies a payment. Recorded based on the receipt ID issued by the market for regular payments and refunds, and on the identifier issued per subscription for subscriptions, and can be used to count payments with a distinct count aggregation or to link purchases with refund and cancellation events. (Example: GPA.1234-5678-9101-12345) |
| productId | STRING | Indicates the ID of the purchased product. Recorded based on the unique product ID registered in Hive Billing, and can be used to compare revenue and the number of purchases by product. (Example: com.sample.analytics.dia1000) |
| productName | STRING | Indicates the name of the purchased product. Recorded based on the unique product name registered in Hive Billing, and can be used to compare revenue by product name. (Example: Diamond 100) |
| level | INT(INTEGER) | Indicates the level value when the event occurred. Depending on the event, the level at that time, such as the account or character level, is recorded, and it can be used to calculate the average level and the final level reached with an average or maximum aggregation. (Example: 43) |
| characterId | STRING | Indicates the character ID at the time of purchase. Recorded based on the character ID sent in the app information (game_info) of the purchase event, and can be used to compare payment metrics by character. |
| characterTypeId | STRING | Indicates the character type ID at the time of purchase. Recorded based on the character type sent in the app information of the purchase event, and can be used to compare payment metrics by character type. |
| characterLevel | STRING | Indicates the character level at the time of purchase. Recorded based on the character level sent in the app information of the purchase event, and can be used to calculate the average character level of paying users with an average aggregation. |
| isEmulator | STRING | Indicates whether the client was running on an emulator when the event occurred. Recorded based on the emulator execution value sent in the app information, and can be used to compare metrics by emulator usage. (Example: 1 (emulator), 0 (physical device)) |
| subStartDateTime | STRING | Indicates the start date and time of the subscription renewal. Recorded based on the start time of the subscription renewal for that renewal period (for Google and Amazon, the date and time of the receipt verification request), and can be used to analyze subscription periods and renewal cycles. (Example: 2026-07-21 15:16:17) |
| subEndDateTime | STRING | Indicates the end date and time of the subscription renewal. Recorded based on the end time of the subscription renewal for that renewal period, and can be used to analyze subscription periods and renewal cycles. (Example: 2026-07-20 15:16:17) |
| itemSendOk | STRING | Indicates whether the in-app item was actually delivered after payment. Recorded based on whether the item was received, and can be used to analyze successful and failed item deliveries separately. (Example: Y (delivered), N (undelivered), "" (unknown)) |
| osVersionFixed | STRING | normalized version string x.x.x since 19.05.16 |
| subPaymentState | INT(INTEGER) | Indicates the subscription payment status (Google subscription payments v1). Recorded based on the payment status value of Google subscriptions v1, and can be used to separate metrics by subscription payment status. (Example: 0 (payment pending), 1 (payment completed), 2 (free trial)) |
| subPaymentStateV2 | STRING | Indicates the subscription payment status (all except Google subscription payments v1). Recorded based on the subscription payment status value of Google subscriptions v2, Galaxy Store, Huawei, and so on, and can be used to separate metrics by subscription status. (Example: SUBSCRIPTION_STATE_ACTIVE, SUBSCRIPTION_STATE_CANCELED) |
| serviceMarket | STRING | Indicates the service market where the purchase was made. Filled in automatically based on the market value registered in Project Settings > App ID, and can be used to compare revenue by market. (Example: Google, Apple) |