SKAdNetwork Raw Data and Reports FAQ

Singular is offering two new reports for SKAdNetwork data:

  • Screen_Shot_2021-02-22_at_15.45.25.pngSKAdNetwork Raw Data: Analyze the raw SKAdNetwork install data as received in SKAdNetwork postbacks. Break down the installs by SKAN Campaign ID, SKAN Publisher ID, and conversion value.
  • SKAdNetwork Reports: See SKAdNetwork data combined with ad network cost and impressions stats and CPI calculation.

To learn about model configuration, see the Model Configuration FAQ. For general information about Singular's SKAdNetwork solution, see  Introduction to Singular's SKAdNetwork Solution and Understanding Singular's Conversion Value Management.

These reports are available to users of Singular's attribution service. If you use AppsFlyer as your tracker, see Getting Started with SKAdNetwork (For AppsFlyer Users).

Note that both new reports have certain limitations:

Install data is only available 1-3 days after the install due to the SKAdNetwork measurement period.

The availability of the conversion value and campaign-level data is limited as ad networks work to take full advantage of the SKAdNetwork framework.

SKAdNetwork Raw Data FAQ



Why am I not seeing any data in this report?

This report is only relevant if you are running SKAdNetwork campaigns.

Why am I not seeing Facebook and Twitter data in this report?

Facebook and Twitter have special integrations with Singular that do not involve forwarding us the SKAdNetwork postbacks. Therefore we do not have the raw SKAdNetwork data to show. If you're running any SKAdNetwork campaigns in Facebook or Twitter, you can see their data in the SKAdNetwork Reports page.

Why am I not seeing Apple Search Ads (ASA) data in this report?

Apple Search Ads does not use SKAdNetwork - it has a different mechanism for measuring campaigns. The data for ASA campaigns is available in your regular reports, even for iOS 14.5+ devices.

What are "SKAN App ID," "SKAN Network ID," etc., in the Dimensions list?

SKAN is Singular's SKAdNetwork solution. The SKAN dimensions contain SKAdNetwork data, pulled directly from the SKAdNetwork postback. Only the name of the "Publisher" field was changed to match Singular terminology.

Singular Dimension Original Field in SKAdNetwork Postback
SKAN App ID app-id
SKAN Network ID ad-network-id
SKAN Campaign ID campaign-id
SKAN Publisher ID source-app-id
What do the "App," "Source," and "Country" fields mean? What's the difference between "App" and "SKAN App ID"?

The App, Source, and Country dimensions contain SKAdNetwork postback data that is normalized to match the rest of the data in Singular:

  • App: The app name in Singular.
  • Source: The ad network as it's listed in Singular.
  • Country: Derived from the IP that's included in the SKAdNetwork postback.
What are the "Conversion Value" and "Conversion Value Description" dimensions? How can I see the meaning/decoding of the conversion value?

The Conversion Value dimension gives you the actual value as a number between 0 and 63.

The Conversion Value Description dimension tells you what the conversion value means in the context of the conversion model configured for the campaign (see SKAdNetwork Model Configuration FAQ).

What do "day 1," "day 2," etc. mean in the Conversion Value Description?

This is the day for which the information is up to date. Day 1 is the day of the install, day 2 is the next day, and so on.

After that day, the SKAdNetwork postback was sent.

For example, if the Conversion Value Description is "Revenue (10$-20$), day 3," it means:

  • The SKAdNetwork postback was sent on day 3 after the install.
  • Within that time, 10-20 dollars were gained from the customer.
What does it mean when the Conversion Value is 0? What does it mean when it's N/A? Why is the Conversion Value Description sometimes N/A?
  • If the Conversion Value is "N/A," it means Singular did not receive a SKAdNetwork postback. In this case, the Conversion Value Description dimension will also naturally be N/A.
  • If the Conversion Value is a number (including 0), but the Conversion Value Description is "N/A," it means we received a postback, but there is no active conversion model defined by the advertiser. Check your models in the Conversion Models page and see the Model Configuration FAQ for help.
