> ## Documentation Index
> Fetch the complete documentation index at: https://help.airbridge.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Recommended Airbridge Events - Gaming

To effectively analyze user behavior in Airbridge, it is essential to have appropriate event definitions and event taxonomies tailored to the specific industry of the service. Consult the recommended event taxonomy for the gaming services.

<Info>
  **Note**

  Before you continue reading on, you may need a basic understanding of Airbridge events. Refer to the following articles for more information.

  * [Understanding Events in Airbridge](/en/guides/airbridge-event)
  * [Event Taxonomy](/en/guides/airbridge-event-taxonomy)

  The following article from the developer guide is for developers.

  * [Getting Started with Airbridge SDK](/en/developers/airbridge-sdk-overview)
</Info>

## Gaming

Before defining Airbridge events for your game, it's important to understand the users who play your game or the users you want to target. Collecting the recommended Airbridge events for gaming apps will help answer the following questions:

* What in-game items do users purchase?
* Which users frequently play the game?
* How many users shared information about the game on social media?
* How many users invited friends?

## Recommended Event Taxonomy

Below is the recommended event taxonomy for gaming apps. The event taxonomy may vary depending on the game genre.

The Install, Deeplink Open, and Open events don't require any taxonomy setup for Airbridge to collect them, as the events are automatically collected once the Airbridge SDK is installed.

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/dlJwlqkEDPqGgCdx/asset/image/gaming-event-taxonomy-diagram.png?fit=max&auto=format&n=dlJwlqkEDPqGgCdx&q=85&s=32bee734c5a7c795c855b14102c6f7e7" alt="en 01 Gaming" width="1400" height="800" data-path="asset/image/gaming-event-taxonomy-diagram.png" />
</Frame>

### Standard Events

