Recommended gaming app events

At a glance: Measure the quality of your users throughout their user journey by recording these suggested in-app events for your gaming app.

InApp_Events_games.png Gaming

Gaming apps include games such as arcade, strategy, educational games, and gambling. The typical events that we suggest recording are in-app purchases, sharing on social media, and inviting friends. In addition, you can include events such as leveling up and completing an in-game tutorial.

Recording events can help you determine:

  • What offers users purchase the most
  • How engaged users are
  • How many users post shares on social media
  • How many users invite friends to install the app

These events are also relevant for gaming apps that run on the following platforms:

  • Android Smart TV
  • Apple TV (tvOS)
  • Amazon Fire TV
  • Xbox
  • Windows mobile devices

 Important!

  • Make sure to read the instructions for marketers about implementing in-app events. 
  • To streamline the implementation process, download a CSV file that includes all of the typical in-app events described in this article, and then modify the events according to your business needs. Once complete, share the file with your developer.
  • For each recommended event included in this article, there are code samples for iOS, Android, and Unity developers.
  • Detailed instructions for your developer can be found in the AppsFlyer developer hub.

For more information about recording in-app events, see the Rich in-app events guide.

Flowchart_for_recommended_events gaming_app_user_journey

Recommended structures for predefined events

The following section provides a list of event structures that are typical to the gaming vertical. Each structure includes a predefined event name and the suggested event parameters to use. Note that in-app events can include any event parameters that meet your business needs.

Login (af_login)

Purpose

Understand the retention of your registered users

Trigger

Whenever the user successfully logs in

Event parameters

Can be sent without any additional parameters

Code examples

Android iOS - Objective C iOS - Swift Unity

AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.LOGIN, null);

Complete registration (af_complete_registration)

Purpose

Learn how many users installed the app and completed the signup process, and what signup methods your users prefer.

Trigger

When the user completes the signup process

Event parameters

Name Description Example value
af_registration_method Type of signup method email, Facebook

Code examples

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.REGSITRATION_METHOD, "Facebook");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.COMPLETE_REGISTRATION, eventValue);

Purchase (af_purchase)

Purpose

Many gaming apps allow users to purchase items, for example, coins, gems, or weapons. Recording these purchases can help you:

  • Determine the LTV of your users and the ROI of your campaigns across ad networks and ad agencies
  • Determine what offers are most popular with your users
  • Cross-reference campaigns with purchased items in order to optimize campaign targeting

Trigger

When the user lands on the thank you page after a successful purchase

Event parameters

Name Description Example value 
af_revenue Estimated revenue from the purchase 199.99
af_currency Currency code THB, USD
af_quantity Number of items purchased 2
af_content_id Item ID 001, 092
af_order_id Order ID 9277
af_receipt_id Receipt ID 9277

Code examples

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.REVENUE, "199.99");
eventValue.put(AFInAppEventParameterName.CURRENCY, "USD");
eventValue.put(AFInAppEventParameterName.QUANTITY, "2");
eventValue.put(AFInAppEventParameterName.CONTENT_ID, "092");
eventValue.put(AFInAppEventParameterName.ORDER_ID, "9277");
eventValue.put(AFInAppEventParameterName.RECEIPT_ID, "9277");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(),AFInAppEventType.PURCHASE, eventValue);

Level achieved (af_level_achieved)

Purpose

One of the main goals of users is to level up in games. Leveling up often unlocks new features and stages in the game and this encourages users to keep playing. Recording the level of achievement can help you:

  • Determine which campaigns generate the most active users
  • See what type of users are most active and engaged
  • Associate overall user activity with dimensions such as revenue

Trigger

When the user lands on the level completion page

Event parameters

Name Description Example value 
af_level Level the user achieved 3
af_score Score associated with user's achievement 500

Code examples

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.LEVEL, 10);
eventValue.put(AFInAppEventParameterName.SCORE, 500);
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.LEVEL_ACHIEVED, eventValue);

Tutorial completion (af_tutorial_completion)

Purpose

Tutorials provide your users with guidance on how to use the app. Recording this event can help you determine:

  • What topics users might have trouble with
  • What tutorials are not performing well 

Trigger

  • When a user completes the tutorial
  • When a user starts the tutorial but quits without completing it

Event parameters

Name Description Example value
af_success Whether the user completed the tutorial true
af_tutorial_id Tutorial ID 3
af_content Tutorial name Getting started

Code examples

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.SUCCESS, true);
eventValue.put(AFInAppEventParameterName.TUTORIAL_ID, "3");
eventValue.put(AFInAppEventParameterName.CONTENT, "Getting Started");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.TUTORIAL_COMPLETION, eventValue);

Share (af_share)

Purpose

Users like to share their achievements in games on social media sites. Sharing creates brand awareness and can drive more users to download and install your app. Recording this event can help you understand when users are most likely to share the app with their friends. Learn more about recording shares and invites.

Trigger

When a user successfully posts a share on social media

Event parameters

Name Description Example value
af_description Reason for sharing on social media, for example, a new high score or leveling up New high score, Level up, Game won
platform Platform used to post shares Facebook, WhatsApp, email

Code examples

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.DESCRIPTION, "New High Score");
eventValue.put("platform", "Facebook");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.SHARE, eventValue);

Invite (af_invite)

Purpose

Learn which social media sites users send invites to, and how many users invited their friends to download and install the app.

Trigger

When the user successfully invited a friend to download and install the app

Event parameters

Name Description Example value
af_description Context of invitation  Try this app

Code examples

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.DESCRIPTION, "Try this app");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.INVITE, eventValue);

Recommended structures for custom events

The following section provides an event structure that includes a custom event name and the suggested event parameter to use. Note that in-app events can include any event parameters that meet your business needs.

Bonus claimed (bonus_claimed)

Purpose

See how many users claimed bonuses that are offered to them, and associate claimed bonuses with user activity and engagement.

Trigger

When the user claims a bonus and it gets updated to their account

Event parameters

Name Description Example value 
bonus_type Type of bonus user claims Coins

Code examples

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put("bonus_type", "coins");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "bonus_claimed", eventValue);
Was this article helpful?