How do I choose which events and event attributes to track?

Last Updated: Aug 12, 2015 03:53PM PDT

Are you having a hard time deciding which events to track in your application? How about an event’s attributes? Are you collecting the right ones, too many, too few? These are important issues, since you want to capture data that is relevant to solving your goals of increasing monetization, engaging and retaining your users, and improving your applications. It is critically important that you instrument and track the proper events data so as to provide clear, relevant, and useful analytics.

You may want to ask yourself a number of questions to help you make some of your tracking decisions:

  • What do I want to learn about my users?
  • What do I want to learn about how my users are using my app?
  • What events are the best conversion indicators?
  • What events are the best indicators of retention?
  • What events are the best indicators of revenues or monetization?
  • Does my app fit into a specific vertical market, such as gaming, travel, finance, etc.?

We can’t provide all of the answers with respect to what to track, but we can at least provide some insight into best practices for tracking event and event attribute data.

General Event Tracking Rules of Thumb

Here are some Rules of Thumb that might be helpful to you when deciding what to track in your application:

  • Only track events that are relevant to answering the questions above. If interested in monetization, track monetization events such as in-app purchases. If interested in retention, measure events that show your definition of retention (e.g., in a social shopping app track sharing product information with another user as opposed to merely searching for a product.)
  • Do not track events that are likely to be ‘one-time’ events UNLESS they are being used for segmentation.
  • Do track events that tend to be repeated by users. This will allow provide you with valuable information with respect to the design of your app, particularly when deciding the optimal spots for placing offers, etc.
  • Do not track event attributes that are likely to be unique, such as email address or street address. Apsalar should not be used as a way to collect data that is not relevant to any analytics. Collecting email addresses is fine for building an email list, but let your application collect such things by sending that information back to your servers.
  • If you are trying to look at cross-app conversions, make sure that you track the call to action event in app1 and the conversion event in app2. An example is a call to action to buy the paid version and then the conversion event being the launch of the paid version of the app.

Events for All Application Verticals

Many types of events are independent of your app’s vertical market and provide valuable information for all types of applications. Here are some examples of events and attributes that may be valuable to track across all types of applications. Remember, these are only examples to help you get your creative analytic juices flowing.

  • View_ad (ad_id)
  • Click_ad (ad_id)
  • Provide_geographic_data (zip_code, state, country)
  • Register (zip, state, country)
  • Provide_demographic_data (ageGroup, gender, educationLevel, maritalStatus)
  • Provide_interests_data (interestCategory1, interestCategory2, …)
  • Fill_survey (surveyName)
  • Signup_newsletter (newsletterTitle)
  • Signup_free_trial (offerName)
  • Signup_offer (offerName)
  • Geo_check_in (location_name, zip, state, country)

Events for Specific Application Verticals

This section provides some guidance on selecting events and attributes for specific verticals. Hopefully, the events and attribute names will be self-explanatory. These are only examples and do not cover all verticals, however, our experiences with our customers has shown that these examples are relevant to their applications in these verticals. You, as the analyst, will need to make the ultimate decision about what is right for your app.


  • Start_game (level)
  • Reach_level (level)
  • Battle (battleType, user_id1, user_id2, …)
  • game_action (actionName, actionArg1, actionArg2, …)
  • In_app_Purchase (SKU, description, purchaseCategory, quantity, applePriceTier, realCurrencyType) (for an iOS application)
  • In_app_Purchase (SKU, description, purchaseCategory, quantity, priceTier, realCurrencyType) (for an Android application)
  • Purchase_speedup_energy (energyType, virtualCurrencyType, amount)
  • Get_digital_good (digitalGood_id, digitalGoodType, virtualCurrencyType, priceTier, quantity)
  • Award_currency (virtualCurrencyType, awardAmountTier, gamerLevel)
  • Award_game_goods (goodsType, awardAmountTier, gamerLevel)

Social & Communication

  • In_app_send_message (fromAddress, toAddress)
  • In_app_receive_message (fromAddress, toAddress)
  • Message_network_friends (socialNetwork)
  • Message_network_public (socialNetwork)
  • Chat(user1_id, user2_id)
  • Call_one_to_one (user1Call_id, user2Call_id)
  • Search_people (keywords)
  • Search_information (keywords)
  • Befriend (friendingUser_id, befriendedUser_id)
  • Receive_feeds (receiveUser_id, fromUser_id)
  • View_photos (viewerUser_id, viewedUser_id, photoAlbum)
  • Message_network_public(socialNetwork)


  • Share_product_in_app (SKU, productType, fromUser_id, toUser_id)
  • Share_product_to_network (SKU, productType, from_user_id, to_network)
  • View_product (SKU, productType)
  • Browse_product (SKU, productType)
  • Scan_product (SKU, productType)
  • Search_product (keywords)
  • Compare_products ( SKU1, product1Type, SKU2, product2Type, …)
  • Purchase (SKU, description, currencyType, priceTier, quantity)
  • Purchase (shoppingCartData)


  • Book_table (restaurant_id, restaurantCategory, restaurantCity, numberGuests)
  • Book_hotel (SKU, hotelRating, hotelCity, hotelName, currencyType, priceTier, numberRooms)
  • Book_flight (SKU, airline, departureCity, desinationCity, currencyType, priceTier, seatingClass, numberTravelers)
  • Book_car_rental (SKU, description, currencyType, priceTier, quantity)
  • Book_ground_transportation (SKU, description, currencyType, priceTier, transportationCategory)
  • Book_package (SKU, description, currencyType, priceTier, quantity)
  • Book_add_on (SKU, currencyType, priceTier, addonCategory)
  • Purchase_hotel (SKU, currencyType, priceTier, quantity)
  • Purchase _flight (SKU, currencyType, priceTier, quantity)
  • Purchase _car_rental (SKU, currencyType, priceTier, quantity)
  • Purchase_ground_transportation (SKU, currencyType, priceTier, transportationCategory)
  • Purchase _package (SKU, currencyType, priceTier, quantity)


  • View_content (content_id, contentTitle, publication_id, publicationName, publicationIssue)
  • Click (content_id, link_id, publication_id, publicationName, publicationIssue)
  • View_publication_section (section_id, sectionTitle, publication_id, publicationName, publicationIssue)
  • Purchase_article (article_ id, articleTitle, publicationIssue, currencyType, priceTier)
  • Subscribe_magazine (publication_id, subscriptionLength, currencyType, priceTier)
  • Purchase_magazine (publication_id, publicationName, publicationIssue, currencyType, priceTier)
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
Invalid characters found