- Print
- DarkLight
- PDF
AppsFlyer is a widely used platform for mobile app analytics and attribution platform for tracking and analysis of user behavior in mobile applications. Once integrated into ViewLift Tools and your mobile apps, you can take advantage of both default and custom events in AppsFlyer. Default events are predefined by AppsFlyer and are automatically logged when certain actions are taken in your app, such as opening the app or making an in-app purchase.
In addition to default events, you can also create your own custom events specific to your app and data collection needs (such as when a user completes a TVOD/SVOD purchase, downloads content for offline viewing, or added something to their watchlist).
ViewLift can set up custom events of your liking and their properties. When an event occurs, we pass the event to the AppsFlyer server with the event name. The events are processed and can be viewed in the AppsFlyer dashboard.
This article aims to provide information about the various user events that are logged in AppsFlyer. To review the events, please refer to the Android in-app events and iOS in-app events sections below.
Key terms
Event | A meaningful action a user can perform in your app, with the request and the response being recorded. Some examples of events include a user downloading your app, adding to watchlist, initiating a subscription, making a purchase, or a failed attempt at subscribing. |
Property/Parameter | Event attributes that a developer passes along for context are necessary to understand the source of events and user actions. Structured as a key:value pair where key is the name of the property and value is the value given to that property. Example: EVENT_PARAM_PLATFORM: String value representing the platform (iOS or Android) the app is running on. |
Get Started
You must have an AppsFlyer account, and provide login access to the respective app teams, i.e. iOS, Android, and Fire TV at ViewLift.
Add AppsFlyer credentials to AppCMS Settings
Add the AppsFlyer iOS SDK and the AppsFlyer Android SDK Production environment keys in AppCMS > Settings > Analytics > AppsFlyer Credentials section.
Integrate AppsFlyer
The integration steps vary for every app. We have worked with AppsFlyer team to set up event tracking as listed in the integration guides for iOS and Android apps. Once the integration is complete for your apps, we will pass in-app events through your iOS and Android SDKs to AppsFlyer.
Note: This integration is available by default only for mobile apps. If you want us to send Roku, Fire TV, or other TV apps data, please contact AppsFlyer support. This type of data stream uses a full server-to-server integration which is an AppsFlyer enterprise feature.
Android in-app events
Following are the in-app events that are monitored and passed to AppsFlyer from Android mobile apps.
Name of the user event | (Purpose) Tracks when a user... | Associated properties passed to AppsFlyer |
Registration | Registers for the app | Subscription state: if the user is subscribed or not |
App Open | Opens the app | User ID: VL-generated userID User details: additional details about the logged-in user, such as their name, email address, or subscription status Entitlement state: whether the logged-in user has a subscription or not Register state: is the user logged in or not App version: version of the app that was opened Platform: device type (Android) Device ID: device ID of the phone on which the app is running |
Login | Logs in to the app | (For more information on these properties, please refer to the previous rows)
|
Logout | Logs out of the app | (For more information on these properties, please refer to the previous rows)
|
Subscription | Is subscribing to a plan |
|
Tvod_purchase | Purchases a TVOD content |
|
tvod_purchase_completion | Completes a purchase (TVOD) | deviceID, userID, plan, price, currency, contentId, contentName, and type |
Film Viewing | Views a film |
|
First App Open | Opens app for the first time | User ID and device ID are passed to AppsFlyer |
Engaged Installer | Engages with the app's installer or landing page | User ID & device ID are passed |
Registration Complete | Registers to create an account | user ID, user details, registration type, app version, and platform |
Subscription Initiated | Initiates a subscription within the app |
|
Subscription Completed | Successfully completes (buys) a subscription |
|
Subscription Failed | Attempts to subscribe to a plan fails |
DEVICE_ID_EVENT_VALUE, EVENT_PARAM_SOURCE, EVENT_PARAM_AMOUNT, EVENT_PARAM_PAYMENT_PLAN, EVENT_PARAM_PHONE_NO, EVENT_PARAM_COUPON_CODE, EVENT_PARAM_COUNTRY, EVENT_PARAM_DISCOUNT_AMOUNT, EVENT_PARAM_PLATFORM, EVENT_PARAM_PAYMENT_HANDLER, EVENT_PARAM_PAYMENT_MODE, EVENT_PARAM_CURRENCY, EVENT_PARAM_DISCOUNTED_AMOUNT, EVENT_PARAM_TRANSACTION_AMOUNT, EVENT_PARAM_SUBSCRIPTION_TYPE, EVENT_PARAM_COUPON_VALUE, EVENT_PARAM_SUBSCRIPTION_START_DATE, EVENT_PARAM_SUBSCRIPTION_END_DATE |
iOS in-app events
Here are the in-app events that AppsFlyer tracks for iOS.
Name of the event that occurred | Properties associated with the event |
---|---|
Page Viewed | appVersion, pageName, pageUrl, eventType |
Engaged Installer | appVersion, eventType |
Removed From Watchlist | appVersion,contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, eventType |
Added To Watchlist | appVersion, contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, eventType |
Watched | appVersion, watchedTime, stream, playSource, bitRate, audioItem, listenedTime, bufferTime, bufferCount, eventType |
Play Started | appVersion, playSource, contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, playbackType, eventType |
First App Open | appVersion, Registered, Entitled, eventType |
App Open | appVersion, Registered, Entitled, eventType |
Offline Download | appVersion, playSource,contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, playbackType, watchedTime, stream, bitRate,showName, episodeNumber, seasonNumber, eventType |
Login | appVersion, Registered, registrationType, Entitled, eventType |
Signed Up | appVersion, Registered, registrationType, Entitled, eventType |
Subscription Failed | appVersion, paymentHandler, country, freeTrial, discountAmount, amount, currency, paymentPlan, transactionID, planStartDate, planEndDate, source, eventType |
Purchase Failed | appVersion, paymentHandler, country, freeTrial, discountAmount, amount, currency, paymentPlan, transactionID, planStartDate, planEndDate, source, eventType |
Subscription Completed | appVersion, paymentHandler, country, freeTrial, discountAmount, amount, currency, paymentPlan, transactionID, planStartDate, planEndDate, source, eventType |
tvod_purchase_completion | appVersion, paymentHandler, country, freeTrial, discountAmount, amount, currency, paymentPlan, transactionID, planStartDate, planEndDate, source, eventType |
Film Viewing | appVersion, Registered, Entitled, contentId, contentDuration, contentTitle, contentGenre, playbackType, networkType, eventType |
Cast | castType, playSource, appVersion, playSource, contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, playbackType, watchedTime, stream, bitRate,showName, episodeNumber, seasonNumber, eventType |
media_play | appVersion, playSource, contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, bitRate, eventType |
minutes_consumed | appVersion, language, minutesConsumed, content_type, content_id, content, media_duration, eventType |
Removed All From Watchlist | appVersion, playSource, contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, playbackType, eventType |
Searched | appVersion, keyword, eventType |
Logout | appVersion, Registered, Entitled, eventType |
View Plans | appVersion, source, eventType |
First watched | appVersion, playSource, contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, playbackType, eventType |
Subscribed and Watched First | appVersion, playSource,contentId, contentDuration, contentTitle, contentType, contentGenre, networkType, directorName, actorName, showName, playbackType, eventType |
Subscription Initiated | appVersion, paymentHandler, country, freeTrial, discountAmount, amount, currency, paymentPlan, transactionAmount, eventType |
Add To Cart | appVersion, paymentHandler, country, freeTrial, discountAmount, amount, currency, paymentPlan, transactionAmount, eventType |
As per Apple's mandate, the ATT prompt will be displayed once on the first launch of your app to obtain user consent after the AppsFlyer iOS SDK has been integrated.