Single Source of Truth (SSOT) guide for iOS attribution

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.

7677-SSOT-Pendo-gif-Horizontal.gif

How to get true iOS 14+ performance data 

Related reading: SKAN solution guideSKAN conversion studio | Overview dashboard

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. 

Turn on Single Source of Truth

SSOTControl.png

To turn on SSOT:

  1. Before you begin, consider the AppsFlyer Single Source of Truth billing policy. 
  2. In AppsFlyer, go to Configuration > SKAN Conversion Studio.
  3. Select Custom mode.
  4. Turn on Single Source of Truth.
  5. Complete the settings as needed.

See SKAN Conversion Studio

Overview dashboard Single Source of Truth view

SSOTisNowOn.png

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, but they can receive SSOT signals via SKAN postbacks.
  • Agencies can access SSOT data on the Overview dashboard.

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:

  1. Before you begin, verify that in the Conversion Studio Single Source of Truth is turned on. 
  2. In AppsFlyer, go to Dashboard > Overview. 
    SelectSavedReport.png
  3. Click ▼. 
  4. Select Lite overview.
    The Single Source of Truth switch displays.
    SSOTviewon.png
  5. Turn on Single Source of Truth. 
  6. 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:
      1. Click ▼.
      2. Click + Save new report.
      3. Enter a report name.
      4. 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. 

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 modeled. Advanced machine learning is used to model a null value as attributed by either AppsFlyer or SKAN using the af_attribution flag. If attributed to SKAN, all post-install SKAN measurements are included in the SSOT dashboard. Learn more
  • 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. 

Filter Consideration
Single Source of Truth To view Single Source of Truth metrics, verify that the control is on. 
View type
  • User Acquisition: The preferred view for SSOT data. 
  • Retargeting: SKAN doesn't support retargeting. 
  • Unified: Install campaigns contain SSOT data. Retargeting campaigns aren't affected by SSOT. 
Dates
  • [Best practice] Select a date range of 7+ days that doesn't include the most recent 3 days to obtain accurate results.
  • Consider:
    • Periods of less than 7 days have diminished accuracy due to timezone differences and SKAN install time estimation. 
    • Google SKAN installs can be reported with a delay of up to 13 days.
  • The earliest date available is usually 3 days after you turned SSOT on. AppsFlyer determines this date. 
  • Example optimum date selection: 
    • If the current date is February 10 and you turned SSOT on  January 29. You can select February 1-7.
Campaign filters

Campaign hierarchy filters available: 

  • Media source
  • Campaign
Headline KPIs

The headline KPIs available in the SSOT dashboard let you see:

  • User acquisition: Both non-organic and organic
  • SKAN duplicates
  • Retargeting: Re-engagements and re-attributions
  • Cost
  • eCPI
  • Number of fraudulent (in-app) events

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.

Charts

Dimensions available:

  • Attributing method:
    • AF models: Installs matched by more than one method including SKAN. In the dashboard, the SKAN record is disregarded to avoid double-counting the same install. In SKAN raw data,  af_attribuiton_flag of the install is set to true. 
    • SKAN uniques: Installs matched only by SKAN and by no other method. In SKAN raw data, af_attribution_flag of the install is set to false. 
  • Attribution type
  • Attributed touch type
  • Campaign
  • Campaign ID
  • Media source
  • Source
  • App ID (for some charts)

Metrics:

  • Attributions
  • SKAN duplicates: The number of SKAN installs with af_attribution_flag=true
  • Avg eCPI
  • Conversion rate: Click-to-install rate
  • Impressions
  • Clicks
  • Cost
Table

Groupings:

  • [Default] The table is grouped by Media source and campaign.
  • Grouping options include: Media source, attribution type, attribution method, campaign, campaign ID, Attributed touch type, date, source, and combinations thereof.
  • If you select a grouping with dimensions that only apply to non-organic traffic, the table displays N/A for the organic media source.

