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_NAME in 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 occurred
  • session_id: Unique identifier (integer) for the user session during which the event took place
  • device_id: Identifier for the device used by the user
  • event_type: Type of event triggered, providing context for the user action or behavior (string object)
  • event_properties: Various attributes sent with each event_type object
  • os_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 event
  • log_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_id environment_id player_id(optional) metadata(optional) player_country(optional)

Storefront Property Sign In Clicked

Triggered when a player initiates a sign-in from the main menu on the web store

Frontend

environment_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional)

Product Price Sign In Clicked

Triggered when a player initiates a sign-in from an item on the web store

Frontend

environment_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional)

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

storefront_id environment_id player_id(optional) metadata(optional)

Lock Button Clicked

Triggered when the user clicks on a locked item in the web store

Frontend

environment_id offer_sku storefront_id(optional) player_id(optional) metadata(optional) player_country(optional)

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

environment_id offer_sku storefront_id(optional) player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Checkout Created

Triggered when a checkout is created

Backend

environment_id offer_skus checkout_id storefront_id(optional) player_country(optional) player_id(optional) metadata(optional) external_reference_id(optional)

Payment Method Selected

Triggered when a payment method is selected

Frontend

environment_id checkout_id payment_method storefront_id(optional) player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Place Order Button Clicked

Triggered when the user clicks on the "Place Order" button in checkout

Frontend

environment_id checkout_id player_id(optional) metadata(optional) storefront_id(optional) player_country(optional) external_reference_id(optional)

Checkout Completion Attempted

Triggered by the backend when a user attempts to complete a checkout

Backend

environment_id checkout_id player_id(optional) metadata(optional) storefront_id(optional) player_country(optional) external_reference_id(optional)

Checkout Completed

Triggered when a checkout has been successfully completed

Backend

environment_id offer_skus checkout_id purchase_id storefront_id(optional) metadata(optional) player_id(optional)
marketing_email_consent(optional) player_country(optional) external_reference_id(optional)

Checkout Payment Failed

Triggered when a payment failure occurs during checkout

Backend

environment_id checkout_id player_id(optional) metadata(optional) storefront_id(optional) payment_method(optional) player_country(optional) external_reference_id(optional)

Checkout Back Clicked

Triggered when the player clicks on the back icon on the checkout page

Frontend

environment_id checkout_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Purchase Completed Modal Displayed

Triggered when the player sees the purchase complete modal with order information

Frontend

environment_id checkout_id purchase_id player_id(optional) metadata(optional) storefront_id(optional) player_country(optional) external_reference_id(optional)

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

environment_id checkout_id purchase_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional)

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

environment_id checkout_id purchase_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional)

Refund Processed

Triggered when a refund is processed for a player

Backend

environment_id checkout_id purchase_id refund_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Storefront Closed

Triggered when the store is closed or the player redirects to another page

Frontend

storefront_id environment_id player_id(optional) metadata(optional) player_country(optional)

Saved Payment Method Added

Triggered when a new payment method is successfully added

Backend

environment_id payment_method is_first_payment_method total_saved_cards total_saved_payment_methods is_default player_country(optional) player_id(optional) metadata(optional) storefront_id(optional)

Card Payment Method Deleted

Triggered when the player deletes their card as saved a payment method

Backend

environment_id payment_method total_saved_cards total_saved_payment_methods player_country(optional) player_id(optional) metadata(optional) storefront_id(optional)

Save Payment Method Toggled

Triggered when the player checks or unchecks the "Save payment method" checkbox toggle during checkout

Frontend

environment_id is_saved_checkbox storefront_id(optional) player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Saved Payment Methods Displayed

Triggers when the player gets displayed their cards in the checkout

Frontend

storefront_id environment_id player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Promo Code Applied

Triggers when a players applies a promo code to their checkout purchase.

Backend

storefront_id environment_id promo_code promo_code_id player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Promo Code Removed

Triggers when a player removes a promo code from their checkout purchase.

Backend

storefront_id environment_id promo_code promo_code_id player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Promo Code Failed

Triggers if an error is encountered while trying to apply a promo code.

Backend

storefront_id environment_id promo_code promo_code_id player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Payment Failed

Triggers when there is any kind of failure in fulfilling a payment. (i.e Checkout and Subscriptions payments)

Backend

payment_method error_type environment_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional) external_reference_id(optional)

Payment Method Validation Passed

Triggers when client-side input validation passes in the payment form

Frontend

environment_id is_saved_payment_method storefront_id(optional) player_id(optional) metadata(optional) payment_method(optional) player_country(optional) external_reference_id(optional)

Payment Method Validation Failed

Triggers when client-side input validation fails in the payment form

Frontend

environment_id invalid_fields storefront_id(optional) player_id(optional) metadata(optional) payment_method(optional) player_country(optional)

External Payment Redirected

Triggers when the user is redirected from checkout to an external payment method

Backend

environment_id storefront_id(optional) player_id(optional) metadata(optional) player_country(optional) payment_method(optional)

External Payment Returned

Triggers when the user returns to the checkout success page from an external payment method

Backend

environment_id player_id(optional) metadata(optional) player_country(optional) payment_method(optional) storefront_id(optional) external_reference_id(optional)

Payment Error Modal Closed

Triggers when a user closes the payment error modal

Frontend

environment_id error_type action_type
player_id(optional) metadata(optional) player_country(optional) storefront_id(optional) external_reference_id(optional)

Property Definition

  • storefront_id: Unique identifier of the storefront
  • environment_id: Environment identifier associated with the storefront; different for sandbox and production
  • player_id: Identifier of a player
  • offer_sku: Unique SKU value associated with a particular offer within the storefront
  • offer_skus: SKUs for offers associated with this event
  • metadata: Additional contextual data sent with Auth or checkout APIs
  • checkout_id: Unique identifier assigned to each checkout process initiated by a user
  • purchase_id: Purchase identifier uniquely identifies each purchase transaction within our system
  • refund_id: Unique identifier for a processed refund transaction within our system
  • player_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.