At a glance: The data field dictionary (raw data specification) describes field contents. It should be used to help you understand what fields mean, how they are formatted, and when they are available.
Overview
The Raw data field dictionary table lists the raw data fields available in various AppsFlyer reports. The table is consistently being updated as additional raw data fields are added in AppsFlyer.
The columns in the dictionary table are:
- Field group: Logical grouping based on field use. Note! Fields in the ad revenue group are displayed in raw data reports either as their own columns or populated as part of the Event value.
-
Name:
- Field name as it displays in Data Locker and Push API reports.
- The notation [n] means that there are multiple instances of the same field, the difference being the instance number. For example, Sub Param [n] means, Sub Param 1, Sub Param 2, ..., Sub Param 5. The range of n values is noted as (n=1-5).
-
Field Name:
- Field name used in reports provided via the Export page and Pull API.
- The notation [n] means that there are multiple instances of the same field, the difference being the instance number. For example, Sub Param [n] means, Sub Param 1, Sub Param 2, ..., Sub Param 5. The range of n values is noted as (n=1-5).
-
Source: The original source location of the field content, for example:
- Link: Attribution links (see AppsFlyer attribution link structure and parameters) or by API from SRNs where relevant.
- SDK: Collected via the SDK in the app.
- AF: Generated by AppsFlyer.
- and more.
-
Description
- Some fields have different meanings depending on the context of the event, for example as a result of a UA or retargeting campaign.
-
Format: Field type and length.
- String: The maximum length of the String. We don't recommend exceeding 1024 characters in length or the field length limitations found here.
-
Date time:
- String with the format,
yyyy-mm-dd hh:mm:ss. For example,2019-09-17 00:09:25The time zone used to display the data depends on the data delivery tool as follows:- Export data page: app-selected time zone.
- Push API: time fields have a selected_time_zone option which means app-specific time zone otherwise UTC.
- Master API: Default is the app-selectable time zone.
- Data Locker: UTC
- Date fields in the CSV files have the format yyyy-mm-dd. When you open a CSV file in Excel, date fields are formatted using the computer's date and time settings. You can change the display format in Excel. To see the unformatted value, open the file using an editor.
- Push API:
- For timestamp fields in UTC: format
yyyy-mm-dd hh:mm:ss.sss. For example,2019-09-17 00:09:25.123 - For timestamp fields in the selected time zone: format
yyyy-mm-dd hh:mm:ss.sss±th:tm. For example2019-01-20 04:51:16.000+0000
- For timestamp fields in UTC: format
- String with the format,
- Enum n char: Enum fields can only contain specific values. For example, cost currency has 3 characters and can contain only currency codes as specified
-
Enum 5 char boolean: The value of the field can be either
TRUEorFALSE
Tip
- To sort the table, click on a column name.
- You can also download the table.
- The downloaded CSV contains additional fields to those mentioned above:
-
Part of main AppsFlyer report schema:
- The majority of AppsFlyer reports are built from the same schema and contain the same fields.
- Some fields, may be populated with null or empty values, depending on the report, and whether the data is collected from ad networks, advertisers, device platforms, etc.
- When configuring your BI systems, it's best to configure all main AppsFlyer schema fields, even if a given report always returns them as null or empty values. This enables you to easily ingest the data if and when it becomes available.
- If a field is not part of the main AppsFlyer report schema, it's only contained in specific reports. For example, SKAN reports.
- Report delivery method: The downloaded CSV indicates whether a given field is available via Push API, Export data/Pull API, and Data Locker. Note: Even if a field is part of the main AppsFlyer report schema, it may not be part of reports delivered by a specific method. For example, the placement field is part of the main AppsFlyer schema, but it only displays in reports delivered via Data Locker, Pull API, or the Export data page; not via Push API.
-
Part of main AppsFlyer report schema:
| Field group | Name | Field name | Source | Description | Format |
|---|---|---|---|---|---|
| Attribution | ad_id | Ad id | Link |
A unique identifier assigned to a specific ad
|
String |
| Attribution | ad_id__assist_[n] (n=1-3) | AF |
A unique identifier assigned to a specific ad coming from the first assisting attribution
|
String | |
| Attribution | ad_name | Ad name | Link |
A descriptive label assigned to an ad
|
String |
| Attribution | ad_name__assist_[n] (n=1-3) | AF |
A descriptive label assigned to an ad coming from the first assisting attribution
|
String | |
| SKAN | ad_network_ad_id | Ad ID | Ad network | Ad ID | String |
| SKAN | ad_network_ad_name | Ad name | Ad network | Ad name | String |
| SKAN | ad_network_adset_id | Adset ID | Ad network | Adset ID | String |
| SKAN | ad_network_adset_name | Adset name | Ad network | Adset name | String |
| SKAN | ad_network_campaign_id | Campaign ID | Ad network | Campaign ID reported by the ad network to AppsFlyer | String |
| SKAN | ad_network_campaign_name | Campaign | Ad network | Campaign name reported by the ad network to AppsFlyer | String |
| SKAN | ad_network_channel | Channel | Ad network | Field is added to reports, but won't necessarily be populated | String |
| SKAN | ad_network_creative | Creative | Ad network |
|
String |
| SKAN | ad_network_name | Ad network name | Ad network |
Ad network name reported by the ad network to AppsFlyer.
|
String |
| SKAN | ad_network_source_app_id | Ad network source app ID | Ad network | Publisher app ID reported by the ad network. Use to help reconcile cost; reported by the ad network. The publisher app gives the basis for this data. | String |
| SKAN | ad_network_timestamp | Ad network timestamp | Ad network |
|
Timestamp |
| Device info | ad_personalization_enabled | Ad personalization enabled | SDK | Indicates whether the user has consented to allow Google to use their user-level data for personal ads (true), or not (false) | Boolean |
| Attribution | ad_placement | Ad placement | Link | Populated to CTV ad placement | String |
| Ad revenue | ad_revenue_ad_type | Ad revenue ad type | Ad revenue SDK | The type of the ad that was displayed | String |
| Ad revenue | ad_revenue_custom_parameters | Ad revenue custom parameters | Ad revenue SDK | The custom parameters provided by the advertiser via the ad revenue SDK for ads displayed in the app. | String |
| Attribution | ad_type | Ad type | Link |
Ad type defines the type of ad which generated the engagement
|
String |
| Ad revenue | ad_unit | Ad unit | Ad revenue API | Ad revenue ad segment name when A/B testing is conducted | String |
| Device info | ad_user_data_enabled | Ad user data enabled | SDK | Indicates whether the user has consented to allow Google to use their user-level data for measurement and personalized advertising (true), or not (false). | Boolean |
| Attribution | adset_id | Adset id | Link |
A unique identifier for an ad set within a campaign
|
String |
| Attribution | adset_id__assist_[n] (n=1-3) | AF |
A unique identifier for an ad set within a campaign coming from the first assisting attribution
|
String | |
| Attribution | adset_name | Adset name | Link |
A grouping of ads within a campaign
|
String |
| Attribution | adset_name__assist_[n] (n=1-3) | AF |
A grouping of ads within a campaign coming from the nth assisting attribution
|
String | |
| Device info | advertising_id | Advertising ID for Android devices | SDK |
|
String |
| Attribution | advertising_id_type | Advertising id type | Link |
|
String |
| Attribution | advertising_id_value | Advertising id value | Link |
A unique identifier value for a device that is resetable by the user.
|
String |
| Attribution | af_ad | Ad | Link | Ad name | String |
| Attribution | af_ad_id | Ad ID | Link | Ad ID | String/Int |
| Attribution | af_ad_type | Ad type | Link |
|
String |
| Attribution | af_adset | Adset | Link | Adset name, identifies a group that contains one or more ads | String |
| Attribution | af_adset_id | Adset ID | Link | Adset ID, identifies a group that contains one or more ads | String |
| SKAN | af_attribution_flag | AF attribution flag | AF |
|
Boolean |
| Attribution | af_attribution_lookback | Attribution lookback window | Link |
|
Characters |
| Attribution | requested_lookback_window | AF |
Raw unparsed value specified on the engagement URL. Used when determining the time period during which a click or impression can be attributed to a conversion.
|
String | |
| Attribution | af_c_id | Campaign ID | Link | Campaign ID | String |
| IAP | af_cancelation_date_ms | AppsFlyer purchase validation | Date of the cancelation | ||
| Attribution | af_channel | Channel | Link | Media source channel. Example: YouTube for Google, Instagram for Meta ads | Dynamic Enum String |
| Attribution | af_cost_currency | Cost currency | Link | 3-letter currency code (USD, EUR) that complies with ISO-4217. Default is USD. | String |
| Attribution | af_cost_model | Cost model | Link | Cost model reported on the attribution link. CPC/CPI/CPM/Other. Currently, all cost is calculated according to CPI regardless of this value | String |
| Attribution | af_cost_value | Cost value | Link | Amount of Cost Currency. 4 digits after the decimal point permitted. Example: 320.5095 | String |
| Subscription | af_cuids | CUIDs | AppsFlyer purchase validation |
|
|
| IAP Subscription | af_discount_id | Discount ID | AppsFlyer purchase validation | The offer ID presented to the user during the initial purchase. The ID is populated only when there is a discount code. | |
| Subscription | af_discount_type | Discount type | AppsFlyer purchase validation |
The discount type redeemed by the user. Possible values:
|
|
| Attribution | af_engagement_destination | Engagement destination | AF | Indicates the category of the destination linked from the ad, such as a web landing page, a mobile app (via a deep link or an app store), or other destination types such as CTV, PC, or Console. | String |
| IAP Subscription | af_environment | Environment | AppsFlyer purchase validation | The environment from which data is received, either production or sandbox. | |
| Subscription | af_expires_date_ms | Subscription expiration date | The expiration date of the current subscription billing cycle | ||
| Attribution | af_keywords | Keywords | Link | Word(s) used in the user's online search. As reported by the ad network | String |
| IAP Subscription | af_net_revenue | Net revenue | True Revenue API | Net revenue calculated based on all factored reasons. See af_net_revenue_factors. | |
| IAP Subscription | af_net_revenue_country | Net revenue country | True Revenue API |
Two-letter ISO country code for which the tax is applied.
|
|
| IAP Subscription | af_net_revenue_factors | Net revenue factors | True Revenue API |
An array representing all factored reasons that produce the reported af_net_revenue amount.
|
|
| IAP Subscription | af_net_revenue_postal_code | Net revenue postal code | True Revenue API |
String of letters and/or numbers
|
|
| IAP Subscription | af_net_revenue_subdivision | Net revenue subdivision | True Revenue API |
For some countries, there can be an additional state/subdivision. This is handled according to ISO 3166-2 subdivision codes.
|
|
| IAP Subscription | af_net_revenue_tax_exclusive | Net revenue tax exclusive | True Revenue API |
|
|
| IAP Subscription | af_net_revenue_tax_name | Net revenue tax name | True Revenue API |
Name appearing in the customer invoice that describes the specific type of tax.
|
|
| IAP Subscription | af_net_revenue_tax_rate | Net revenue tax rate | True Revenue API |
Number up to 4 decimal places representing the tax percentage collected.
|
|
| IAP Subscription | af_offer_id | Offer ID | AppsFlyer purchase validation | The offer ID applied to the transaction, when relevant, for example discounted or promotional offers. | String |
| IAP Subscription | af_original_transaction_id | Original transaction ID | AppsFlyer purchase validation |
|
|
| Subscription | af_period_type | Subscription period type | AppsFlyer purchase validation |
Possible values:
|
|
| IAP Subscription | af_product_id | Product ID | AppsFlyer purchase validation | The subscription product ID | |
| Attribution | af_prt | Partner | Link | Agency identifier. For SKAN, may not be populated | String |
| IAP Subscription | af_purchase_date_ms | Purchase date | AppsFlyer purchase validation | The purchase date for the reported product ID in-app event | |
| IAP | af_purchase_option_id | Purchase option ID | AppsFlyer purchase validation | The purchase option ID associated with the transaction. | String |
| IAP | af_purchase_option_type | Purchase option type | AppsFlyer purchase validation | The purchase option type of the transaction. Possible values (Android): buy, rent. | String |
| IAP | af_purchase_state | Purchase state | AppsFlyer purchase validation |
Possible values:
|
|
| IAP Subscription | af_purchase_token | Purchase token | AppsFlyer purchase validation |
|
|
| IAP Subscription | af_reason | Reason | AppsFlyer purchase validation |
In cancelation or churn-related events, the reason a user churned or canceled. Possible values:
|
|
| Attribution | af_reengagement_window | Reengagement window | Link |
Retargeting: The time period during which events are attributed to a retargeting campaign
|
String |
| IAP Subscription | af_refunded_transaction_ids | Refund ransaction ID | AppsFlyer purchase validation |
|
|
| Attribution | af_siteid | Site ID | Link | Publisher ID | String |
| IAP Subscription | af_store | Store | AppsFlyer purchase validation | The app store the subscription product was purchased from | |
| Attribution | af_sub[n] (n=1-5) | Sub param [n] | Link | Parameter populated by the advertiser in the attribution link | String |
| Attribution | af_sub_siteid | Sub site ID | Link | Sub-publisher ID | String |
| Subscription | af_subscription_ownership_type | Subscription ownership type | AppsFlyer purchase validation | FAMILY_SHARED means the user has access via family sharing. PURCHASED means the paying user made the purchase. | |
| IAP Subscription | af_transaction_id | Transaction ID | AppsFlyer purchase validation |
|
|
| Attribution | agency | Agency | Link |
Agency identifier
|
String |
| Attribution | agency__assist_[n] (n=1-3) | AF |
Agency identifier coming from the first assisting attribution
|
String | |
| Device info | amazon_aid | Amazon Fire ID | SDK | User-resettable advertising ID on Amazon devices. | String |
| Device info | android_id | Android ID | SDK | Permanent device ID | String |
| Attribution | app_group_id | App group ID | AF | Associated apps that belongs to a related OneLink template for cross platform attribution | String |
| App | app_id | App ID | SDK |
Unique app identifier in Appsflyer. Example:
|
String |
| App | app_name | App name | SDK |
The official name of the application as it appears in public app stores and HQ1. This value is user-facing and may differ from internal or bundle identifiers. Used for display, and reporting
|
String |
| Attribution | app_store_id | App store ID | AF | App ID as appears in the app store | String |
| App | app_type | App type | App clip |
Values:
|
String |
| App | app_version | App version | SDK |
The version of the customer app as reported by the customer's SDK or through AF S2S APIs
|
characters |
| App | app_version__conversion | App Version at Conversion | SDK |
The version of the customer app as reported by the customer's SDK or through AF S2S APIs, at the time of conversion.
|
String |
| Device info | appsflyer_id | AppsFlyer ID | SDK |
|
String |
| Device Info | appsflyer_id_type | AppsFlyer ID Type | SDK |
Identifies the source of the appsflyer_id_value such as the mobile SDK or web SDK.
|
String |
| Device Info | appsflyer_id_value | AppsFlyer ID Value | SDK |
A platform-scoped identifier used to represent a single context — either a mobile app install or a web session.
|
String |
| Device info | att | ATT | SDK |
|
String |
| Attribution | attributed_touch_time | Attributed touch time | AF |
|
Date Time |
| Attribution | attributed_touch_type | Attributed touch type | AF |
Classifies the engagement. Set by AppsFlyer after the engagement was matched with an install.
|
Enum |
| Protect360 | blocked_reason | Blocked reason | AF | Protect360: The reason the install is blocked. Example: install_hijacking, bots | String |
| Protect360 | blocked_reason_rule | Blocked reason rule (deprecated) | AF | Deprecated | String |
| Protect360 | blocked_reason_value | Blocked reason value | AF | Protect360: Additional information about the block. Example: Site ID, validation rule name/s | String |
| Protect360 | blocked_sub_reason | Blocked sub reason | AF | Protect360: Particular sub-reason for a blocked install. Example: Reason: install_hijacking. Sub-reason: referer hijack, CTIT_anomalies, validation_rules | String |
| App | bundle_id | Bundle ID | SDK |
|
String |
| Attribution | campaign | Campaign | Link | Campaign name | String |
| Attribution | campaign_id | Campaign id | Link |
A unique identifier for a specific advertising campaign
|
String |
| Attribution | campaign_id__assist_[n] (n=1-3) | AF |
A unique identifier for a specific advertising campaign coming from the first assisting attribution
|
String | |
| Attribution | campaign_name | Campaign name | Link |
A descriptive label assigned to an advertising campaign
|
String |
| Attribution | campaign_name__assist_[n] (n=1-3) | AF |
A descriptive label assigned to an advertising campaign coming from the first assisting attribution
|
String | |
| Attribution | campaign_type | Campaign type | AF |
The source bringing the user:
(1) In-app events/sessions not attributed to any media source. Alternatively, the data is deleted due to a privacy policy or GDPR request. |
String |
| Attribution | campaign_type | Campaign type | Specifies if the campaign is user acquisition, retargeting, or another type. | String | |
| Attribution | campaign_type__assist_3 | AF |
An AppsFlyer categorization of the Campaign's intent coming from the third assisting attribution
|
String | |
| Device info | carrier | Carrier | SDK | The carrier name provided by Android using getSimCarrierIdName(). See also carrier mapping. | String |
| Attribution | channel | Channel | Link |
The media source channel
|
String |
| Attribution | channel__assist_[n] (n=1-3) | AF |
The media source channel coming from the first assisting attribution
|
String | |
| Device location | city | City | AF | City of the device location. Usually, the value holds a city name, but it can also be districts, boroughs, etc., which are more accurate. | String |
| Device Location | city__conversion | City at Conversion | AF |
City of the device location at the time of conversion.
|
String |
| Attribution | click_id_type | Click ID Type | Link |
Network click-ID type. A click ID is a unique alphanumeric identifier appended to an ad click URL that enables accurate attribution by tracing which specific ad, campaign, or keyword generated the click.
|
String |
| Attribution | click_id_value | Click ID Value | Link |
Actual click-ID value from the landing URL, used for sending signals and to resolve full campaign hierarchy via partner APIs.
|
String |
| Device Location | continent | Continent | AF |
Two letter abbreviation of the continent name
|
String |
| Attribution | contributor[n]_af_prt(n=1-3) | Contributor[n] partner | AF | Agency or PMD - always converted to lowercase | String |
| Attribution | contributor[n]_campaign(n=1-3) | Contributor[n] campaign | AF | Contributor campaign | String |
| Attribution | contributor[n]_engagement_type (n=1-3) | Contributor[n] engagement type | AF |
Possible values:
|
Enum |
| Attribution | contributor[n]_match_type(n=1-3) | Contributor[n] match type | AF | Possible values are the same as match type. | String |
| Attribution | contributor[n]_media_source(n=1-3) | Contributor[n] media source | AF | Contributor media source | String |
| Attribution | contributor[n]_touch_time(n=1-3) | Contributor[n] touch time | AF | Contributor touch time | Date Time |
| Attribution | contributor[n]_touch_type(n=1-3) | Contributor[n] touch type | AF |
Possible values:
|
Enum |
| Attribution | contributor_[n]_engagement_type | Contributor[n] engagement type | AF | The contributor engagement type | Enum |
| Attribution | conversion_name | Conversion Name | AF |
The name of the conversion that was created in the AppsFlyer system due to the user activity. This field is related to conversion_type.
|
String |
| Attribution | conversion_type | Conversion type | AF |
The type of conversion:
(1) If conversion_type= reinstall and campaign_type=retargeting is equivalent to retargeting_conversion_type=re-attribution (2) In-app events/sessions not attributed to any media source. |
String |
| Attribution | cost_currency | Cost currency | Link |
The currency of the cost -- see cost_value
|
String |
| Attribution | cost_model | Cost model | Link |
The pricing model for the ad (e.g., CPC, CPM)
|
String |
| Attribution | cost_value | Cost value | Link |
The cost associated with the campaign -- see cost_model and cost_currency
|
MONEY |
| Device location | country_code | Country code | AF |
|
Enum |
| Device Location | country_code__conversion | Country Code at Conversion | AF |
Country code using ISO 3166 (alpha-2) at the time of conversion.
|
String |
| Monetary | currency_customer | Currency Customer | N/A |
The customer’s preferred currency — see revenue_value_customer.
|
String |
| Monetary | revenue_currency_original | Revenue Currency (Original) | SDK |
The currency of the original revenue as reported in the event. See revenue_value_original.
|
String |
| Attribution | custom_data | Custom data | SDK | Data set by the advertiser in the SDK or by S2S and most often used for integration with third-parties, Audiences, and so on. See Android and iOS | String | Object |
| Attribution | custom_dimension | Custom dimension | SDK | Reserved for AppsFlyer future use | String |
| Device Info | customer_user_id | Customer user ID | SDK |
The Customer User ID (CUID) is a unique user identifier. It is usually generated and set by the app owner at the time of user registration. The CUID lets app owners follow user journeys across different devices.
|
String | Integer |
| Device info | customer_user_id | Customer user ID | SDK | A unique app user ID, set by the app owner. | String | Integer |
| Device info | deeplink_url | Deeplink URL | SDK | The path for an internal activity in the app that users are deep linked into. Use this for deep linking and deferred deep linking. This contains the af_dp value on the attribution link |
String |
| Protect360 | detection_date | Detection date | AF | Date post-attribution fraud is detected. | String |
| Protect360 | protect_detection_state | Protect Detection State | AF |
|
String |
| Device info | device_category | Device category | The reported user_agent |
|
String |
| Device info | device_download_time | Device download Time | SDK | App download completion time using the device's Android/iOS clock and converted to UTC. The value always displays as UTC time. Format: yyyy-mm-dd hh:mm:ss.sss |
Date Time |
| Device info | device_id_type | Device ID type | SDK | Populated for CTV with the CTV platform ID type. For example, RIDA for Roku. | Enum |
| Device info | device_model | Device model | SDK | The commercial model name of the device. Example: xiaomi::Redmior iPhone7 | String |
| Device info | device_type | Device Type | SDK |
The commercial model name of the device.
|
String |
| SKAN | did_win | iOS |
Used to distinguish between campaigns contributing or attributed with the install.
|
Boolean | |
| Device location | dma | DMA | AF | Designated Market Area or geographic areas. Defined by the Nielsen company. Determining user location. | String |
| Device Location | dma__conversion | DMA at Conversion | AF |
Designated Market Area at the time of conversion.
|
String |
| Life-Time Value Events | end_user_event_type | End User Event Type | N/A |
Identifies the type of end-user event. Values include IN_APP for in-app events triggered by user actions, and SESSION for app launches.
|
Enum |
| Attribution | engagement_destination | Engagement Destination | AF | A business-level grouping that clusters multiple Platform values into broader buckets to allow meaningful reporting. This lets teams analyze performance broken by groups like "Mobile App", "Web", "CTV app", and etc, reflecting the category of platform the event occurred. Indicates the category of the destination linked from the ad, such as a web landing page, a mobile app (via deep link or app store), or other destination types like CTV, PC, or Console. | |
| Attribution | engagement_category | Engagement Category | AF |
The high-level grouping describing how a user interacted with an ad.
|
String |
| Attribution | is_integrated | Is Integrated | AF |
Is the media source integrated?
|
Boolean |
| Attribution | engagement_subtype | Engagement Subtype | AF |
The specific way a user interacted with an ad more granular than engagement_type
|
String |
| Attribution | engagement_subtype__assist_[n] (n=1-3) | AF |
The specific way a user interacted with an ad more granular than engagement_type
|
String | |
| Attribution | engagement_type | Engagement type | AF |
Possible values:
|
String |
| Attribution | engagement_type__assist_[n] (n=1-3) | AF |
The high-level grouping describing how a user interacted with an ad coming from the first assisting attribution
|
String | |
| Event | event_name | Event name | AF/SDK |
|
String |
| Event | event_revenue | Event revenue | SDK |
|
String |
| SKAN | event_revenue | Event revenue | AF | Formula: [sum of values for the specific event in USD]/[The number of events that happened on a specific day] | Float |
| Event | event_revenue_currency | Event revenue currency | SDK | The event revenue currency code reported to the SDK. | String |
| Event | event_revenue_usd* | Event revenue USD | AF |
|
String | Decimal |
| Event | event_revenue_xxx | Event revenue selected currency |
|
String | |
| Attribution | event_source | Event source | AF |
Possible values depend on the engagement type:
|
Enum |
| Event | event_time | Event time | Postback | Event time rounded down to the nearest hour | Date Time |
| Event | event_time | Event time | SDK |
|
Date Time |
| Event | is_first_event | AF |
|
Boolean | |
| Event | is_attributed | AF |
|
Boolean | |
| Event | device_event_time | Device Event Time | AF |
The device-side event timestamp (`af_timestamp`) recorded when the event was generated and added to the SDK cache. AppsFlyer SDKs send it as the time in millis since the Unix epoch. On Android, it is generated using `System.currentTimeMillis()`, and on iOS using an equivalent system API. The value is normalized server-side and stored as a GMT timestamp. Note: this is client-side time and is not fully trusted, as device clocks may be incorrect or intentionally changed.
|
Timestamp |
| Event | original_event_time | Original Event Time | AF |
The original time of the event occurrence before cut-off logic applied. Relevant for Very Late Events
|
Timestamp |
| Event | event_time__assist_[n] (n=1-3) | AF |
Time of the event occurrence coming from the first assisting attribution
|
TIMESTAMP | |
| Event | event_time__attribution | AF |
Time of the event occurrence coming from the attribution (engagement) event
|
TIMESTAMP | |
| Time | event_time__conversion | N/A |
Event timestamp (conversion, attribution, session, or in-app event). *Note*: event_time__conversion is a contextual alias.
|
Datetime | |
| Event | event_type | Event type | AF/SDK | The attribution event type. Example attribution event types: install, re-engagement, and so on. | String |
| PBA event | event_url | Event URL | Web SDK | URL of the webpage where event occurred (equals Original URL in website visits) | String |
| SKAN | event_uuid | AF | A unique random identifier enabling partners to identify duplicate postbacks | String | |
| Event | event_value | Event value | SDK | Event content generally sent from the AppsFlyer SDK. Stored as JSON; when the value is not parseable as JSON, it is wrapped using the key __unparseable__. If the value is longer than 3000 characters, it is truncated to 3000 and is_truncated = true is added to JSON | String |
| Event | event_order | Event Order | AF |
The event order counter as recorded on the device at the time the event was generated, in the format used by the AppsFlyer SDK. SDK name: iaecounter This is a continuously increasing counter that increments with each in-app event and resets upon app reinstallation. The value is sent from sdk as a string. Important: This field is generated on the device and may be modified by fraudsters.
|
Long |
| SKAN | event_value | Event value | S2S |
|
String (JSON) |
| SKAN | fidelity_type | Fidelity type |
|
Integer | |
| Protect360 | fraud_reason | Fraud reason | AF | Protect360: See blocked reason. | String |
| Protect360 | fraud_sub_reason | Fraud sub reason | AF | Protect360: See blocked sub reason. | String |
| Device info | gdpr_applies | GDPR applies | SDK | Indicates whether the user falls under DMA jurisdiction (true) or not (false) | Boolean |
| Attribution | gp_broadcast_referrer | Google Play broadcast referrer | Google Play store | Google Play Broadcast Referrer | String |
| Attribution | gp_click_time | Google Play click time | Google Play field |
Time of app page load in Google Play after an ad click.
|
Timestamp |
| Attribution | gp_install_begin | Google Play install begin time | Google Play store |
The time that installation begins
|
Timestamp |
| Attribution | gp_referrer | Google Play referrer | Google Play store |
The referrer URL of the installed package.
|
String |
| Attribution | hardware_id_type | Hardware id type | A unique identifier type for a device that is not resetable by the user. | String | |
| Attribution | hardware_id_value | Hardware id value |
A unique device-level identifier (e.g., Android ID, IMEI) that cannot be reset by the user. The value corresponds to the type specified in the hardware_id_type field.
|
String | |
| Attribution | http_referrer | HTTP referrer | AF | The URL of the web page that immediately preceded and linked to the customer's website. This is used as a attribution fallback when no specific attribution parameters (PID, UTMs, or Click IDs) are present in the visit URL. | String |
| Device info | idfa | IDFA | SDK | User resettable advertising ID found on iOS devices. If IDFA is not available it's typically populated with Zeros. | Characters |
| Device info | idfv | IDFV | SDK | Vendor ID provided by iOS | Characters |
| Device info | imei | IMEI | SDK | Permanent device ID | Characters |
| Ad revenue | impressions | Impressions | Ad revenue API | Number of times that the user saw the ad | String |
| Attribution | install_app_store | Install App Store | AF |
The app store from which the app was installed (e.g., Google Play, Samsung Galaxy Store, Xiaomi Marketplace, Huawei AppGallery). This field is relevant for Android only and populated by the app developer. See more details in our KB — Set up multi-store Android attribution
|
String |
| SKAN | install_date | Install date | iOS | Estimated by AppsFlyer based on the postback arrival time. | Time String |
| Attribution | install_time | Install time | Postback |
|
Date Time |
| SKAN | install_type | Install type | iOS | New installs | String |
| SKAN | interval | Interval | AF | Activity window intervals. | Integer |
| Device location | ip | IP | AF | IP address being IPV4 or IPV6. AppsFlyer uses the address to determine the user location. If needed, advertisers can mask the IP address from reports and postbacks. | String |
| Attribution | ip_address_type | Ip address type |
Specifies the format of the IP address provided in the ip_address_value field (e.g., IPv4, IPv6).
|
String | |
| Attribution | ip_address_value | Ip address value | AF |
IPv4 or IPv6 address value of the device. Can be MD5 or SHA256 hashed.
|
String |
| Device info | is_lat | Limit ad tracking | SDK |
Limit ad tracking (LAT):
|
Enum boolean |
| Protect360 | is_organic | Is organic | AF | Indication of whether the in-app event is associated with an organic install. | String |
| Attribution | is_primary_attribution | Is primary attribution | AF | UA: True Retargeting: During a re-engagement window, we attribute to both the original media source (before the re-engagement) and to the re-engagement media source. While the event is within the re-engagement window. The original media source will be FALSE (not primary attribution). The re-engagement media source will be TRUE. More details |
Enum | Boolean |
| Event | is_attributed | Is Attributed | AF |
|
Boolean |
| Event | is_first_event | Is First Event | AF |
|
Boolean |
| Event | is_receipt_validated | Is receipt validated | AF | TRUE/FALSE/NULL when implemented in the SDK, empty otherwise | Enum | Boolean |
| Attribution | is_retargeting | Is retargeting | Link |
|
Enum | Boolean |
| Protect360 | is_tagged | AppsFlyer | Presents if the detection was tagged or not. | String | |
| Attribution | keyword_id | Keyword ID | Link | Keyword ID returned by the ad network. This is the ID of the af_keyword. | String |
| Attribution | keyword_match_type | Keyword match type | AF |
|
String |
| Attribution | keywords | Keywords | Link |
Word(s) used in the user's online search
|
String |
| Attribution | keywords_id | Link |
The ID returned by the ad network as an identifier for the Keywords.
|
String | |
| Device info | language | Language | SDK | Language (locale) reported by the device and set by the device OS (IETF BCP 47 language tag). Usually has the form ll-DD. Where ll is the language and DD is the dialect. For example, en-ZA means English as used in South Africa. | String |
| Attribution | match_type | Match type | AF |
Attribution method type. Possible values include:
|
String |
| SKAN | max_event_counter | Max event counter | AF | To determine the number of times a user performs a given in-app event use the formula: [round up (min_event_counter + max_event_counter) / 2]. Note! You must round up the nearest integer. Example: A. If min = 0 and max = 1 the average is 0.5; rounding up returns a result of 1. B. If min = 5 and max = 10, the average is 7.5; rounding up returns a result of 8. |
Integer |
| SKAN | max_revenue | Max revenue | AF | Revenue is always provided in the field skad_revenue. If you use SKAN 4 or Custom mode, the bucket range associated with the event and used to calculate skad_revenue is described by min_revenue and max_revenue. | Real number |
| SKAN | max_time_post_install | Max time post-install | AF |
|
Integer |
| SKAN | measurement_window | SKAN measurement window | AF | Duration of the activity window. Default 24h. | Integer |
| PBA attribution | media_channel | Media channel | Web SDK | Media channel attributed to the website visit | String |
| Attribution | media_source | Media source | Link | The media source attributed to an event or restricted | String |
| Attribution | media_source__assist_[n] (n=1-3) | AF |
The media source attributed to an event coming from the first assisting attribution
|
String | |
| Attribution | media_type | Media type | AF |
Placement of the ad carrying the link as follows:
|
String |
| Ad revenue | mediation_network | Mediation network | Ad revenue API | Ad revenue mediation network reporting the event to AppsFlyer | String |
| SKAN | min_event_counter | Min event count | AF | Use to calculate the number of times a user performs an event. To determine the number of times a user performs a given in-app event use the formula: [round up (min_event_counter + max_event_counter) / 2] . Note! You must round up the nearest integer. Example: A. If min = 0 and max = 1 the average is 0.5; rounding up returns a result of 1. B. If min = 5 and max = 10, the average is 7.5; rounding up returns a result of 8. |
Integer |
| SKAN | min_revenue | Min revenue | AF | Revenue is always provided in the field skad_revenue. If you use SKAN 4 or Custom mode, the bucket range associated with the event and used to calculate skad_revenue is described by min_revenue and max_revenue. | Real number |
| SKAN | min_time_post_install | Min time post-install | AF |
|
Integer |
| Ad revenue | monetization_network | Monetization network | Ad revenue API | Ad revenue network sending the ad | String |
| Attribution | network_account_id | Network account ID | Link | Advertiser account ID with the ad network | String | Integer |
| Device info | oaid | OAID | SDK | User-resettable ID on some Android devices usually as an alternative to GAID | Characters |
| Device info | operator | Operator | SDK | The name of the mobile operator derived from the SIM MCCMNC. Available if the user is registered to the network using Android getNetworkOperatorName() | String |
| Attribution | original_url | Original URL | Link |
|
String (URL) |
| Attribution | requested_lookback_window | Requested Lookback Window | Link |
Raw unparsed value specified on the engagement URL. Used when determining the time period during which a click or impression can be attributed to a conversion.
|
String |
| Device info | os_version | OS version | SDK | Version of the operating system on the device | String |
| Device Info | os_version__conversion | OS Version at Conversion | AF |
Version of the operating system on the device at the time of conversion.
|
String |
| Ad revenue | placement | Placement | Ad revenue API | Where in the app the ad is displayed | String |
| Device info | platform | Platform | SDK | The operating system or ecosystem on which the application runs | Enum |
| App | platform_group | Platform Group | AF |
A business-level grouping that clusters multiple Platform values into broader buckets to allow meaningful reporting. This lets teams analyze performance broken by groups like "Mobile App", "Web", "CTV app", and etc, reflecting the category of platform the event occurred.
|
String |
| Device Info | platform_user_id_type | SDK |
A unique identifier type for a user generated by the platform.
|
String | |
| Device Info | platform_user_id_value | SDK |
A unique identifier value for a user generated by the platform.
|
String | |
| Device location | postal_code | Postal code | AF | Postal or ZIP code of the device location | String |
| Product Line | product_line_id | Product Line ID | N/A |
Unique identifier for a product line entity in AppsFlyer. Groups similar apps across platforms for unified cross-platform measurement.
|
String |
| Product Line | product_line_name | Product Line Name | N/A |
Name of the product line entity grouping similar apps across platforms.
|
String |
| PBA | query_params | Query params | Link |
Query params on the redirecting URL (after the ?) If URL has no query params, the value will be null |
String |
| Device info | raw_consent_data | Raw consent data | SDK | Returns a JSON object with the full raw consent DMA data as sent from the advertiser to AppsFlyer | String | Object |
| Device location | region | Region | AF | Using the device IP address reported by the SDK. For SKAN, determined according to the country_code | String |
| Protect360 | rejected_reason | Rejected reason | AF | Protect360: Deprecation planned. Currently contains the blocked reason. | String |
| Protect360 | rejected_reason_value | Rejected reason value | AF |
|
String |
| Attribution | retargeting_conversion_type | Retargeting conversion type | AF |
|
Enum |
| Monetary | revenue_usd | Revenue USD | N/A |
The event revenue converted into US dollars.
|
Numeric |
| Monetary | revenue_value_customer | Revenue Value Customer | N/A |
The event revenue converted into the customer’s preferred currency — see currency_customer.
|
Numeric |
| Monetary | net_revenue_value_customer | Net Revenue Value Customer | AF |
The net revenue of event (e.g. purchase or subscription), converted into the customers preferred currency — see currency_customer. It equals the gross amount (event_revenue_value_customer) minus the app-store/platform commission and any applicable taxes (VAT/GST, sales tax).
|
Decimal |
| Monetary | net_revenue_usd | Net Revenue Usd | AF |
The net revenue of event (e.g. purchase or subscription), converted into US dollars. It equals the gross amount (event_revenue_usd) minus the app-store/platform commission and any applicable taxes (VAT/GST, sales tax).
|
Decimal |
| Monetary | revenue_value_original | Revenue Value (Original) | SDK |
The original revenue value as reported in the event, in the original currency. See revenue_currency_original.
|
Numeric |
| App | sdk_version | SDK version | SDK | AppsFlyer SDK version | String |
| Ad revenue | segment | Segment | Ad revenue API | Ad revenue ad segment name | String |
| Attribution | site_id | Site id | Link |
|
String |
| Attribution | site_id__assist_[n] (n=1-3) | AF |
|
String | |
| SKAN | skad_ad_network_id | Ad network ID | iOS | ID of the ad network to whom the postback was sent | String |
| SKAN | skad_ambiguous_event | Ambiguous event | AF | If true, the iOS postback was received during the first 72-hours after an advertiser changed the SKAN settings in the dashboard. Due to the various timers employed by SKAN, AppsFlyer can't map the event accurately. |
Boolean |
| SKAN | skad_app_id | App ID | iOS | App ID | String |
| SKAN | skad_attribution_signature | Attribution signature | iOS | Signature added by ad network to SKAN postbacks | String |
| SKAN | skad_campaign_id | Campaign ID | iOS | Campaign ID used to publish the ad. Range 0-100 | Integer | String |
| SKAN | skad_coarse_conversion_value | Coarse conversion value | iOS |
|
String |
| SKAN | skad_conversion_value | Conversion value | iOS |
Conversion value reported by iOS. Range 0-63.
|
Integer |
| SKAN | skad_did_win | Did win | iOS |
Used to distinguish between campaigns contributing or attributed with the install.
|
Boolean |
| SKAN | skad_fidelity_type | Fidelity type | iOS |
|
Integer |
| SKAN | skad_mode | SKAN mode | AF |
The conversion measurement mode used to decode the iOS postback. Options:
|
String |
| SKAN | skad_postback_sequence_index | Postback sequence index | iOS |
|
Integer |
| SKAN | skad_redownload | Redownload | iOS | If true, the app was redownloaded | Boolean |
| SKAN | skad_revenue | Revenue | iOS | Event revenue amount in USD. | Float |
| SKAN | skad_source_app_id | Source app ID | iOS |
|
String |
| SKAN | skad_source_domain | Source domain | iOS |
|
String |
| SKAN | skad_source_identifier | Source identifier | iOS |
|
String |
| SKAN | skad_transaction_id | SKAN transaction ID | iOS | Postback ID given by Apple | String |
| SKAN | skad_version | SKAN version | iOS | SKAN version | String |
| SKAN | source_app_id | AF | Site ID. The app publishing the ad. This field is identical to skad_source_app_id | String | |
| Device location | state | State | AF | State or province of the device location | String |
| Device Location | state__conversion | State at Conversion | AF |
State or province of the device location at the time of conversion.
|
String |
| IAP Subscription | store_commission | Store commission | True Revenue API |
The calculated percentage of commission the store gets from the purchased product.
|
|
| Attribution | store_product_page | Store product page | AF | Custom product page in the Android or Apple App Store(iOS 15+), to which the user was redirected. | String |
| Attribution | store_product_page_id | Link |
ID of the custom product page in the Android or Apple App Store(iOS 15+) to which the user was redirected.
|
String | |
| Device info | store_reinstall | Store reinstall | SDK |
Apple app store determines if a user brought by Apple Search Ads is a reinstall by using the Apple user ID:
|
Boolean | String |
| Attribution | sub_param_[n] (n=1-5) | Link |
Additional tracking parameters used for attribution
|
String | |
| Attribution | sub_param_4 | AF |
Additional tracking parameters used for attribution
|
String | |
| Attribution | sub_param_5 | AF |
Additional tracking parameters used for attribution
|
String | |
| Attribution | sub_site_id | Sub site id | Link |
An identifier assigned to a sub publisher
|
String |
| Protect360 | tagged_additional_data | AF | A dynamic field which is being filled with relevant data per the tagged type. For example: if the tagged reason is “new release” - we will reflect the package number of the relevant release package | String | |
| Protect360 | tagged_type | AF | Represents the type of tagging which flagged the detection. Tagging type examples are: New release, App evaluation, and more. | String | |
| Protect360 | tagged_validation_reason_value | AF | States the rightful contributor to receive the attribution in case the detection was in implemented mode and in real time. | String | |
| SKAN | timestamp | Timestamp | Ad network | Time the postback was received by AppsFlyer For Google Ads and Meta ads, this is the time AppsFlyer gets the data from the Google and Meta ads API, respectively. |
Timestamp |
| Time | timezone_customer | Timezone (Customer) | AF |
The timezone preferred by the App Owner, in IANA format (e.g., Europe/Paris, America/Sao_Paulo).
|
String |
| Time | timezone_customer__conversion | Timezone (Customer) at Conversion | AF |
The timezone preferred by the App Owner, in IANA format (e.g., Europe/Paris, America/Sao_Paulo), at the time of conversion.
|
String |
| Attribution | total_candidates | Total Candidates |
AF |
Represents the total number of engagements (clicks, impressions, and other engagement types) evaluated for a given device at the time of conversion.
|
String |
| Attribution | unified_app_id | Unified app id | SDK |
Unique app identifier in AppsFlyer. The raw app_id is the identifier of an app within a platform; unified_app_id normalizes it across platforms to prevent collisions between platforms. Construction rules: - For mobile platforms (android, ios), unified_app_id is equal to the raw app_id. - For all other platforms (web, CTV, etc.), unified_app_id is the raw app_id prefixed with the platform and a hyphen, e.g. "<platform>-<app_id>".
|
String |
| Device info | user_agent | User agent | Link | A string that identifies the browser, operating system, device type, and application version making the request. | String |
| Attribution | vendor_id_type | Vendor id type | A unique identifier type for a device+app_vendor. | String | |
| Attribution | vendor_id_value | Vendor id value | SDK |
A unique identifier value for a device+app_vendor.
|
String |
| PBA - event | web_event_type | Web event type | Web SDK | The type of the Web event (Visit, Event etc) | String |
| Device info | wifi | WIFI | SDK | Set to either TRUE or FALSE | Enum boolean |