Metrics: 

As described in the metrics sections.

Filter considerations

Metrics

Metrics available in the SSOT dashboard
Metric Description and considerations
Groupings
  • [Default] The table is grouped by Media source and campaign.
  • Grouping options include: Media source, attribution type, attribution method, campaign, campaign ID, Attributed touch type, date, source, and combinations thereof.
  • If you select a grouping with dimensions that only apply to non-organic traffic, the table displays N/A for the organic media source. 
SSOT attributions

Headline breakdown of SSOT installs, reattributions, and re-engagements during the selected dates.

  • Non-organic: The campaign that brings the user. The SSOT mechanism ensures that the same install is counted only once. 
  • Organic metrics.
Total

Number of installs, re-attributions, and re-engagements.

Installs

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.
Conversion rate Click-to-install
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.
Click-throughs

Number of attributions ocurring after a user clicks on an ad (CTA)

Uninstall rate

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)

Uninstalls

Number of app users installing the app who subsequently uninstall (delete) the app (Relevant for User Acquisition only)

View-throughs

Number of attributions ocurring after a user views an ad (VTA)

Revenue (AW)

SKAN and AF reported revenue (including ad revenue) for the SKAN activity window (AW):

  • SKAN revenue: Revenue for SKAN installs with (where af_attribution_flag=false/null). Based on conversion value settings for revenue in Conversion Studio, and the activity window time frame.
  • AF reported revenue: Revenue generated by app users after an install attributed by AppsFlyer and within the SKAN activity window.
  • Example:
    • Activity window is 24h.
    • Revenue events occur on the day after the install (Day X+1), but within the 24h activity window.
      • For both SKAN and AF-reported revenue, revenue is counted, as it occurred within the 24h window (even though it was on a different day than the install).

Note:

  • If SKAN revenue is configured only for certain events, the SSOT revenue metric only considers the corresponding AF-reported revenue events.

Tip: To improve SKAN revenue accuracy:

ARPU

Average Revenue per User.

Formula: Revenue/Unique Users

ROAS
Return On Ad Spend (%).
Formula: Revenue/Cost * 100
ROI

Return On Investment (%).

Formula: (Revenue - Cost)/Cost * 100

Gross profit

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.

skan_af_model_diagram.png

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 
  • Media source is an SRN, user device has iOS 14.5+, user doesn’t provide dual ATT consent.
  • Media source is a non-SRN, user device has iOS 14.5+,  probabilistic modeling not available, user doesn’t provide dual ATT consent.
  • User device has iOS 14.4 and below.
  • Media source doesn't support SKAN.
  • Install came via a web-to-app flow (SKAN only supports app-to-app). 
  • Install is via retargeting (not supported by SKAN)

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.

SingleSourceOfTruth.png

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:

User device:

  • 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 platform

  • 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.

Considerations

  • 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
--

SSOT is off in the Conversion Studio.

Null

Attribution flag field

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
  • eCPI
  • Cohorted revenue
Metric description Designation Formula
Non-organic AppsFlyer installs A Non-organic installs reported by AppsFlyer
SKAN unique installs B SKAN installs where af_attribution_flag=false
All non-organic installs C A + B
Organic installs D

Total installs - C

Note: Total installs mean all installs recorded by the AppsFlyer SDK, regardless of attribution.

Campaign eCPI  E Cost / C
Cohorted revenue F

Add together the following:

  • Revenue of users defined by A. Include events generated during the initial post-install period equivalent to your SKAN measurement window. 
  • SKAN revenue where af_attribution_flag = false
Formula to calculate example metrics 

Traits and limitations

Traits and limitations
Trait Remarks
SSOT view

SSOT is only available if there is at least one SKAN postback in the past 5 days.

Revenue

Revenue and other revenue-related metrics (ARPU, ROAS, ROI, gross profit) are supported as of September 1, 2022.

Agencies

Agency users can view the SSOT view in the Overview dashboard.