Google Ads SKAdNetwork and AppsFlyer SKAdNetwork interoperation

At a glance: Enable Google to share the content of your app iOS postbacks with AppsFlyer and for AppsFlyer to share your decoded conversion value (SKadNetwork) data with Google.

SKAdNetwork interoperability: AppsFlyer <-> Google Ads

If you work with multiple ad network partners, the best practice is to set it up in AppsFlyer. By doing so, SKAdNetwork performance metrics for all your ad network partners, enriched with other metrics like cost, are available via the AppsFlyer platform. 

Related reading: AppsFlyer SKAdNetwork Solution guide

Scope of SKAdNetwork interoperability with Google Ads

The interoperation allows the following:

  • Google Ads shares the content of iOS postbacks they receive with AppsFlyer.
  • AppsFlyer decodes the postback and then:
    • Updates the SKAdNetwork dashboard and reports (including the postback raw data report).
    • Shares decoded performance data via in-app events with Google Ads. 
  • iOS 14.5 implications on SRN reporting


On receipt of the iOS postback, Google determines the last click time using ad serving signals. However, AppsFlyer regards the click time as the install time. This can lead to differences between the AppsFlyer and Google dashboards. 

Due to the click reporting methodology used by Google, and the fact that Google updates data retroactively on a daily basis, AppsFlyer pulls the data for the previous 8 days and displays the install under the last click before the install date.  For example, a click on July 1 can be reported to AppsFlyer on July 8. AppsFlyer displays this install under the July 1 date. This impacts reports as follows: 

  • Aggregated reports and the dashboard update retroactively. 
  • Raw data reports don't change retroactively. Data (provided via Data Locker) is provided in folders according to the date Google provided the data to AppsFlyer (data arrival date). 

Set up interoperation

To set up interoperation with Google Ads, you must complete the following 2 sections.

Decoded postback sending to Google Ads

To enable AppsFlyer to send decoded postbacks
Step Action



SKAdNetwork settings review 

Verify that AppsFlyer SKAdNetwork Solution is set up and is on. Doing so allows the AppsFlyer SDK to call SKAdNetwork APIs and set the conversion value.

To review SKAdNetwork settings:

  1. In AppsFlyer, go to Configuration > SKAdNetwork Settings.
  2. Make a note of the exact event names set. You'll need them in the next step. Note! Names are case-sensitive.
  3. Verify that SKAdNetwork measurement is on. 


In-app event mapping

To view and set in-app event mapping:

  1. In AppsFlyer, go to Configuration > Integrated Partners.
  2. Select Google Ads (Adwords).
  3. Go to the Integration tab.
  4. Verify that Activate Partner is on. If not, you must first complete integration with Google Ads
  5. In the In-app events postbacks section:
    1. If not on, turn on In-app events postbacks.
    2. If you want AppsFlyer to share decoded iOS postback data with Google, you must map your SDK event names to Partner event identifiers (Google event names). Consider: 
      • You must map the events related to the currently selected measurement type. 
      • In the case of revenue measurement, map af_skad_revenue to the appropriate Google revenue event.
  6. Scroll down to the bottom of the page. 
  7. Click Save integration.

Allow Google Ads to share SKAdNetwork data with AppsFlyer.

Allow Google Ads to share SKAdNetwork data with AppsFlyer. If you don't do so, you won't see SKAdNetwork installs attributed to Google Ads in the AppsFlyer SKAdNetwork dashboard. 

To grant Google Ads permission to share SKAdNetwork data with AppsFlyer:

  1. The procedure that follows must be performed by the advertiser, agency, or both.  
  2. In AppsFlyer, go to Configuration > Integrated partners.
  3. Select Google Ads.
  4. Go to the SKAdNetwork tab.


  5. If the temporarily unavailable message displays, most times it means an ad blocker is active. If so, disable the ad blocker and reload the page. If this is not the case, contact AppsFlyer support. 


  6. Click Google Ads login.
    • You must log in to Google Ads using an Administrator user role on the account.
    • If the Google account is associated with multiple apps, log in once, and all apps are authorized. In other words, there is no need to authorize on a per-app basis. 
  7. Follow the instructions in the user interface.
    After you complete the process in Google Ads, you return to the AppsFlyer user interface. 
  8. Verify that the account status, waiting for sync displays.
    This message persists until we get data from Google Ads (maximum 24 hours.)
  9. Wait until after 02:00 UTC of the next day, then verify that the status changes to success.
    Data in the SKAdNetwork dashboard updates daily by 08:00 UTC. Note! As described in the considerations section, Google can update data 8 days retroactively. 
  10. Read about measurement differences

Additional information

Measurement and timing differences between AppsFlyer and Google Ads

Measurement considerations
Item Details 
Earliest data availability

Data is available starting on the date that you enable the integration according to the UTC time. Because Google uses the click time, installs from before the starting date can display retroactively. 

Install date 

Google sets the install time to the estimated last click time before the install. It is Google that determines the click time using ad serving signals.

The following should be considered when comparing media sources and the dashboard in AppsFlyer: 

  • AppsFlyer doesn't consider the app time zone or the Google Ads ad account time zone.
  • Google can report installs retroactively for 8 days after the click date.
  • In the case of other media sources, we derive the install time using the postback arrival time. 
Data freshness
  • We collect SKAdNetwork data from Google Ads daily starting 01:00 UTC.
  • Dashboards and aggregate data update 7 hours later.
Reports available

Google Ads data is available in the SKAdNetwork dashboard, aggregate, and raw data reports. See SKAdNetwork reporting options.


Troubleshooting, discrepancies, and FAQ

Item Details 

Sending events to Google Ads

Q: Does it make sense to send additional event postbacks to Google Ads for events not selected in the conversion value measurement option?

A: For consenting users, send the full range of events to maximize Google Ads' ability to optimize.

Map multiple events to the same Google Ads event

Q: Can I map multiple in-app events to one Google Ads event?

A: If multiple events are mapped to one Google Ads standard event, Google Ads can't differentiate between the events. So, Google Ads will optimize toward the one event they recognize.

Agency integration

Q: Can agencies enable the integration with Google. 

A: Yes. Use the procedure in this article. 


Was this article helpful?