Enable Facebook and AppsFlyer SKAdNetwork interoperation

At a glance: Interoperability enables Facebook to share SKAdNetwork postback data with us and enables us to share your conversion value measurement bits (mapping) with Facebook.

iOS 14 updates relating to Facebook

AppsFlyer confirms that our MMP integration with Facebook always implements the Advertiser Tracking Enabled flag. Meaning, no action is required of you in AppsFlyer.  This information is provided pursuant to the Facebook app guidance iOS 14 checklist dated February 2021.

SKAdNetwork interoperability: AppsFlyer <-> Facebook

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

Related reading: AppsFlyer SKAdNetwork Solution guide

Scope of SKAdNetwork interoperability with Facebook

The interoperation allows the following:

  • AppsFlyer and Facebook share the SKAdNetwork conversion value schema, enabling both to provide you with performance metrics.
  • AppsFlyer supports all Facebook Ads campaign objectives which enable campaign optimization:
    • Mobile app install (MAI)
    • Mobile app engagement (MAE)
    • Value optimization (VO)
  • If you enable SKAdNetwork partner integration in Facebook: The Facebook SDK stops updating SKAdNetwork conversion value (kill switch). The AppsFlyer SDK updates the conversion value.
  • Currently, updated March 23, 2021, in the SKAdNetwork dashboard, installs brought by Facebook aren't yet attributed to them. They are counted as organic installs. This aligns with the organic install definition for SKAdNetwork. 

Considerations

  • Once interoperability is enabled each time you change the measurement settings in AppsFlyer, Facebook pauses your campaigns. Before enabling them, verify that all relevant in-app events are mapped. Note! You don't need to repeat the MMP integration procedure in this article. Meaning you don't need to copy the MMP connection URL again.  
  • If you turn SKAdNetwork measurement off in AppsFlyer, Facebook can no longer get your measurement settings. 

Facebook app install ads guidance

In configuring your Facebook iOS 14 app install campaigns, take into account the following Facebook guidance

  • An app can belong to only 1 ad account.
  • A maximum of 9 campaigns per app, each having 5 ad sets is allowed.
  • Facebook no longer requires a new, separate account for iOS 14 campaigns. You can run iOS 14 campaigns from existing accounts.

Enabling interoperation

Interoperation is achieved via settings in the AppsFlyer and Facebook dashboards. No interoperation is required in the app itself. However, you need to adopt the most recent AppsFlyer SDK into the app. 

Setting up Facebook <-> AppsFlyer interoperability

SKAdNetwork-Facebook-AppsFlyer_integration__5_.png

To enable AppsFlyer SKAdNetwork interoperation with Facebook:
Step Action Details 
1 App prerequisites
  • Adopt the most recent AppsFlyer SDK into your app.
2 SKAdNetwork settings review 

Set up and turn on AppsFlyer SKAdNetwork Solution. Doing so allows the AppsFlyer SDK to call SKAdNetwork APIs and set the conversion value.

To view SKAdNetwork settings:

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

Review, and if necessary, make changes to your Facebook in-app event mappings. 

To view and set in-app event mappings:

  1. In AppsFlyer, Go to Configuration > Integrated Partners.
  2. Select Facebook.
  3. Go to the Integration tab.
  4. In the In-app events postback section:
    1. [Mandatory] If not on, turn on In-app events postback.

      SKAdFacebookEventMap_us-en.jpg

    2. Verify that the in-app events, SDK event names you set in SKAdNetwork measurement are mapped to Partner event identifiers, meaning Facebook event names. You must map the currently selected SKAdNetwork measurement type. Note! The default measurement type is revenue. 
      Measurement type Mapping requirement
      Revenue

      af_skad_revenue is mapped to the Facebook revenue event, usually, fb_mobile_purchase.

      Note! Its OK to map more than one event to fb_mobile_purchase.

      Conversion Map 1–6 conversion events to the corresponding Facebook events.
      Engagement Map the engagement event you set to the corresponding partner event.
       In-app event mapping guide
  5. Click Save integration.
  6. Scroll down to the bottom of the page. 

    FacebookScrollDown.png 

  7. In the SKAdNetwork configuration section, click on the MMP connection URL to copy it. 
    The URL is copied.
4 Connect AppsFlyer to Facebook
  1. In Facebook, open the events manager.

    FacebookSkadNetworkSetup.jpg

  2. Go to the Settings tab.

    mceclip0.png

  3. In the Configure App Events for SKAdNetwork section, click Set Up Events. 

    mceclip1.png

  4. Select Import from Partner App.
    This updates Facebook with the conversion value schema and instructs the Facebook SDK in your app to stop setting the conversion value.
  5. Follow the instructions in the Facebook user interface. You will be required to copy the MMP Connection URL from AppsFlyer and paste it in Facebook.
    • Notes:
      • You need to perform this procedure once. Meaning, there's no need to copy and paste the connection URL after changing the measurement settings in AppsFlyer. For example, if you switch from revenue measurement to conversion measurement, Facebook uses the existing URL to get the current schema. 
      • It takes up to 24 hours for the updated settings in Facebook to take effect.

Troubleshooting

Facebook can't connect:

  • In Facebook, if you get the message, we can't connect. Check that you're using the correct URL. If the problem continues, contact your partner app for help. 
  • Corrective action: In AppsFlyer, verify that you have turned in-app event mapping and mapped your AppsFlyer events to your Facebook events. (Described in the in-app event mapping described in the preceding section) 

 

Was this article helpful?