For the full list of Standard Events, refer to this [article](/en/guides/airbridge-event-types#standard-events).

<AccordionGroup>
  <Accordion title="Sign-up (airbridge.user.signup)">
    ###### The purpose of collecting this event

    You can identify the users who signed up after installing the game and measure their user retention.

    ###### Event definition sample

    You may define the Action or Label to collect the platform from which the user signed up.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.user.signup`                                                         |
    | Action, Label                                                                      | \{The platform from which the user signed up}                                   |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | -                                                                               |
    | Trigger                                                                            | When the "Sign-up complete" message is displayed                                |
  </Accordion>

  <Accordion title="Sign-in (airbridge.user.signin)">
    ###### The purpose of collecting this event

    You can identify the users who signed in and measure their user retention.

    ###### Event definition sample

    You may define the Action or Label to collect the platform from which the user signed in.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.user.signin`                                                         |
    | Action, Label                                                                      | \{The platform from which the user signed in}                                   |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | -                                                                               |
    | Trigger                                                                            | When the user completes sign-in                                                 |
  </Accordion>

  <Accordion title="Order Complete (airbridge.ecommerce.order.completed)">
    ###### The purpose of collecting this event

    You can measure the revenue generated by users acquired by different ads. Based on the aggregated revenue data, you can also measure metrics such as LTV and ROI or optimize your ad campaigns.

    ###### Event definition sample

    You may define the Action or Label to collect information on the category of the purchased item. To measure sales performance, the purchase amount shall be collected as Value. You can also use the Semantic Attributes to collect more information about the purchase.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.ecommerce.order.completed`                                           |
    | Action, Label                                                                      | \{Payment method}, \{Category of the purchased item}                            |
    | Value                                                                              | \{Purchase amount}                                                              |
    | Attribute                                                                          | Transaction ID, Currency, Product ID, Product Price, Product Quantity           |
    | Trigger                                                                            | When the user made the purchase                                                 |
  </Accordion>

  <Accordion title="Order Cancel (airbridge.ecommerce.order.canceled)">
    ###### The purpose of collecting this event

    To accurately calculate the revenue amount, the refund amount must be subtracted from the total purchase amount.

    ###### Event definition sample

    You may define the Action or Label to collect information on the payment method and the category of the purchased item that is canceled. The canceled amount shall be collected as Value.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.ecommerce.order.canceled`                                            |
    | Action, Label                                                                      | \{Payment method}, \{Category of the purchased item that is canceled}           |
    | Value                                                                              | \{Purchase amount that is canceled}                                             |
    | Attribute                                                                          | Transaction ID, Currency, Product ID, Product Price, Product Quantity           |
    | Trigger                                                                            | When the purchase amount is refunded after order cancelation                    |

    <Danger>
      **Attention**

      The Order Cancel event (`airbridge.ecommerce.order.canceled`) shall be defined so that the Transaction ID is collected as semantic attributes. The Transaction ID of the Order Cancel event must match the Transaction ID of the Order Complete event (`airbridge.ecommerce.order.completed`).

      For more details on defining the Order Cancel event, refer to this [article](/en/guides/analyzing-real-purchase-performance).
    </Danger>
  </Accordion>

  <Accordion title="Ad Impression (airbridge.adImpression)">
    <Note>
      **Note**

      If you want to measure the in-game ad revenue with Airbridge, integration with ad mediation platforms, such as [Google AdMob](/en/developers/google-admob-ad-revenue-integration) and [Unity LevelPlay](/en/developers/unity-levelplay-mediation-ad-revenue-integration), is recommended.
    </Note>

    ###### The purpose of collecting this event

    You can collect ad impressions within the game and determine the ads engage users the most.

    ###### Event definition sample

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.adImpression`                                                        |
    | Action, Label                                                                      | \{The placement where the in-game ad is displayed}                              |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | -                                                                               |
    | Trigger                                                                            | When the user finished watching the in-game ad                                  |
  </Accordion>

  <Accordion title="Achieve Level (airbridge.achieveLevel)">
    ###### The purpose of collecting this event

    By collecting this data, you can determine if the game is designed for users to enjoy with the appropriate difficulty level.

    ###### Event definition sample

    The information on the level or stage reached by the user must be collected as Action or Label to determine which level or stage the user reached.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.achieveLevel`                                                        |
    | Action, Label                                                                      | \{Game level or stage reached}, \{The server the user selected}                 |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | Level, Description                                                              |
    | Trigger                                                                            | When the user reaches a specific level or stage                                 |

    We recommend collecting the Achieve Level events in ranges rather than collecting them every time the user reaches a level. Refer to the table below.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Collection</span> | <span style={{ display: 'inline-block', minWidth: '140px' }}>Description</span>                                                                                                                                                                                  | <span style={{ display: 'inline-block', minWidth: '120px' }}>Actuals Report</span>                                                                                                                |
    | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Collect event for every level reached                                               | - If your game has 10 levels and the Achieve Level event is collected for every level reached, 10 events for reaching levels 1 to 10 can be collected.<br />- With the same logic, if your game is more complex and has 100 levels, 100 events may be collected. | - By selecting **Event Action** as a GroupBy, you can see the events grouped in different levels.  If you collect the Achieve Level event for the 100 levels in your game, you will see 100 rows. |
    | Collect event in ranges                                                             | - If your game has 100 levels, you can group 10 levels into 1 range. This way, up to 10 events can be collected.                                                                                                                                                 | - By selecting **Event Action** as a GroupBy, you can see the events grouped in different ranges. If you collect the Achieve Level event for 10 ranges in your game, you will see 10 rows.        |
  </Accordion>

  <Accordion title="Unlock Achievement (airbridge.unlockAchievement)">
    ###### The purpose of collecting this event

    By collecting this data, you can determine if the game is designed for users to enjoy with the appropriate level of difficulty.

    ###### Event definition sample

    The information on the mission or goal accomplished by the user must be collected as Action or Label to know which level or stage the user reached.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.unlockAchievement`                                                   |
    | Action, Label                                                                      | \{Mission or goal accomplished}                                                 |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | Achievement ID, Description, Score                                              |
    | Trigger                                                                            | When the user accomplishes a mission or goal                                    |

    We recommend collecting the Unlock Achievement events in ranges rather than collecting them every time the user accomplishes a mission or goal. Refer to the table below.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Collection</span> | <span style={{ display: 'inline-block', minWidth: '140px' }}>Description</span>                                                                                                                                                                                              | <span style={{ display: 'inline-block', minWidth: '120px' }}>Actuals Report</span>                                                                                                                  |
    | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Collect event for every mission or goal accomplished                                | - If your game has 10 goals and the Unlock Achievement event is collected for every goal accomplished, 10 events for accomplishing goals 1 to 10 can be collected.<br />- With the same logic, if your game is more complex and has 100 levels, 100 events may be collected. | - By selecting **Event Action** as a GroupBy, you can see the events grouped in different goals. If you collect the Unlock Achievement event for the 100 goals in your game, you will see 100 rows. |
    | Collect event in ranges                                                             | - If your game has 100 goals, you can group 10 goals into 1 range. This way, up to 10 events can be collected.                                                                                                                                                               | - By selecting **Event Action** as a GroupBy, you can see the events grouped in different ranges. If you collect the Unlock Achievement event for 10 ranges in your game, you will see 10 rows.     |
  </Accordion>

  <Accordion title="Spend Credits (airbridge.spendCredits)">
    ###### The purpose of collecting this event

    You can identify the items purchased using in-game credits or currency that is only usable within the game.

    ###### Event definition sample

    The credit amount used to purchase an item must be collected as Value to calculate the sum of the credit amount spent.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.spendCredits`                                                        |
    | Action, Label                                                                      | \{Credit amount used}                                                           |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | Transaction ID, Product ID, Product Name, Product Quantity                      |
    | Trigger                                                                            | When the user completes the purchase using the in-game credits                  |
  </Accordion>

  <Accordion title="Share (airbridge.share)">
    ###### The purpose of collecting this event

    You can collect information on users who invited friends to the game or who used the sharing feature to share content within the game.

    ###### Event definition sample

    You may define the Action or Label to collect the type of the link and the in-app location of the link generated by the user for sharing.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span>              |
    | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.share`                                                                            |
    | Action, Label                                                                      | \{The type of the links shared}, \{The location where the link was generated within the app} |
    | Value                                                                              | -                                                                                            |
    | Attribute                                                                          | Description, Shared Channel                                                                  |
    | Trigger                                                                            | When the user generates a link for sharing                                                   |
  </Accordion>
</AccordionGroup>

### Custom Events

If necessary, define additional Custom Events other than the events listed below to collect them.

<AccordionGroup>
  <Accordion title="Game Play (play_game)">
    **What you can track**

    Analyze detailed retention for users who play the game after installing the app.

    **Event definition**

    The trigger timing varies by genre. For RPG games, collect the event when the user taps the Start Game button. For puzzle or arcade games, collect it at the start of each stage.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>**Element**</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>**Description**</span> |
    | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
    | Category                                                                       | -                                                                                   |
    | Action, Label                                                                  | -                                                                                   |
    | Attribute                                                                      | -                                                                                   |
    | Trigger                                                                        | When the user starts a game or stage                                                |
  </Accordion>

  <Accordion title="Claim Bonus (claim_bonus)">
    **What you can track**

    Analyze users who claim bonuses in your game. Track which in-game actions lead to bonus claims.

    **Event definition**

    If your game distributes multiple reward types through bonuses, use the action or label to capture the reward type.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>**Component**</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>**Description**</span> |
    | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
    | Category                                                                         | `claim_bonus`                                                                       |
    | Action, Label                                                                    | \{bonus reward type}                                                                |
    | Value                                                                            | -                                                                                   |
    | Attribute                                                                        | -                                                                                   |
    | Trigger                                                                          | When the user claims a bonus                                                        |
  </Accordion>

  <Accordion title="Join Server">
    ###### The purpose of collecting this event

    If your game runs on multiple servers, you can use this event to identify a server preference among users who have been acquired from different campaigns.

    ###### Event definition sample

    You may define the Action or Label to collect information on the server name the user selected to play the game.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Category</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                          | `join_server`                                                                   |
    | Action, Label                                                                     | \{Server name}                                                                  |
    | Value                                                                             | -                                                                               |
    | Attribute                                                                         | -                                                                               |
    | Trigger                                                                           | When the user selects the server for playing the game                           |
  </Accordion>

  <Accordion title="Complete Patch">
    ###### The purpose of collecting this event

    You can measure user retention after patching your game.

    ###### Event definition sample

    To analyze user behavior after certain patches, you may define the Action or Label to collect information on the game version.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Components</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                            | `complete_patch`                                                                |
    | Action, Label                                                                       | \{Game version the patch is completed}                                          |
    | Value                                                                               | -                                                                               |
    | Attribute                                                                           | -                                                                               |
    | Trigger                                                                             | When the patch is completed                                                     |
  </Accordion>
</AccordionGroup>

<link rel="alternate" hrefLang="en" href="https://help.airbridge.io/en/guides/recommended-gaming-airbridge-events" />

<link rel="alternate" hrefLang="ko" href="https://help.airbridge.io/ko/guides/recommended-gaming-airbridge-events" />
