> ## 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 - Commerce

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 commerce 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>

## Commerce

Users conduct various actions until they make the purchase. Such actions include engaging with ads, checking product information, adding items to their wishlists, and more. User drop-off is frequent, even during the payment process. For example, some users drop off while filling out the required information on the order page.

Before defining Airbridge events for your commerce app, it's important to understand your app's typical user journey. Collecting the recommended Airbridge events for commerce apps will help answer the following questions:

* How much revenue has been generated by users who were acquired by certain ad campaigns?
* At which stage did users drop off?
* What are the products that users are most interested in?
* Which products in shopping carts or wishlists are unpopular?

## Recommended Event Taxonomy

Below is the recommended event taxonomy for commerce apps. The event taxonomy may vary depending on the typical user journey and the product item type.

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.

### Standard Event

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

<Note>
  **Defining Custom GroupBys**

  By configuring the [Custom GroupBys](/en/guides/creating-groupby), you can collect more information using the Action and Label. Refer to the example below.

  1. Define the Action and Label to collect information such as the product item name, product ID, and product category. Use an underscore (\_) or hyphen (-). For example, laptop-110-electronics.
  2. Configure the Custom GroupBy using underscore (\_) or hyphen (-) that you used in the previous step.
  3. By using the Custom GroupBys as in the Actuals Report, you can view the data by the product item name, product ID, and category.
</Note>

