In-app events

In-app events provide insights into how users interact with your app. AppsFlyer SDKs enable you to easily log these interactions.

In-app events SDK guides

Anatomy of an event

In-app events consist of 2 parts:

  • Event name: The unique event identifier. It is usually how marketers see the event in the dashboard.
  • Event value: An object that consists of key-value pairs called event parameters. Event parameters provide additional context and information about the occurring event

Event names and event parameters can be either predefined or custom.

Predefined events and event parameters

Predefined event names and parameters describe commonly occurring in-app scenarios and therefore already exist system-wide, without necessitating the marketer to define and map them throughout their marketing stack.

The advantages of using predefined event names/parameters are:

  • They automatically map to their equivalent fields in 3rd-party platforms and marketing tools, such as Facebook Ads Manager and Google Ads.
  • Updates to predefined event names/parameters are transparent to you and automatically propagate to our partners and SRNs via postbacks.

Technically, predefined event names/parameters are strings prefixed with af_.

Custom events and event parameters

️ Attention

To avoid confusion, please don't prefix Custom event names/parameters with af_.

Custom event names and parameters are user-defined and usually describe scenarios that are specific to your app's business logic and your users' interaction with the app.

Valid custom event names

Custom event names can be up to 45 characters long. Non-English characters are supported.

Valid custom event parameters

Custom event parameters:

  • Must not exceed 1000 characters; if longer, it might be truncated
  • Pricing and revenue: use only digits and decimals, for example, 5 or 5.2
  • Pricing and revenue values can have up to 5 digits after the period, for example, 5.12345

Offline in-app events

If a user initiates an event when the internet connection is unavailable, AppsFlyer is still able to record it:

  • The SDK sends the events to AppsFlyer servers and waits for a response
  • If the SDK doesn’t receive a 200 response, the event is cached
  • Once the next 200 response is received, the cached event is sent to the server
  • If there are multiple events in the cache, they are sent to the server one after another.



  • The SDK can cache up to 40 events, which means that only the first 40 events that happen offline are saved. Everything that comes afterward until the next 200 response, gets discarded
  • The event time that appears in the raw data is the time the event is sent to AppsFlyer after the device goes online again. It is not the actual time that the event takes place.

Updated 5 days ago

In-app events

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.