What does the notation "... -> [EVENT NAME]" mean in the conversion value description?


This notation is used for Funnel models, where the conversion value encodes information about which events have occurred out of a defined sequence of events.

Only the latest event that occurred (lowest-funnel event) is mentioned by name, but it is assumed that all the earlier events defined in the model (the higher-funnel events) have also occurred.

For more information, see How does a Funnel model work?

What are Downloads vs. Redownloads?

Apple's SKAdNetwork postbacks include a "redownload" field. According to Apple, this is set to true if the app has already been downloaded and installed by the same user (same Apple ID). Singular marks every SKAdNetwork install accordingly as either a "download" or a "redownload."

If you don't need this distinction, select to see both.

What is the "SKAN Validation Status"?

As a part of Singular's SKAdNetwork solution, we not only receive and parse SKAdNetwork postbacks from ad networks but also check with Apple to confirm that each postback represents an actual install. Validation ensures that installs are not fraudulent.

Why am I not seeing conversion values?

This is probably a result of Apple's privacy protection measures. To ensure conversion values can't be traced back to specific devices, Apple only includes the conversion value in the SKAdNetwork postback if a certain number of devices have the same conversion value. If you are running a small campaign, e.g., for testing purposes, you may not reach the threshold that enables you to get conversion values.

Why can't I see cost data in this report?

This report contains only data taken from SKAdNetwork postbacks - such as install stats and the conversion value. Campaign costs are pulled from the ad network separately. To see the cost data, use the SKAdNetwork Reports page.

Why can't I see organic installs in this report?

This report contains data from SKAdNetwork postbacks, so it only includes SKAdNetwork installs that Apple has attributed to a network.

How can I run this report through an API?

SKAdNetwork Reports FAQ



What does the SKAdNetwork Reports page offer?

This report merges SKAdNetwork data (installs) with ad network data such as cost, clicks, and impressions.

Use this page to measure CPI by network and/or campaign name for your SKAdNetwork campaigns.

What are "Tracker Installs"? What is the difference between "SKAN Installs" and "Tracker Installs"?

SKAdNetwork (SKAN) and your attribution tracker are two separate mechanisms for attributing an install to an ad network.

SKAN Installs:

  • The number of installs measured through the SKAdNetwork framework. 
  • As users upgrade to iOS 14.5+ and publishers adopt SKAdNetwork-enabled campaigns, we expect SKAN installs to become the more accurate measurement of campaign performance in iOS.

Tracker Installs:

  • The number of installs measured by your attribution tracker (whether you're using Singular's attribution service or a third-party tracker). 
  • Even if SKAdNetwork is enabled for an app, the tracker still looks at each install and attempts to attribute it using traditional means (device ID or probabilistic attribution, when available). 
  • For iOS 14.5+ devices, we expect the tracker to be unable to attribute most installs to a network, due to the unavailability of IDFA. The tracker would still count these installs but report them as "organic."
  • The Tracker Installs metric in SKAdNetwork reports is the same as the Tracker Installs metric in regular reports, which is usually the same as the Installs metric.

Tip: For more information on Installs vs. Tracker Installs vs. Network Installs in regular (non-SKAdNetwork) reports, see What are source metrics?.

Are "SKAN Installs" (in the SKAdNetwork report) included in the "Installs" in regular reports?

Yes - but in regular reports, the same installs may be attributed to different networks or appear as organic installs. This is because Installs are reported by the tracker, which works independently from the SKAdNetwork framework. For more information, see What are Tracker Installs? (Tracker Installs in the SKAdNEtwork report = Tracker Installs in regular reports, which is usually the same as Installs).

