Custom Events
Introduction
Lion Analytics supports the creation of custom events. Custom events often lead to redundancy and inefficiencies as they typically replicate existing predefined events or create niche events that are unnecessary.
⛔ |
We strongly discourage their use. Our SDK is designed to cover a wide range of event tracking needs across various game genres with its predefined events. |
Overview
Custom events are any events that:
- Are not predefined in the Lion Analytics module.
- Mimic predefined events but do not adhere to the standard event schema (i.e., they include different parameters).
Why Custom Events Should Be Limited
The Lion Analytics framework is designed to standardize event tracking to ensure efficient data processing and analysis. Using custom events can lead to several issues:
- Redundancy: Custom events often duplicate the functionality of existing events.
- Inefficiency: Custom events require additional work for ETL (Extract, Transform, Load) tasks and data modeling, impacting our ability to provide timely and accurate insights.
- Data Consistency: Standard events ensure consistency in data collection, making it easier to maintain and analyze data across multiple games.
When to Use Custom Events
Custom events should only be considered when absolutely necessary and when no existing predefined event can fulfill the tracking requirement. Always refer to the predefined events first and consult the decision flow to determine if a custom event is needed.
Example Mapping
Instead of creating custom events, map your use cases to the predefined Lion Analytics events. Here are some examples:
Use Case | Custom Event | Standard Event |
---|---|---|
|
task_abc_complete | mission_complete → mission_name = “task_abc” |
|
sell_item → item_name = “costume 1” → earned_coins = 100 | economy → product_spent = “costume 1” → product_received = “coins” → received_amount = 100 |
|
unlocklevel.10 | feature_unlocked → feature_type = “level” → feature_name = “10” |
|
score.50 | achievement → achievement_name = “score.50” |
|
iap.com.bundle.starter | inapp_purchase → product_id = “iap.com.bundle.starter” |