Use Cases

Custom Events


Using Custom Events to Track First Monetization Balance, Triggers, and Path

Do you understand what conditions led your user to make a first-time purchase? There could be a variety of factors at play, e.g., their virtual currency balance, how close they were to leveling up, the stage of the game, etc. Understanding these reasons will help you to create optimal environments where users are more likely to spend.

Common Questions Answered:

  • What “state” is a user in when he/she monetizes for the first time?
  • What are the triggers that make a user monetize for the first time?
  • What paths do users take before monetizing for the first time?

How to Instrument:

  1. List the possible states in which a user may be before monetizing for the first time. In this example we use the balance of chips left. The ranges below should be logarithmic, i.e. each boundary should ideally be a factor of the previous one. For a game in which the chips balance usually exceed 10,000:

    • Player ran out of chips Player had between 1 and 10 chips remaining
    • Player had between 11 and 100 chips remaining
    • Player had between 101 and 1000 chips remaining
    • Player had between 1001 and 10000 chips remaining
    • Player had more than 10000 chips remaining
  2. List the possible triggers that push a user to monetize for the first time:

    • A dialog for offer #1 was presented
    • A dialog for offer #2 was presented
    • The player was out of chips
  3. List the possible paths that the player may use to monetize:

    • Purchased through upper Get Chips button
    • Purchased through lower Get Chips button
    • Purchased through the dialog for offer #1
    • Purchased through the dialog for offer #2
    • Purchased through the out of chips dialog
    • Purchased through the update dialog
  4. Create the custom corresponding custom events:

Balance

st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
Economyfirst_time_purchasebalance0_chips_left[amount][level]
Economyfirst_time_purchasebalance1_x_10_chips_left[amount][level]
Economyfirst_time_purchasebalance11_x_100_chips_left[amount][level]
Economyfirst_time_purchasebalance101_x_1001_chips_left[amount][level]
Economyfirst_time_purchasebalance1001_x_10000_chips_left[amount][level]
Economyfirst_time_purchasebalance10001_x_chips_left[amount][level]

Trigger

st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
Economyfirst_time_purchasetriggerdialog_offer_1_popup[amount][level]
Economyfirst_time_purchasetriggerdialog_offer_2_popup[amount][level]
Economyfirst_time_purchasetriggerout_of_chips[amount][level]

Path

st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
Economyfirst_time_purchasepathbutton_upper_get_chips[amount][level]
Economyfirst_time_purchasepathbutton_lower_get_chips[amount][level]
Economyfirst_time_purchasepathdialog_offer_1[amount][level]
Economyfirst_time_purchasepathdialog_offer_2[amount][level]
Economyfirst_time_purchasepathdialog_out_of_chips[amount][level]
Economyfirst_time_purchasepathdialog_upgrade[amount][level]

How to Visualize in the Dashboard:

Through the Custom Events dashboards, these can be visualized:

The hierarchy Economy, first_time_purchase is created with balance, path and triggers: description

By plotting this chart on the Event Timeline, the distribution across sessions of balances can be visualized. In this example, we see how players usually purchase for the first time when they ran out of chips: description

The path through which they purchase for the first time can also be plotted across the Event Timeline. In this example, they usually purchase for the first time using the Out of Chips dialog option: description

Finally, the triggers for purchasing for the first time can be visualized. In this example, the most frequent trigger is the fact that they ran out of chips; this trigger is more important than the two offer dialogs: description

Distribution Users


Tracking the Distribution of Users by Level in an Application

Pinpoint the “clogs” where users get “stuck” within your app. This will help you to address the issues that cause your users to get frustrated and drop off, and you’ll be able to better design your app to keep them highly engaged and returning frequently.

Common Questions Answered:

  • How can I look at a distribution of the number of users at any level in my game at any point in time?

How to Instrument:

  1. Instrument a custom event called User_Level_Positions or a name you choose.
  2. Each time a user advances to a new level, send the two custom event calls listed below:

    st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
    UserActionsUser_Level_Positions-1Level just completed
    UserActionsUser_Level_Positions1Level user is now on

How to Visualize in the Dashboard

In the Upsight Analytics dashboard, go to the event timeline view under the Intelligence tab.

  1. Select the custom event UserActions > User_Level_Positions
  2. In the Filter drop down menu, set the x-axis=level and event type=value (see screenshot below)
  3. You will see two different pieces of information depending on the timeframe you select.
    • If you select all of the data since this custom event was sent up until Day X, you will see a snapshot of the current user state at the end of Day X.
    • If you select a certain time range, e.g., the last week of data, and the custom event was first instrumented a month ago, you will get a look at the overall transition state during the time frame selected, i.e., what the distribution of users leveling up over that week was.

Filter Selection

1

Results

You can see that for this game (over the month of data selected), there seems to be a strong accumulation of users at Level 10 and not much change after that. This might be a good area to look into.

2

Poker Game Dynamics


By evaluating post-install performances, you will be able to better identify the marketing channels that produced your most engaged and/or profitable users. This data will help you to sharpen your marketing efforts to attract more high-quality users and eventually lower your customer acquisition costs.