<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. You can use the attribute "Is First Event per User ID By Client," to collect information that can tell whether the sign-up was the first sign-up event.

    | <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="Search Results (airbridge.ecommerce.searchResults.viewed)">
    ###### The purpose of collecting this event

    You can identify the product items searched for by the users who opened the app through ads and learn which items the users are interested in.

    ###### Event definition sample

    You may define the Action or Label to collect the search keywords.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.ecommerce.searchResults.viewed`                                      |
    | Action, Label                                                                      | \{Search keyword}                                                               |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | Search Query                                                                    |
    | Trigger                                                                            | When the search results are displayed to the user                               |
  </Accordion>

  <Accordion title="Home Screen (airbridge.ecommerce.home.viewed)">
    ###### The purpose of collecting this event

    You can measure the number of users who viewed the home screen.

    ###### Event definition sample

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.ecommerce.home.viewed`                                               |
    | Action, Label                                                                      | \{The name of the stock item or the finance product item the user viewed}       |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | -                                                                               |
    | Trigger                                                                            | When the user views the home screen                                             |
  </Accordion>

  <Accordion title="Product Catalog (airbridge.ecommerce.productList.viewed)">
    ###### The purpose of collecting this event

    You can identify the product item lists viewed by the users who opened the app through ads.

    ###### Event definition sample

    You may define the Action or Label to collect information on the product item list the user viewed.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.ecommerce.productList.viewed`                                        |
    | Action, Label                                                                      | \{The product item list the user viewed}                                        |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | Product List ID                                                                 |
    | Trigger                                                                            | When the user viewed the product item list                                      |
  </Accordion>

  <Accordion title="Product View (airbridge.ecommerce.product.viewed)">
    ###### The purpose of collecting this event

    You can identify the product items viewed by the users who opened the app through ads.

    ###### Event definition sample

    You may define the Action or Label to collect the information on the product items. You can also collect the product price information as Value.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.ecommerce.product.viewed`                                            |
    | Action, Label                                                                      | \{Payment method}, \{The name of the product item the user viewed}              |
    | Value                                                                              | \{Product price}                                                                |
    | Attribute                                                                          | -                                                                               |
    | Trigger                                                                            | When the user views the product item page                                       |
  </Accordion>

  <Accordion title="Add To Wishlist (airbridge.addToWishlist)">
    ###### The purpose of collecting this event

    You can identify the product items added to the wishlist by the users who opened the app through ads and learn which items the users are interested in.

    ###### Event definition sample

    You may define the Action or Label to collect information on the users added to their wishlists.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span>                                                                                 |
    | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.addToWishlist`                                                                                                                                       |
    | Action, Label                                                                      | \{The category of the product item added to the wishlist}                                                                                                       |
    | Value                                                                              | \{The product price of the product item that is added to the wishlist}                                                                                          |
    | Attribute                                                                          | List ID, Currency, Total Quantity, Product ID, Product Name, Product Category ID, Product Category Name, Product Price,<br />Product Currency, Product Quantity |
    | Trigger                                                                            | When the items are added to the wishlist                                                                                                                        |
  </Accordion>

  <Accordion title="Add To Cart (airbridge.ecommerce.product.addedToCart)">
    ###### The purpose of collecting this event

    You can identify the product items added to the shopping cart by the users who opened the app through ads and learn which items the users are interested in or which items stayed for a long time in the cart but wasn't purchased.

    ###### Event definition sample

    You may define the Action, Label, Value, and Attribute to collect information on the product items the users added to their shopping carts.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span>                                                                                                                  |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | Category                                                                           | `airbridge.ecommerce.product.addedToCart`                                                                                                                                                        |
    | Action, Label                                                                      | \{The category of the product item that is added to the cart}, \{Brand name of the product item added to the cart}                                                                               |
    | Value                                                                              | \{The price of the product item added to the cart}                                                                                                                                               |
    | Attribute                                                                          | Cart ID, Total Quantity, Currency, Product ID, Product Name, Product Price, Product Quantity, Product Currency, Product Category ID, Product Category Name, Product Brand ID, Product Brand Name |
    | Trigger                                                                            | When an item is added to the cart                                                                                                                                                                |
  </Accordion>

  <Accordion title="Initiate Checkout (airbridge.initiateCheckout)">
    ###### The purpose of collecting this event

    The payment page is where users enter the required information to purchase products. You can measure the drop-off rate of users who have navigated to the payment page.

    ###### Event definition sample

    You may use the attributes to collect information on product items that the user intended to purchase.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
    | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
    | Category                                                                           | `airbridge.initiateCheckout`                                                    |
    | Action, Label                                                                      | -                                                                               |
    | Value                                                                              | -                                                                               |
    | Attribute                                                                          | Currency, Total Quantity                                                        |
    | Trigger                                                                            | When the user navigates to the payment page                                     |
  </Accordion>

  <Accordion title="Order Complete (airbridge.ecommerce.order.completed)">
    **What you can track**

    Measure revenue from users acquired through ads. Use this data to calculate LTV (Lifetime Value) and ROI (Return on Investment), or optimize ad campaigns.

    **Event definition**

    Collect the purchase method using action and label. Collect the purchase amount as value to sum revenue. Use semantic attributes to capture additional order details.

    | <span style={{ display: 'inline-block', minWidth: '80px' }}>Element</span> | <span style={{ display: 'inline-block', minWidth: '150px' }}>Description</span>                                                                                                                                               | <span style={{ display: 'inline-block', minWidth: '120px' }}>Example</span>                                                        |
    | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
    | Category                                                                   | `airbridge.ecommerce.order.completed`                                                                                                                                                                                         | -                                                                                                                                  |
    | Action, Label                                                              | \{purchase method}                                                                                                                                                                                                            | Credit card, Bank transfer                                                                                                         |
    | Value                                                                      | \{purchase amount}                                                                                                                                                                                                            | 53250                                                                                                                              |
    | 어트리뷰트                                                                      | - Product ID<br />- Product Name<br />- Product Price<br />- Product Category ID<br />- Product Category Name<br />- Product Brand ID<br />- Product Brand Name<br />- Currency<br />- Product Quantity<br />- Transaction ID | - P12345<br />- Basic T-Shirt<br />- 19900<br />- C001<br />- Tops<br />- B100<br />- SSG Brand<br />- KRW<br />- 20<br />- T12345 |
    | Trigger                                                                    | When the user completes the order and arrives at the order confirmation page                                                                                                                                                  | -                                                                                                                                  |

    <Danger>
      **Important**

      * Always send `eventData.goal.semanticAttributes.currency`.
      * If your app supports social login (e.g., Naver, Kakao) or one-click payment (e.g., Naver Pay, Kakao Pay), set the trigger to when the confirmation screen appears. Sending the event before the confirmation screen loads may cause the event to fail to reach Airbridge.
    </Danger>
  </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="Share (airbridge.share)">
    ###### The purpose of collecting this event

    You can collect information on users who invited friends to the app or who used the sharing feature to share a promo campaign or content.

    ###### Event definition sample

    You may define the Action or Label to collect the promo campaign or content name the user shared. You can also use Attributes to collect additional information.

    | <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 promo campaign or content name the user shared}                           |
    | 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.

<Accordion title="Viewed Promo">
  ###### The purpose of collecting this event

  You can measure the impressions received for a promo page.

  ###### Event definition sample

  You may define the Action or Label to collect information on the promo page type. You can also use the Semantic Attributes to collect more information about the promo, such as the description of the promo page, the location of the promo page within the app, and more.

  | <span style={{ display: 'inline-block', minWidth: '80px' }}>Event Component</span> | <span style={{ display: 'inline-block', minWidth: '240px' }}>Description</span> |
  | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
  | Category                                                                           | `view_promotion_page`                                                           |
  | Action, Label                                                                      | \{Promo page type}                                                              |
  | Value                                                                              | -                                                                               |
  | Attribute                                                                          | Description, Location                                                           |
  | Trigger                                                                            | When the user viewed the promo page                                             |
</Accordion>

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

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