Why do I have "Tracker Installs" for SKAdNetwork campaigns?
  1. Any install that is attributed through the SKAdNetwork framework is also examined by the tracker. In most cases, if it's an iOS 14.5+ device, the device IDFA would not be available. Lacking the IDFA, the tracker can't attribute the install to a network. It still counts the install, but reports it as "organic."
  2. Sometimes the tracker does manage to attribute an iOS 14.5+ install to a network. This may be because:

    • Users gave their consent to share their IDFA (both in the app in which the ad was served and in the advertised app), so the tracker is able to match devices by IDFA.
    • Some users were not using iOS 14.5+ in spite of the campaign targeting.
Why can't I add up "SKAN Installs" + "Tracker Installs" to get a complete picture of the campaign performance?

SKAdNetwork (SKAN) and your attribution tracker are two separate mechanisms for attempting to attribute an install to an ad network. They both work independently for the same app, sometimes looking at the same installs. 

The result is that SKAN Installs and Tracker Installs may overlap in different ways. They cannot be added up. Instead, they should be looked at as two independent measurements.

How do the metrics overlap?

Any install that's included in the SKAN Installs metric is also an install that was examined by the tracker.

If the IDFA is unavailable (as we expect would happen in most iOS 14.5+ devices), the tracker measures the install as organic. You'll then see these installs in the regular report (at Analytics > Reports) as organic installs.

If the IDFA or probabilistic matching is available, the tracker may be able to attribute the install to a network. But this is not necessarily the same network that SKAdNetwork attributed the install to, as the tracker uses a different logic.

Is this report available through the Singular API or Data Destinations (ETL)?


For the API, see Create Async SKAdNetwork Report Endpoint.

For the data destination (ETL) schemas, see SKAdNetwork Data Schemas.

Why am I not seeing Apple Search Ads (ASA) data in this report?

Apple Search Ads does not use SKAdNetwork -- it has a different mechanism for measuring campaigns. The data for ASA campaigns is available in your regular reports, even for iOS 14.5+ devices.

Why am I not seeing cost data for some networks/campaigns?

To show cost data in the SKAdNetwork report, Singular needs to know which campaign the SKAdNetwork install data applies to.

Some networks let us know by including a campaign ID, sub-campaign ID, and/or creative ID in the SKAdNetwork postback that they forward to us. Other networks have not yet been able to enrich the postback with this information.

To see which networks support enriched postbacks, see Singular SKAdNetwork Integrated Partners (note that the list is updated frequently as our network partners continue to develop their SKAdNetwork integrations!).

What is the "Date Type"?

Select Postback Date to run reports based on the date in which Singular received the SKAdNetwork postback from the ad network. Select Estimated Install Date to run reports based on Singular's calculation of what the app install date was (see How does Singular calculate the install date?).

What are "SKAN Events"?

SKAN events are the in-app (post-install) events that you chose to measure when you defined your conversion model (see the Model Configuration FAQ).

SKAN events function the same as cohort events (see the Events FAQ), except you don't need to create them in the Events page. They are created automatically when you activate a conversion model.

In the SKAdNetwork reports, Singular decodes the conversion value and shows you event metrics. Select one or more event(s) to see their metrics in the report.


  • We currently decode events for Conversion Events, Engagement, and Funnel models only (Revenue models are not yet supported).
  • Currently, SKAN events do not include data from Facebook by default. You need to manually map the SKAN event to a Facebook event (see instructions).

Additional Tips:

  • You can see your SKAN events by going to Settings > Events and clicking the SKAN Events tab. You can't delete these events, but you can rename them (by default, they are named after the SDK event that they track).
  • For events defined in an engagement model, Singular auto-creates two events - a count event (e.g., to measure the number of ad views) and a unique event (to measure how many users have viewed an ad).
How do SKAN events work with a Funnel model?

If you're using a funnel model, whenever the conversion value indicates that a lower-funnel event (an event that is further down the list) has occurred, Singular assumes all the higher-funnel events defined in the model have also occurred. The event counts reflect this assumption.

For example, if you have configured a Funnel model with the following events:


Whenever Singular sees (based on a conversion value in a postback) that the "Level 15 Reached" event has occurred, it also marks that the "Level 5 Reached" and "Level 10 Reached" events have occurred. Your reporting will reflect these counts.

