The SKAdNetwork Reports page (SKAdNetwork > Reports) merges SKAdNetwork data (installs) with ad network data such as cost, clicks, and impressions. Use it to measure CPI by network or campaign name for your SKAdNetwork campaigns.
To learn about the SKAdNetwork Raw Data report, which shows what your network partners received in SKAdNetwork postbacks, see SKAdNetwork Raw Data FAQ and Troubleshooting.
If you're new to SKAdNetwork, see Introduction to Singular's SKAdNetwork Solution and How to Get Started with SKAdNetwork.
Troubleshooting SKAdNetwork Reports
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.
Use SKAdNetwork > Reports when you're running SKAdNetwork campaigns for iOS 14.5 and above.
Use Analytics > Reports when you're running iOS campaigns that use Snapchat Advanced Conversions and all non-iOS campaigns.
1. Make sure you've enabled SKAdNetwork postback forwarding:
Partners usually need you to activate SKAdNetwork postback forwarding to Singular. If it's the first time you are setting up SKAdNetwork for a partner, you usually need to enable postback forwarding in the partner's dashboard, or ask your partner account manager to enable postback forwarding to Singular. For example, see the integration setup instructions for Snapchat Ads and Twitter Ads.
2. Check for invalid postbacks:
By default, Singular reports don't include installs that were marked as "invalid" by Apple. If you are missing data from a specific partner, try to include invalid postbacks. See also: Some installs are marked as "Invalid."
To understand the installs you see, note the following limitations of SKAdNetwork:
- The SKAdNetwork framework doesn't support web-to-app installs.
- SKAdNetwork does not support re-engagements as they are defined by Singular (see the Re-engagement FAQ). SKAdNetwork does support redownloads, where the user downloads an app that is not installed but was attributed to the user in the past. To include redownloads in your Singular SKAN report, select "Show Both" under SKAN Conversion Types.
- SKAdNetwork sends the install postback at least 24 hours (and usually more) after the install, by design. This means the data appears in reports with an inherent delay.
- SKAdNetwork also has a random timer mechanism that can delay installs by up to 48 hours and shift them to a different date. This may affect the reported results of small-scale campaigns or when looking at specific dates.
You may also need to confirm whether your point of comparison is from the same date range as your Singular report.
1. Check if the conversion value is missing:
Some SKAdNetwork postbacks don't include the conversion value (see Some installs don't have a conversion value). In that case, Singular knows about the install but does not have any additional information, e.g., about revenue or events.
To see if you are not getting conversion values for install, run a Raw Data report on the same app, network, and publisher and check if the conversion values are available.
2. To understand the revenue you see, note the following limitations of SKAdNetwork:
- In SKAdNetwork, revenue data is collected for a limited period of time, which may not be longer than 24 hours. Purchases and other revenue events that occur after the SKAdNetwork postback is sent are not measured.
- Revenue numbers are only estimates. The level of accuracy depends on the number of buckets defined in the conversion model and how well they correspond to actual revenue events for the specific app (see How does a Revenue model work? and What is SKAN Revenue and how is it calculated?).
- The measurement period defined in the conversion model is the maximal time period for which SKAdNetwork measures revenue (and any post-install events). If the user doesn't open the app at least once every 24 hours, the SKAdNetwork install postback may be sent before the full measurement period has elapsed. So, for example, even if the measurement period has been set to 7 days, the SKAdNEtwork postback may only report information about revenue gained in the first 2 days.
Some partners are still not showing SKAdNetwork data in their dashboards, and the stats shown for campaigns for iOS 14.5+ actually only include traditional tracker attributions (which are limited to opted-in users).
Other partners show both types of installs (SKAdNetwork and tracker-based) together, and to see SKAdNetwork data, you have to exclude tracker-based installs. For example, see Why am I seeing discrepancies between Singular's SKAdNetwork report and the Snapchat Ads report?
Starting June 27, 2021, Singular no longer pulls SKAdNetwork stats such as estimated revenue from Facebook. Instead, we pull raw conversion values from Facebook, decode them ourselves based on the conversion model you configured, and estimate the revenue - the way we do for other SKAdNetwork partners.
Facebook also estimates SKAdNetwork revenue based on the conversion model you configured, but Facebook's method of calculation is a little different. Therefore, you can expect to see some discrepancies.
- Estimated Revenue (SKAN Revenue) and other metrics for April 23 to June 27, 2021, were pulled from Facebook in aggregate rather than being decoded by Singular on a case-by-case basis.
- Estimated Revenue stats for Facebook campaigns before April 23 were misleadingly high due to an issue on Facebook's side and should be ignored.
SKAN Installs and Tracker Installs are two independent metrics that are not supposed to match, though there may be overlap between them.
Tracker installs refer to attributions made through traditional means, i.e., the device ID (if shared by the end-user). See What are Tracker Installs?
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, 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!).
Some partners require Singular to hide some dimensions, such as SKAN Publisher ID (the equivalent of Apple's source-app-id), to comply with the partner's data-sharing policies. In that case, the dimension value appears as "Censored" in SKAdNetwork logs and "N/A" in aggregate reporting.
Before showing you SKAdNetwork data, Singular runs each SKAdNetwork postback by Apple to see if the postback is valid. Apple checks the postback signature and returns the result. Postbacks marked as "invalid" may indicate fraud, but at this stage, they may also indicate an issue with how the partner constructs and sends the postbacks.
Snapchat uses a proprietary method to attribute installs instead of SKAdNetwork. To see Snapchat Advanced Conversions, make sure you have , and use the "Network Installs" dimension in the regular reports (Singular > Analytics > Reports).
The SKAdNetwork framework does not provide country or other geographic information. Singular can sometimes fill out this dimension based on the campaign's targeting settings, but only if the campaign is targeted at a single country.
SKAdNetwork Reports FAQ
This report merges SKAdNetwork data (installs) with ad network data such as cost, clicks, and impressions.
Use this page to measure CPI by network or campaign name for your SKAdNetwork campaigns.
The main difference between the SKAN Reports and the regular Reports is that the SKAN Reports show only SKAdNetwork campaigns, while the regular Reports show all campaigns.
SKAdNetwork (SKAN) and your attribution tracker are two separate mechanisms for attributing an install to an ad network.
- The number of installs measured through the SKAdNetwork framework.
- Supports users with iOS 14+ devices, regardless of whether they use ATT, opt-in, or opt-out.
- 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.
- 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).
- 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/Tracker Installs/Network Installs in regular (non-SKAdNetwork) reports, see What are source metrics?.
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).
- 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."
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 can match devices by IDFA.
- Some users were not using iOS 14.5+ despite the campaign targeting.
SKAdNetwork (SKAN) and your attribution tracker are two separate mechanisms for attributing 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 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.
The two metrics are defined as:
- Conversion Value - Count is the count of SKAN installs for which we have a conversion value. This includes conversion value 0 but does not include conversion values that were passed to Singular as Null.
- Conversion Value - Ratio is the percentage of SKAN installs for which we have a conversion value ("Conversion Value - Count" / "SKAN Installs").
Since all of your estimated revenue, engagement stats, etc., in SKAN Reports are based on decoded conversion values, Conversion Value - Count and Conversion Value - Ratio give you an idea of to what extent your SKAN stats reflect the actual performance of your campaigns.
Note: Google Ads automatically assigns Conversion Value = 0 when it doesn't have a conversion value for a SKAN install. This means that all SKAN installs from Google Ads campaigns will have conversion values (Conversion Value Ratio = 100%).
- For the API, see Create Async SKAdNetwork Report Endpoint.
- For the data destination (ETL) schemas, see SKAdNetwork Data Schemas.
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?).
SKAdNetwork includes a parameter called "Fidelity Type" that indicates whether the install was StoreKit-rendered (followed by an ad click) or based on a View Through (followed an ad view). Select SKAN View Through to breakdown the SKAN Installs by the fidelity type - "True" refers to Installs generated from View-Through, while "False" refers to Installs generated from ad clicks.
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.
- 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).
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?
SKAN Revenue is the revenue gained from users who converted through SKAdNetwork campaigns that use any revenue-enabled conversion model.
The SKAdNetwork postbacks for these campaigns contain a conversion value that represents the approximate revenue gained from the user.
Note: This metric replaces the older Estimated Revenue. If you use the SKAdNetwork Reporting API, we encourage you to use the skan_revenue metric, which comprises revenue from any conversion model you may be using.
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.
SKAN ROI is similar to the ROI metric in regular (non-SKAdNetwork) reports, except that it is based on the SKAdNetwork Revenue. This metric is available when SKAN Revenue and Cost are both available.
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.
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.