A downloadable PDF of the following content is also available.

Common Questions Answered:

  • What game actions do poker players take when they’re playing the game?
  • How often do players win and lose?
  • How much money are players winning and losing?
  • With which hands are players winning and losing?
  • Are the players being grouped appropriately by skill level?
  • If there are bots in the game, are they properly calibrated?
  • Is the game then too easy or too difficult for players?

How to Instrument:

  1. List the possible poker-related actions that your players can do within the game. A typical example of these for Texas Hold’Em are:

    • Ante
    • Call
    • Check
    • Fold
    • Raise
  2. Decide the granularity with which you want to keep track of the winning and losing hands. A typical example is:

    • High card
    • One pair
    • Two pair
    • Three of a kind
    • Straight
    • Flush
    • Full House
    • Four of a Kind
    • Straight Flush
    • Royal Flush
  3. Create the corresponding custom events as follows:

    Actions

    Whenever a player takes one of the following actions during the game, send the corresponding custom event; Level is optional.

    st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
    pokergame_actionante[level]
    pokergame_actioncall[level]
    pokergame_actioncheck[level]
    pokergame_actionfold[level]
    pokergame_actionraise[level]

    Wins and Losses

    Whenever a player loses or wins a hand, the corresponding custom event below is sent, specifying what top hand they won or lost with, and the amount of chips won or lost

    st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
    pokergame_loss01_high_card[-chips][level]
    pokergame_loss02_one_pair[-chips][level]
    pokergame_loss03_two_pair[-chips][level]
    pokergame_loss04_three_of_a_kind[-chips][level]
    pokergame_loss05_straight[-chips][level]
    pokergame_loss06_flush[-chips][level]
    pokergame_loss07_full_house[-chips][level]
    pokergame_loss08_four_of_a_kind[-chips][level]
    pokergame_loss09_straight_flush[-chips][level]
    pokergame_loss10_royal_fllush[-chips][level]
    pokergame_win01_high_card[chips][level]
    pokergame_win02_one_pair[chips][level]
    pokergame_win03_two_pair[chips][level]
    pokergame_win04_three_of_a_kind[chips][level]
    pokergame_win05_straight[chips][level]
    pokergame_win06_flush[chips][level]
    pokergame_win07_full_house[chips][level]
    pokergame_win08_four_of_a_kind[chips][level]
    pokergame_win09_straight_flush[chips][level]
    pokergame_win10_royal_flush[chips][level]

How to Visualize in the Dashboard:

Using the Event Details and Event Timeline pages of the Intelligence tab, the game dynamics of the players can then be visualized. The three types of events (game_action, game_loss and game_win) will show up in the Poker folder as follows:

1

Select and plot the game actions to visualize what player do while in the game:

2

In this example, the most common action players make is to check, while the less common action is a call. This chart is useful to check the health of the game, the appropriate grouping of players by skill level; if bots are being used in the game, this can also indicate their skill calibration level. You can also see if changes introduced to the game, such as how rooms or tables are setup, significantly alter game play.

It is also possible to see an aggregated number of actions in a pie chart:

3

The pie-chart view shows the aggregate number of game actions for all players.

Furthermore, it is interesting to observe it in the Event Timeline view, which shows what happens with the players as they progress through the game and gain more experience. For example, here are the actions that they take as they progress in the game:

4

In this example, as the game progresses, you see that checking is becoming less frequent, while anteing and raising are becoming more frequent. That may show how the players acquire experience in the game and feel more comfortable participating and raising their bets.

Going back to the Event Details page, and selecting game_loss and game_win, the win/loss experience of the game can be illustrated in this chart:

5

In this example, players are winning about a fourth of the times they play overall. Again, changes made to the game, e.g., bots, room assignment, etc., can be monitored to ensure that players are having an enjoyable experience—not too easy and not too hard. By using the Value option when plotting, the amount of money won or lost can also be tracked.

In the Event Timeline page, it is possible to examine in further detail how players are exactly winning or losing the game, by selecting the hands with which they win or lose:

6

In this example, the hands with which players win as they progress in the game is shown. While it is common to win with a Royal Flush, it is unlikely to win with a High Card.

By plotting the game_loss subevents, the following chart can be created to examine losses:

7

In this example, it is very common to lose with a high card or a pair, but it is very uncommon to lose with higher hands.

These are just some examples of how the custom events can help you visualize game actions, wins and losses. This allows to better understand player experiences and behaviors within the game, and optimize the game accordingly.

PreInstall Events


Want to know how effective you are at converting interested users into actual users? Track the progress that it takes for a prospective user to register for your app. Then, you can optimize the install process.

A downloadable PDF of the following content is also available.

Common Questions Answered:

  • What is the conversion rate of users progressing through pre-install events?
  • Where are there large drop-offs in the pre-install process?
  • How can I track users through the pre-install process, and not just aggregated pageviews?

How to Instrument:

  1. Create a new application, separate from the production application, to track pre-install events

  2. To track this process, multiple API calls must be made

    • UCC and APA: track user acquisition by utilizing the UCC and APA messages
    • GCI: use goal counts to attribute step completion back to acquisition sources
    • EVT: use custom events to set up funnels and custom dashboards