While in this example, the sequence of events is intuitive, it's technically possible to define a model with any events in any order. To prevent falsely inflated event counts, make sure that your event funnel is well-defined in that lower-funnel events can only occur if higher-funnel events have already occurred.

For more information, see How does a Funnel model work?

How do I make SKAN events include data from Facebook?

Facebook's SKAdNetwork integration with Singular is not based on postback forwarding. Instead, Singular gets information about SKAdNetwork events from Facebook the same way we get information about other in-app events.

Therefore, if you are using Facebook for SKAdNetwork campaigns, you need to manually edit the SKAN event to add a mapping to the appropriate Facebook event.

  1. After you've created and activated a conversion model that includes events, go to Settings > Events and switch to the SKAN Events tab.
  2. Find the SKAN event that was created automatically based on your conversion model, and click to expand it. You can see that the SKAN event is named after the SDK event that it is mapped to.
  3. Click Facebook.
  4. In the drop-down list, select the Facebook event to which you want to map the SKAN event.

    For example:


  5. Save the event.

Note: For this to work, the Facebook event must also be mapped to an SDK event in your Facebook settings in Partner Configuration. For example:


What does the full flow look like?

The full flow for receiving events from Facebook involves three separate types of "events" -- the in-app event reported by the SDK, the Facebook event, and the SKAN event.

  1. In Attribution > Partner Configuration, when you configure Facebook as an attribution partner, you map your SDK event to a corresponding Facebook event.

  2. In SKAdNetwork > Model Configuration, you create a conversion model that includes one or more SDK events.

    Once you activate the conversion model, Singular creates a SKAN event for each SDK event included in the model. You can see the SKAN event in Settings > Events in the SKAN Events tab.

    For example, if your model includes the add_to_cart SDK event, Singular creates the following SKAN event:


  3. In the Events page, you edit the SKAN event to add a mapping to the relevant Facebook event.


  4. In Facebook, you import the conversion model from Singular (see instructions in Facebook Ads SKAdNetwork Integration).
  5. Facebook pulls the details of the conversion model from Singular and notes that a specific conversion value means that a certain event was triggered.
  6. Singular pulls the event information from Facebook (in the example above, the "fb_add_to_cart" event). Based on the mapping you defined in the Events page, the stats are pulled into the SKAN event (in this example, the "add_to_cart" event).
What is Estimated Revenue and how is it calculated?

Estimated Revenue is the revenue gained from users who converted through SKAdNetwork campaigns that use a Revenue model.

The SKAdNetwork postbacks for these campaigns contain a conversion value that represents the approximate revenue gained from the user.

See also: How is Estimated Revenue calculated/pulled for Facebook campaigns?


Since the decoded conversion value gives a revenue bucket (range) rather than an exact value, Singular estimates the revenue per user as follows:

  • For any bucket except for the last one, Singular averages the lower and upper bounds of the bucket. 
  • For the last bucket in the model, which only has a lower bound, Singular calculates the average bucket size of the other buckets. Then we add that number twice to the lower bound of the last bucket.


How is Estimated Revenue calculated/pulled for Facebook campaigns?

Since Singular's SKAdNetwork integration with Facebook is different from the way we work with other partners, the Estimated Revenue value is pulled from Facebook rather than being calculated by Singular.

Facebook performs its own calculation of estimated revenue, based on the buckets defined in the conversion model in Singular, and the result is passed on to Singular and shown in the report.

Important: Estimated Revenue for Facebook campaigns is only valid from April 23, 2021. For SKAdNetwork installs before that date, Estimated Revenue numbers are misleadingly high.

What is "Estimated ROI" and how is it calculated?

Estimated ROI is similar to the ROI metric, except that it is based on the SKAdNetwork Estimated Revenue.

This metric is available when Estimated Revenue and Cost are both available.

What are Downloads vs. Redownloads?

See above.

What is the "SKAN Validation Status"?

See above.

Was this article helpful?