At a glance: In the context of the iOS 14+ environment, AppsFlyer brings together data from multiple attribution match methods like IDFA, IDFV, SKAN, Apple Search Ads, and so on, and gives a complete picture of app campaign performance. No attribution method provides the full app performance picture. The challenge is to count a given user once because that same user can be attributed by two methods. The AppsFlyer Single Source of Truth (SSOT) mechanism does just that. SSOT reports and metrics are true and accurate and count the same user only once.
How to get true iOS 14+ performance data
Starting iOS 14, AppsFlyer attributes iOS users using data from multiple data streams, including SKAdNetwork, ATT consenting users, probabilistic modeling, incrementality-based insights, and dedicated APIs for Apple Search Ads. The absence of IDFA makes it nearly impossible to tie the attribution methods together without including duplicate data.
The SSOT mechanism eliminates duplicate install data and corrects the attribution of misattributed users. In other words, users attributed as organic who should have been attributed to a non-organic media source. As a result, the number of installs attributed to a campaign is corrected and the associated cost- and revenue-related metrics, like eCPI, ROI, and ROAS, are also calculated correctly.
Simply put, the SSOT mechanism flags SKAN installs which are also attributed using another match type. The flag is considered in calculating aggregated metrics to avoid counting the same user twice. Similarly, you use the flag when processing SKAN raw data.
To include the SSOT flag in your data, you must turn on SSOT in the Conversion Studio.
Overview dashboard Single Source of Truth view
The Single Source of Truth view available via the Overview dashboard provides a complete picture of non-organic performance metrics. In the view:
- Install metrics are true.
- Cost- and revenue-related metrics, that depend on the install metric, including eCPI, ARPU, and ROAS, are calculated correctly.
- Organic metrics adjusted after accounting for misattributed installs.
Note: The SSOT dashboard view isn't available to ad networks and agencies.
This section highlights the differences and unique features of the SSOT view. It assumes that you are familiar with the Overview dashboard.
Turn on Single Source of Truth view
Data in the SSOT view is available 3-5 days after you enable Single Source of Truth in the Conversion Studio.
To enable Single Source of Truth view:
- Before you begin, verify that in the Conversion Studio Single Source of Truth is turned on.
- In AppsFlyer, go to Dashboard > Overview.
- Click ▼.
- Select Lite overview.
The Single Source of Truth switch displays.
- Turn on Single Source of Truth.
- One of the following occurs:
- Dashboard metrics and charts display.
The sections that follow describe the data available. See the sections that follow about the data that displays.
Save the SSOT view as a new report. To do so:
- Click ▼.
- Click + Save new report.
- Enter a report name.
- Click Save.
- Data doesn't display. Consider that it can take 5-7 days after turning SSOT on until the data displays. Wait for this period to elapse and visit the dashboard again.
- Dashboard metrics and charts display.
Turn off the SSOT switch at any time to see regular data with the dimensions not available in SSOT view. Doing so enables you to take a deep dive.
SSOT view considerations
In the SSOT view:
- Null conversion values (CV) are regarded as a unique install.
- Redownloads are included in the installs metric. There is no segregation of installs vs. redownloads.
- Time zone and currency display using UTC time and USD. In other words, app time zone and currency are disregarded.
Consider the impact of the filters on data display and metrics as described in the tables that follow.
|Single Source of Truth||To view Single Source of Truth metrics, verify that the control is on.|
Campaign hierarchy filters available:
The headline KPIs available in the SSOT dashboard let you see:
For each KPI, there is a percentage value. This value shows how the presented KPI is in relation to the parallel date range before it. For example, this week compared to last week, or any days selected in the date range compared to the same number of days that came before: For example, if it shows an X% increase in installs, it means the previous parallel date range had X% fewer install.
As described in the metrics sections.
|Metric||Description and considerations|
Headline breakdown of SSOT installs, reattributions, and re-engagements during the selected dates.
Number of installs, re-attributions, and re-engagements.
|The number of unique users who install the app. Calculated as installs attributed by AppsFlyer in the context of UA campaigns plus the number of new installs and re-downloads reported by SKAN after removing duplicates.|
|Re-attributions||Retargeting metrics are available in the Unified and Retargeting view types. Consider that SKAN doesn't support retargeting.|
|Re-engagements||Retargeting metrics are available in the Unified and Retargeting view types. Consider that SKAN doesn't support retargeting.|
|Other metrics||Various other metrics relating to SSOT and advertising performance|
|SKAN duplicates||The number of SKAN installs with af_attribution_flag=true|
|Clicks||Clicks and impressions data reported by ad networks via API. The SSOT mechanism doesn't affect touchpoint metrics.|
|Impressions||Clicks and impressions data reported by ad networks via API. The SSOT mechanism doesn't affect touchpoint metrics.|
|Cost ($)||Campaign cost data reported by ad networks via API. Data displays for campaigns with at least one install. The SSOT mechanism doesn't affect the total cost reported. It affects only metrics calculated using install numbers.|
|AVG eCPI ($)||Effective cost per install metric is calculated using SSOT view install metrics. It excludes organic installs.|
Number of attributions ocurring after a user clicks on an ad (CTA)
Rate (%) of users uninstalling the app, as a proportion of the users attributing. Meaning installing, re-engaging, or re-attributing. Formula: Uninstalls / Attributions *100 (Relevant for User Acquisition only)
Number of app users installing the app who subsequently uninstall (delete) the app (Relevant for User Acquisition only)
Number of attributions ocurring after a user views an ad (VTA)
SKAN and AF reported revenue (including ad revenue) for the SKAN activity window (AW):
Tip: To improve SKAN revenue accuracy:
Average Revenue per User.
Formula: Revenue/Unique Users
Return On Ad Spend (%).
Formula: Revenue/Cost * 100
Return On Investment (%).
Formula: (Revenue - Cost)/Cost * 100
Profit after deducting campaign cost.
Formula: Revenue - Cost
How does SSOT work
Understanding SKAN-AF modeled attribution duplication
SKAN attribution and AF modeled attribution work differently and have different traits and limitations. Therefore, each install can be attributed to a non-organic media source either:
- Via SKAN or an AF model exclusively (unique attribution).
- Via both SKAN and an AF model simultaneously (duplicates). In this case, the SSOT mechanism signals a SKAN duplicate install with the flag: af_attribution_flag=TRUE. And in the SSOT dashboard, only one install displays instead of two.
- Neither SKAN nor AF model, meaning the install is organic.
The possible SKAN-AF model attribution scenarios are illustrated in the following Venn diagram.
The following table describes the reasons for each attribution scenario.
|SKAN only||AF model only||
Both SKAN and AF model
|Neither SKAN nor AF model|
No limitations exist and both SKAN and an AF model attribute the install.
This creates duplicate installs, and is when SSOT is needed to remove the duplicate.
User is organic
SSOT mechanism workings
SSOT works as detailed in the visual that follows.
How does the SSOT mechanism work?
The SSOT mechanism exists in the AppsFlyer SDK in your app on the user device and in the AppsFlyer platform as follows:
- A user opens the app for the first time. The AppsFlyer platform endeavors to attribute the user. The ability to attribute depends on the campaign type and user consent (ATT) status.
- If attribution succeeds, the SDK sets the attribution bit in the Conversion Value (CV)
- The regular SKAdNetwork flow continues unchanged. Meaning that user activity continues to be measured and the CV set until the activity window terminates.
- Subsequently, iOS sends the postback.
- AppsFlyer receives the iOS postback, decodes the conversion value, and exposes the value of the attribution bit via the af_attribution_flag as detailed in the table that follows.
- In general, AppsFlyer doesn't count reinstalls. In the context of SSOT, the reinstall status isn't considered. This means SSOT doesn't remove duplicate SKAN installs coming from reinstalls in the context of SSOT analytics and they don't affect the setting of the af_attribution flag.
|SSOT indicator in the Conversion Value||Meaning||af_attribution_flag field|
|On||SSOT is on in the Conversion Studio and AppsFlyer succeeded in attributing the user.||True|
|Off||SSOT is on in the Conversion Studio and AppsFlyer didn't attribute the user.||False|
How does the af_attribution_flag (attribution bit) impact reporting tools?
- SKAN dashboard: Reflects only performance reported by SKAN postbacks. As such, the af_attribution flag isn't considered and duplicates aren't removed.
- SKAN aggregated performance reports and raw data reports: The af_attribution_flag is available in these reports. Use it according to your reporting requirements. If you combine SKAN data with AppsFlyer data, use the flag to remove duplicate data. This applies to both raw and aggregated data reports.
- SSOT view in the Overview dashboard: Data from all attribution methods, SKAN, IDFA, IDFV, Apple Search Ads, and so on are merged in a single view after removing duplicate SKAN data.
Metrics derived by combining data from multiple attribution methods
When you combine SKAN data with the data of other attribution methods, use the af_attribution_flag to remove duplicate data from the data. This applies to both raw and aggregated data reports.
The following example metrics can be calculated using the af_attribution_flag:
- Non-organic installs
- Organic installs
- Cohorted revenue
|Non-organic AppsFlyer installs||A||Non-organic installs reported by AppsFlyer|
|SKAN unique installs||B||SKAN installs where af_attribution_flag=false + SKAN installs where CV=null|
|All non-organic installs||C||A + B|
Total installs - C
Note: Total installs mean all installs recorded by the AppsFlyer SDK, regardless of attribution.
|Campaign eCPI||E||Cost / C|
Add together the following:
Traits and limitations
SSOT is only available if there is at least one SKAN postback in the past 5 days.
Revenue and other revenue-related metrics (ARPU, ROAS, ROI, gross profit) are supported as of September 1, 2022.