Designing Custom events

Design events are intended to provide deeper insights about the unique, custom actions players take in your game: those that are not a part of the core metrics and therefore not automatically tracked by GA.

Design events can be used to track multiple types of data in your game like tutorial completion, battle results or clicks on the device screen.

When instrumenting Design events, the event_id field is key as it essentially identifies the action that is happening. It should be unique for that particular event, in your game. It is important that an event_id describes the corresponding event as well as possible; this makes it easy to identify later when you have lots of events occurring.

Hierarchy name


In order to obtain the correct visualizations on your metrics, it is important to develop hierarchies structuring the data into sets of categories and subcategories (and possibly several levels of these).

This is a best practice that will make it easier for you to identify, organize and work with your telemetry data.

Although there is freedom when choosing the different subcategories, consistency should be maintained across the different events once the order is chosen.

We recommend structuring your hierarchy as explained below:

[category]:[sub_category]:[outcome]

  1. The first step in your hierarchy should be the category of events you are tracking. For example: Tutorial, PurchaseFlow, BattleName.
  2. The second step is the point at which the action is occurring, or the particular step that is being taken.
  3. The last item of the hierarchy should be the outcome of the event. This could be the action completed by the player, or the decision made by the player.

Hierarchy names and event limits


There are no limits to the amount of data your game can send to GameAnalytics. There is, however, a limit of 100,000 unique event_ids that GameAnalytics will process per game each day. For example, you might have the following Design events to track users starting and completing the steps of a funnel:

Tutorial:Step01:Start Tutorial:Step01:Complete Tutorial:Step02:Start Tutorial:Step02:Complete

Each of these is a unique event_id.

When designing event_id hierarchies it is a common mistake to nest events that have too many possible values. For example:

[monster type]:”kill”:[item id]

If [monster type] and [item id] have 1000 possible values, and all these occur in a day, then you have 1000*1000=1,000,000 unique events.

It is important to be careful when designing the event structure, so the game does not send too many unique events. In processing, GameAnalytics will start to ignore additional unique events if the number is above 100,000. This rarely happens, and is almost always due to games submitting dynamic content into the event string by mistake. This could be a position, value, monster id or some float value in the strings.

Concepts to track with Design events


There are many concepts that you can track using Design events to understand player behavior in your game. Some of the most common

  1. New user tutorial
  2. Purchase funnel steps
  3. UI clicks (e.g. clicking to enter the leaderboard)
  4. Character selection
  5. Ads watched in the game
  6. Death type
  7. Shares on a social network