Tracking iOS App Installs and Subscriptions Using SKAdNetwork in Google Ads?

Question from Reddit:

So, the goal is to set up a campaign to promote our iOS app. We want to track the amount of installs, and the in-app subscriptions that the campaign results in. The first idea was to simply to use Firebase to log these events to Google Analytics, but it seems that for that to work correctly, according to Apple’s rules, we would have to show an ATT (“AppTrackingTransparency”) prompt (“The app would like to track you across apps and websites owned by other companies”).

Is our understanding correct so far? We would very much like to avoid having to show that prompt.

The solution seems to be to make use of the SKAdNetwork. I have been following the guide here: https://support.google.com/google-ads/answer/10384955

So, I have set set up a conversion value schema in Google Analytics. But when it comes to analyzing the SKAdNetwork report in Google Ads, we are stuck. According to the official Youtube video about this, we should go to Campaign > Insights and reports > Report editor, then scroll down to Goals and conversions, and select SKAdNetwork conversions, see screenshot here: https://www.youtube.com/watch?v=fmKv8q7x1ZA&t=58s

However, this option is not present for us. We see the three other options (“Store visits”, “Conversions”, and “Store locations”), but “SKAdNetwork conversions” is missing.

Has anyone been successfull in this, and could give us some hint, please? And is our approach even the correct one, or is there a better solution?

Answer from Nabil:

The short answer is:

How do I track iOS app installs and subscriptions using SKAdNetwork in Google Ads?

Your understanding that using Firebase to log events for Google Ads campaign measurement requires the AppTrackingTransparency (ATT) prompt is correct, as this is necessary to receive the identifier for advertisers (IDFA).

Since you want to avoid the ATT prompt, using SKAdNetwork (SKAN) is the right approach for privacy-centric measurement.

The reason you can’t see the “SKAdNetwork conversions” column in Google Ads is likely because the data may not be flowing yet, as SKAN postbacks are delayed, or because the reporting option has been merged or renamed since the video was created.

The simplest, most effective, and future-proof approach to resolve this and streamline your iOS app measurement is to integrate a mobile measurement partner (MMP) like AppsFlyer between your app, Firebase/Google Analytics, and Google Ads, as the MMP handles the complex SKAN setup and reporting.

The long answer is:

Your approach is fundamentally sound, but the execution of SKAdNetwork (SKAN) is notoriously complex, which is why you’re running into reporting issues in Google Ads.

To confirm, if you want full, user-level event tracking via Firebase SDK and Google Analytics for Firebase to measure the exact subscriptions from your campaign, you absolutely need user consent via the ATT prompt to access the IDFA.

Without it, you are limited to aggregate, anonymized data, which is what SKAN provides.

The fact that the “SKAdNetwork conversions” column is missing is usually due to a lack of received SKAN postbacks, which can be delayed by 24 to 72 hours, or because Google Ads has recently simplified its reporting interface.

It’s also possible that the conversion schema setup in Google Analytics for Firebase hasn’t fully communicated the conversion values to Google Ads, which is necessary for the platform to allocate postback data.

Instead of troubleshooting the direct Google Ads integration, which requires deep knowledge of both SKAN’s postback delays and Google’s evolving interface, an industry-standard best practice is to incorporate a Mobile Measurement Partner (MMP) like AppsFlyer.

Here’s why this is an excellent solution: First, the Firebase SDK is excellent for logging in-app events like install and purchase directly to Google Analytics for Firebase, giving you a centralized view of user behavior.

Second, the MMP, such as AppsFlyer, sits as an intermediary that integrates with both your app (via its own SDK alongside the Firebase SDK) and Google Ads.

The MMP handles the highly technical and crucial tasks of managing your SKAN implementation.

Specifically, the MMP takes the rich event data coming from the Firebase SDK, maps it to your predefined SKAN Conversion Value Schema (0-63), and manages the logic for updating that value based on user actions, such as an in-app subscription.

Most importantly, the MMP is set up to receive the raw SKAN postbacks from Apple’s ad networks and then decodes and aggregates that data, providing you with a clean, actionable report on installs and subscriptions by campaign, ad group, and even creative.

AppsFlyer, or a similar MMP, then seamlessly sends this processed, privacy-compliant conversion data back to Google Ads via a post-install event API integration.

This dedicated channel ensures that the subscription data, measured through SKAN, is properly attributed to your Google Ads campaigns and appears in the correct reporting columns, completely bypassing the native Google Ads reporting ambiguity you’re currently experiencing.

This setup provides resilience, accuracy, and compliance without requiring you to manage the complexity of SKAN postback processing yourself.

About The Author