Analytics
At Neon, we prioritize providing you with the insights necessary to effectively manage your business. Our dashboard offers a wide array of reports, and if you require additional analytics reports, please don't hesitate to contact [email protected].
We deliver hourly and daily analytics events directly to your AWS S3 bucket in jsonl gz format. Events are separated by sandbox and production environments, ensuring accurate tracking and analysis (sample file).
This document serves as a comprehensive guide to the analytics events and their associated attributes used within our application. These events play a vital role in tracking user interactions, behaviors, and other essential metrics, enabling you to enhance the user experience and make informed, data-driven decisions.
S3 Configuration
Set the following bucket policy on your S3 bucket.
Be sure to replace
BUCKET_NAMEin the policy below with your actual bucket name.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::171666793654:role/NeonS3Access"
},
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME",
"arn:aws:s3:::BUCKET_NAME/*"
]
}
]
}Event Details
Analytics events are systematically logged across our application to capture diverse user actions and behaviors. Each event provides invaluable insights into how users engage with our storefront and navigate through the purchasing process. Each event object in the file will include the keys:
event_time: Timestamp indicating when the event occurredsession_id: Unique identifier (integer) for the user session during which the event took placedevice_id: Identifier for the device used by the userevent_type: Type of event triggered, providing context for the user action or behavior (string object)event_properties: Various attributes sent with each event_type objectos_name: Name of the operating system running on the user’s device (i.e., “Apple iPhone”)browser_family: Browser type or family used to access the application (i.e., “Safari”)browser_major_version: Major version number of the browser (i.e., “16.3”)geo_city: City inferred from the user’s IP address (i.e., “Ottawa”)geo_region: Geographic region, state, or province inferred from the user’s IP address (i.e., “Kansas”)geo_country: Country inferred from IP address (i.e., "United States")ip: Public IP address of the user’s device at the time of the eventlog_version_id: Internal version identifier used to track changes in event logging schema
Frontend events can be potentially blocked by Ad-blockers
Event Type and Property Definition
Event Types | Event Description | Source | Event Properties |
|---|---|---|---|
Storefront Opened | Triggered when the storefront is opened | Frontend |
|
Storefront Property Sign In Clicked | Triggered when a player initiates a sign-in from the main menu on the web store | Frontend |
|
Product Price Sign In Clicked | Triggered when a player initiates a sign-in from an item on the web store | Frontend |
|
Auth Code Created | Triggered on the backend when an auth code is created. This happens when the user begins the auth flow that uses the auth API | Backend |
|
Lock Button Clicked | Triggered when the user clicks on a locked item in the web store | Frontend |
|
Product Clicked | Triggered when the user clicks on a product to open product detail modal. If the storefront is setup to send the user to the checkout when a product is clicked, this event is not triggered | Frontend |
|
Checkout Created | Triggered when a checkout is created | Backend |
|
Payment Method Selected | Triggered when a payment method is selected | Frontend |
|
Place Order Button Clicked | Triggered when the user clicks on the "Place Order" button in checkout | Frontend |
|
Checkout Completion Attempted | Triggered by the backend when a user attempts to complete a checkout | Backend |
|
Checkout Completed | Triggered when a checkout has been successfully completed | Backend |
|
Checkout Payment Failed | Triggered when a payment failure occurs during checkout | Backend |
|
Checkout Back Clicked | Triggered when the player clicks on the back icon on the checkout page | Frontend |
|
Purchase Completed Modal Displayed | Triggered when the player sees the purchase complete modal with order information | Frontend |
|
Continue Shopping Clicked | Triggered when the player clicks on "continue shopping" in the purchase complete modal to close the modal and redirect to the storefront | Frontend |
|
Continue Game Clicked | Triggered when the player clicks on "Go to the Game " in the purchase complete modal to close the modal and redirect to the game. Only applicable to mobile phones | Frontend |
|
Refund Processed | Triggered when a refund is processed for a player | Backend |
|
Storefront Closed | Triggered when the store is closed or the player redirects to another page | Frontend |
|
Saved Payment Method Added | Triggered when a new payment method is successfully added | Backend |
|
Card Payment Method Deleted | Triggered when the player deletes their card as saved a payment method | Backend |
|
Save Payment Method Toggled | Triggered when the player checks or unchecks the "Save payment method" checkbox toggle during checkout | Frontend |
|
Saved Payment Methods Displayed | Triggers when the player gets displayed their cards in the checkout | Frontend |
|
Promo Code Applied | Triggers when a players applies a promo code to their checkout purchase. | Backend |
|
Promo Code Removed | Triggers when a player removes a promo code from their checkout purchase. | Backend |
|
Promo Code Failed | Triggers if an error is encountered while trying to apply a promo code. | Backend |
|
Payment Failed | Triggers when there is any kind of failure in fulfilling a payment. (i.e Checkout and Subscriptions payments) | Backend |
|
Payment Method Validation Passed | Triggers when client-side input validation passes in the payment form | Frontend |
|
Payment Method Validation Failed | Triggers when client-side input validation fails in the payment form | Frontend |
|
External Payment Redirected | Triggers when the user is redirected from checkout to an external payment method | Backend |
|
External Payment Returned | Triggers when the user returns to the checkout success page from an external payment method | Backend |
|
Payment Error Modal Closed | Triggers when a user closes the payment error modal | Frontend |
|
Property Definition
storefront_id: Unique identifier of the storefrontenvironment_id: Environment identifier associated with the storefront; different for sandbox and productionplayer_id: Identifier of a playeroffer_sku: Unique SKU value associated with a particular offer within the storefrontoffer_skus: SKUs for offers associated with this eventmetadata: Additional contextual data sent with Auth or checkout APIscheckout_id: Unique identifier assigned to each checkout process initiated by a userpurchase_id: Purchase identifier uniquely identifies each purchase transaction within our systemrefund_id: Unique identifier for a processed refund transaction within our systemplayer_country: Player country in ISO 3166-1 alpha-2 (i.e., "US")marketing_email_consent: A boolean value that shows if a user agreed to get a marketing consent.payment_method: A string indicating the type of payment method used. Possible values:"apple_pay","google_pay","paypal","credit_or_debit_card","toss_pay","pix","free","line_pay","sepa","paysafecard","grabpay","modo","naver_pay","kakao_pay","naver_or_kakao_pay","unknown","ovo","oxxo","boleto","dana","cash_app_pay","klarna","paypay","upi","wechat_pay","alipay","ideal","bancontact","przelewy24","eps","palm_pay","opay","providus_bank","samsung_pay","pix_dlocal","blik","neon_pay".is_first_payment_method: A boolean indicating whether this is the first payment method saved for the player.total_saved_cards: A number representing the total count of saved cards for the player.total_saved_payment_methods: A number representing the total count of saved payment methods for the player.is_default: A boolean indicating whether this payment method is set as the default.is_saved_checkbox: A boolean value indicating if a user toggled the "save payment method" checkbox while on checkout.promo_code: A string representing the human-readable promotional code applied by the user (e.g., "20OFF", "WELCOME10").promo_code_id: A unique identifier assigned to each promotion or discount campaign in our system, used to reference the specific promo internally.error_type: A string indicating the type of error encountered while processing a payment. Possible values:"insufficient_funds","limit_exceeded","fraudulent","high_risk","lost_or_stolen","incorrect_cvc","unauthorized","invalid_cvc","incorrect_number","incorrect_zip","invalid_exp_year","invalid_number","invalid_iban","expired_card","unexpected_country","invalid","invalid_exp_month","declined","failed","unknown".is_saved_payment_method: A boolean value that indicates if a payment is being done by a saved payment method.invalid_fields: An array with any fields that have not passed validation tests (i.e. "ExpYear", "ExpMonth")action_type: A string indicating if the user closed a modal via the "try again" or "close" button. Possible values:"try_again","close"external_reference_id: Additional contextual string sent with checkout APIs or backend events.
Updated 3 days ago