How to Visualize in the Dashboard:

  1. Use the UCC and APA calls to track registration in the Acquisition tab

    • One functionality of Upsight Analytics' Acquisition tab is to attribute goal count completion of users back to specific acquisition sources.
    • To see this data, we recommend you send both a UCC message and an APA message when a user lands on the first page of registration, e.g., the landing page they are taken to after clicking an ad.
      • The reason to call both is to pass the three-tiered hierarchy of the specific ad with the UCC message, and then to attribute the user install to that specific ad with the APA message.
    • Then, implement the four goal counts (gc1 – gc4) as steps in the registration process, e.g., send a goal count every time a user lands on the next page of the registration process. This will give insight into not only where users are coming from, but also the conversion rate of installs based on specific ad networks and ad varieties.

      1

  2. Use the custom event EVT message to create funnels for the registration process.

    • For each step in the registration process, send an EVT message.
    • Upsight will then log each of those events, and make them available to be placed in funnels

    Funnels

    2

  3. Create custom dashboards to aggregate information about registrations.

    • Now that the API calls are set up and data is flowing in, creating custom dashboards is a great way to get information about the registration process.

      • Summary Table

        These tables are great for total counts of registration steps, as well as showing total conversion percentages from Step 1 to the Final Step. 4

      • Data Table

        These charts are great for seeing daily statistics of registration steps. Possible columns are number of users who started registration, number of users who completed registration, conversion percentages of those users.

        5

      • Charts

        Here you can plot day-by-day totals of registration steps, e.g., total users who started registration compared to total users who completed registration. 6

Track NewUser


Tracking New User Experience

First impressions matter. How are your users reacting to the first experience they have with your app? How does it affect the likelihood they will return? Identify drop-offs and optimize user flows to increase the chance they will come back.

A downloadable PDF of the following content is also available.

Common Questions Answered:

  • How do I track the progression of users through their first experience with the application?

How to Instrument:

  1. For every step in a new user flow, you will need to send one custom event when the each step is completed by the user. For example, a custom event hierarchy could look like this:

    st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
    GamePlayNewUserFlowStep1_Complete
    GamePlayNewUserFlowStep2_Complete
    GamePlayNewUserFlowStepN_Complete

How to Visualize in the Dashboard:

In order to visualize the new user flow of your application, you will need to create a funnel.

  1. In order to do this, log in to the Upsight Analytics dashboard and create a new funnel by navigating to Intelligence > Funnels.

  2. Prior to adding the steps in the funnel, each funnel step must first be made available. To do this, click the Add a Funnel Step button, select the custom event for the first step being completed (Step_1_Complete in our example above). Give the funnel step a name like Step 1 - New User Flow and click Add. Repeat this process for all steps in the new user flow. It is important to note that data is not made available to funnels until the custom event has been added as a funnel step. If a custom event was instrumented on the first of the month and it was added as a funnel step on the 15th of the month, the funnel will only have access to data for that custom event from the 15th going forward.

  3. Once the funnel steps have been added, simply drag and drop the funnel steps into the funnel area.

  4. Click Save. It will take an hour or two for the funnel to start showing data.

  5. When the funnel is available to view, what you will see is the number of unique users that completed each step in the new user flow. This visibility will allow you to identify any drop-off points in the experience of a new user.

    1

User Progression


Tracking User Progression with Custom Events and Funnels

By evaluating post-install performances, you will be able to better identify the marketing channels that produced your most engaged and/or profitable users. This data will help you to sharpen your marketing efforts to attract more high-quality users and eventually lower your customer acquisition costs.

A downloadable PDF of the following content is also available.

Common Questions Answered:

  • How are users progressing through my game?
  • What percentage of my users are completing each level?
  • How many sessions does it take users to complete Level N?

How to Instrument:

When a user completes each level, send the custom event below for the appropriate level completed.

  1. For every step in a new user flow, you will need to send one custom event when the each step is completed by the user. For example, a custom event hierarchy could look like this:

    st1 - Categoryst2 - Eventst3 - Sub-Eventn - Namev - Valuel - Level
    UserActionsNewUserFlowStep1_Complete
    GamePlayNewUserFlowStep2_Complete
    GamePlayNewUserFlowStepN_Complete

How to Visualize in the Dashboard:

To answer the question How are users progressing through my game?, you will need to create a funnel.

  1. Go to the Intelligence tab, select Funnels from the menu on the left and then click Create Funnel.
  2. If the available funnel steps does not yet contain the LevelN_Complete custom events, you will need to add them as available funnel steps. To do this, follow these steps:

    • Add Funnel Step > UserActions > LevelUp > select each LevelN_Complete event and give it a name before clicking the Create button. (Note: Data is not available for a funnel until the custom event has been added as a funnel step. For example, if the LevelN_Complete events are implemented on the first of the month and the funnel step for each is added on the 15th of the month, the funnel will only reflect the users that completed the levels after the 15th.)
  3. Once all of the funnel steps have been added, drag them into the funnel area in sequence order.

    1