A mobile product analytics platform is created to give analysts and publishers a 360-degree view of their users that allows them to make informed product decisions and increase revenue.
From this article you’ll learn how to seamlessly integrate an analytics system into your game and enjoy the result. At the end of it, you will also find some useful tips based on vast devtodev analytics experience.
Let’s begin with questions
What questions do developers ask themselves when they integrate an analytics solution into their product?
They are more or less the same:
What events do I integrate?
Do I pass everything correctly to the analytics system?
Will I be able to answer all questions?
How do other people do this?
How to get the most from the chosen system?
Some analysts are eager to follow every move that their users make, recording all their actions taken on every stage. The data gets passed to an analytics system and it then charges a hefty price for its services. However, there is no guarantee that the analyst can answer all questions asked of them.
Other analysts do the opposite - they monitor some basic metrics like payments and sessions and that’s it. When something happens, they can't answer any questions and are doomed to watch the metric rates fall while being unable to analyze them, find a reason and fix it.
Read more: Average session length
These are the two opposite scenarios that happen quite often. It’s clear that both of them are bad and you need to find a balanced approach where you pass important events only and at the same time you are sure that all key user actions are included, passed to the analytics system and are available for analysis.
Anyway, before you face this dilemma, you need to solve another pending problem, that is the choice of the analytics system. We already discussed the issue in one of the previous articles.
So, let’s imagine that you have already made up your mind about the system and now you are going to integrate it with your project.
The Right Way to Integrate an Analytics system
devtodev experts use a standard algorithm that allows for structuring the passed events, and in this article we are going to describe it in great detail.
Step 1. Collect key events
What do you expect from your users? You will have different answers to that question depending on the business type. You want your user to:
seamlessly sign up to the product;
complete the tutorial;
encounter a paywall/open the shop;
make a purchase;
You are free to select any number of actions that you deem important. Make them into a list.
Read more: 10 Youtube channels for data analysts
Step 2. Find What’s Going On Around the Events
You’ve already selected the most important events that take place in the user journey. Now it’s time to answer more questions:
what does the user do right before the event?
what does the user do right after the event?
By doing so, you already plan marketing funnels that you will build after you successfully finish the integration process. This also allows you to, first, create the best event list for integration and second, saves you time that you may spend trying to answer the question ‘what to do with all of this now?’.
Add all events that come into your mind in the process to your list of events that can be an Excel file or just a piece of paper. You will make good use of this list shortly in the future.
Let’s say that your most important event is an in-app purchase (and that is reasonable - it is really valuable and everyone should track it). So, what are the user steps before making a purchase? They:
open the shop;
open a desired section of the shop;
select an item and read its description;
click the ‘buy’ button;
confirm making the purchase.
What does the same user do right after they've purchased the item? For example, if they’ve bought a sword they are likely to make one of the following steps:
trying it on to see how it looks with the player’s character;
sharing on social media.
Add all the above events to your list.
Read more: How to identify and re-engage churned users
Step 3. Analyze the First Session
The first session must be analyzed and fine-tuned to provide the most efficient user journey. The thing is that changing the first session doesn’t require much time and resources: you may need to change locations of tips, screen order, or texts. These changes may affect various retention metrics from from the day 1 retention rate on down to the long term retention rate.
It is highly recommended that you don't try to save money when it comes to the first session or the onboarding session. Pass as many events as you can because they will help you track the entire user journey on the first day and later use these data to build marketing funnels.
devtodev, for example, has a ‘Tutorial steps’ report. It is a simplified marketing funnel focused on the first session where you can analyze the first one hundred steps taken by the users.
Use case 1. One of devtodev's clients integrated one hundred steps including the invisible ones (when the app downloads textures, visuals). They found out that the game has the highest churn rate at the invisible steps: users simply were getting tired of waiting for the level to download and left. The developers made the only possible conclusion: they need to improve the download speed of the tutorial.
Use case 2. A game threw a critical error when trying to connect to Facebook during the tutorial completion. This happened for 20% of users - these people could not even get a chance to try the game. The developer analyzed the first session in great detail and found the error.
Step 4. Ask Yourself “The Most Important Question”
With experience comes understanding of a simple idea:
Analytics is done not for the sake of analytics, but rather for making the right decisions.
After you finish making the list of events that you would like to integrate, ask yourself the most important question - what are you going to do with the data when you see them in a report? Will you be able to make a decision based on the obtained information?
Use case 3. One of the clients decided to pass to the analytics system an event called ‘hit during a battle’. However, player characters always make many hits during each battle and thereafter the number of stored data points (lines in the database of the analytics system) increased several times. How was the client going to use the information? They could keep track of the number of hits done by every player during every battle. But what’s the use of it? In theory, they could somehow improve their battle sessions. However, it was made clear later that they were not going to make any decisions based on the obtained information. They collected information for the sake of information (but it amounted to 80% of the data stored by the client).
By the way, if the number of hits during the battle is so important for you, you can pass it as an event parameter and then it will take only one cell but not N lines (read about it below).
So, after completing your list of events, you need to ask yourself “the most important question”. It's possible that you will delete some events without regret.
Step 5. Basic and Custom Events
The way analytics systems operate varies. However, all of them tend to have basic and custom methods and events. The basic events are pre-set events that are handled by standard handlers. The custom events are absolutely any events passed by the client. They are restricted only by the client’s imagination and the system’s technical capabilities.
You can take a look at all the basic events available in the devtodev platform. It’s highly likely that they cover at least part of the events from your list. It means that you can retrieve this information with one click (if you need data on custom events, you need to create a report manually).
In devtodev, beside the basic events (sessions and payments) there are some standard events made especially for games. They give you access to more reports that describe user behavior in different game levels and locations.
This allows you to save time on implementing custom events and gives you an “out-of-the-box” solution for your game. Here are descriptions of seven events with examples from different games.
A session is one user visit to an app. The information about sessions allows you to calculate metrics like DAU, MAU, WAU, retention, and session properties (length, number of sessions per user, etc).
This event gets integrated automatically during SDK implementation and gets called when the user opens the app or shifts focus on it. Keep in mind that analytics systems handle the event differently. For example, they can take the loss of focus, certain periods of inactivity (like in devtodev), or app closure as the end of the sessions. So, you need to be very clear about what your analytics system considers a session. You can obtain the information from the system’s documentation.
Another very important event is 'realCurrencyPayment' in real-world currency - a traditional in-app payment. You can use this event to access all financial metrics and reports such as Gross, Revenue, Average Check, ARPU, ARPPU, paying share, etc. If you combine the realCurrencyPayment event and the session event, you can have access to Cumulative ARPU and LTV - two extremely informative reports.
In in-game stores, users often purchase virtual currency rather than some items. They can later use this virtual currency at their discretion - buy extra moves, super abilities for their character, lives, boosters or anything else that the game has in store.
To keep the exchange of virtual currency to some in-game goodies under control, it’s important to integrate an event called ‘VirtualCurrencyPayment’. It allows you to keep track of and compare the number of item purchases and their volume (both total and by levels) and also analyze the shopping cart structure.
CurrencyAccrual is one more event that allows you to analyze and control movement of the in-game currency through the levels. Use it to track the amount of in-game currency earned through normal gameplay, the amount that was purchased and the amount available to the users at certain levels.
In some games, the player levels up quite often: they improve the skills and abilities of their character, upgrade the armor and weapon, etc. Usually, it’s a linear process when the N level is followed by the N+1 level. To keep it under your watchful eye, you can integrate the LevelUp event that is passed at the moment the character moves to the next level. It allows you to create reports that contain data on the state of the character at all levels including the amount of in-game currency. It means that you will have a very clear picture of the currency distribution by all levels.
Some games (especially those of the match-3 genre) consist of many levels that get unlocked as the player character reaches a certain level. Meanwhile all the completed levels keep on being available for a replay any number of times. It means that the playthrough can be non-linear: after the user completed the first 20 levels, they can come back to the tenth level and replay it. The attempt can be either successful or unsuccessful, and it also influences the numerical indicators: the number of stars, the amount of resources, currency, etc.
If you want to analyze all playthrough attempts, their success and effect on the balances, you can integrate the ProgressionEvent. It can pass all the necessary information that will allow you to create reports with the data broken down by game locations.
Read more: Game level progression
If your game has a tutorial level, you can integrate a tutorial step event at each stage of the tutorial (start, finish, skip tutorial) and use this data in reports to find out the amount of time necessary for the users to complete the tutorial, the number of drop-offs, the stages with the highest drop-off rate.
If you implement these basic events, you will collect enough information to study the first session in great detail. You’ll be able to analyze purchases and other financial metrics.
Step 6. Make Sense of Event Parameters
You can pass both events and their parameters to the system: how long did it take to complete a level, what was a battle score, how many attempts, steps, resources did it take, etc. You can use the parameters in any reports including the marketing funnels.
Take a minute to think about parameters that accompany the event.
It’s important to differentiate between user parameters and event parameters. The user parameters include information about the subject - the one who completed the event. It doesn’t contain information about the event. For example, user parameters are:
registration date. This is an extremely important parameter. The entire cohort analysis is based on it;
traffic sources. Where did the user come from?
paying status - whether this person is a premium or free user (if they do make purchases - how often and how regular);
device, country, language information.
The truth is that the analytics systems collect data on users separately. It means that there is no sense in using events to pass user parameters. Anyway, you will be able to create reports on payers and non-payers, traffic sources, devices, etc. Save on parameters.
A parameter is, by the way, a vehicle for saving data in itself.
Let’s say, you pass two different events - ‘battle won’ and ‘battle lost’. This way you risk reaching the system’s limit on events. However, you can pass a single parameter which is ‘battle finish’ and a ‘result’ parameter which can be either 0 or 1.
The same goes for the example described in the ‘Step 4’. You could pass a single event and add the number of hits as a parameter.
Read more: Rolling retention
Step 7. Testing
Imagine that you made a mistake in the events integration and soft-launched your game. Basically, you partly deprived yourself of data for analysis. Fixing the event integration will take some time, then you will have to wait for the store to update your game and after that wait even longer for all the users to install the new version.
Save yourself time and effort by testing the event integration!
Usually, the analytics platforms allow you to test the integration from the very beginning: you simply create an event in the app and it appears in the system simultaneously or with a several minute delay.
Read more: 25 Things analysts hate
Here are some useful tips that will help you fine-tune your analytics.
Tip 1. Consider the limitations of your analytics system
There are several limitations:
on the number of unique events;
on the number of events per day;
on the number of parameter of a single event;
on the value domain of the event parameters.
Also, you definitely need to consider the way the analytics system earns its profit. Some systems build their price plan on data points - the more events you pass the more you pay. Other systems build it on the size of your monthly audience - in this case, you can utilize more events and pay for the number of users.
Tip 2. Explore the capabilities of the selected analytics system
After you’ve selected the analytics system that will track actions of your users, explore its capabilities, functions and reports. This will give you a clear picture of how it presents the data.
Make sure that you’ll be able to solve all your problems and answer all your questions. For example: if you integrate events with parameters you can manage them the way you plan to.
Here are a few things to pay attention to:
Can you apply a filter to a funnel? Can you use a certain user cohort or people who came via a specific traffic channel to build a marketing funnel?
Can you use a cohort of users who did not complete a certain event to build a funnel?
What will the statistics on event parameters look like? Is daily statistics on event parameters available?
Can you use several parameters at a time to analyze user distribution?
Before you implement the system, you can draft some reports using your projected events and fake numbers. This will help you understand how they will look after the integration and how convenient they will be.
Tip 3. Don't hesitate to integrate the analytics system
It’s great when you already have an integrated analytics platform during the soft launch phase. You’ll be able to collect all data from the very get-go, keep an eye on metrics and their movements and eventually to make the best decisions during the entire lifecycle of the game.
Tip 4. Keep your data in more than one system
You can write your own analytics system or implement an out-of-the-box solution (for profit or free). It’s always a good idea to compare data from several different sources to be able to draw the right conclusions. So, you can use two analytics systems at once - the first one can be a paid solution and the second one can be free. The paid one will be your main source of information and the free system will be used for data verification.
Analytics is extremely important for any project regardless of its size and profitability. It’s an integral part of a game or an app that will supply you with great insights at all stages - from the soft launch to live ops. It will reveal all advantages and disadvantages of the project, help you find its areas of strength and weakness. Implement analytics into your workflow!