We have both Facebook and Branch SDKs integrated. Which should we use for SKAdNetwork?

If you work with multiple ad networks, we would recommend using the Branch SDK for the SKAdNetwork calls. To read more about the issues with using multiple methods to integrate SKAdNetwork, read this FAQ item: What happens if the advertiser app integrates multiple SDKs that all support SKAdNetwork?

While you can use the Facebook SDK, or any other SDK that supports SKAdNetwork, doing so would mean you won’t be able to configure the conversion values in Branch, and therefore Branch won’t be able to decode the postbacks for other ad partners for you. Though the postbacks themselves will still be available to all networks, this means that Branch won’t be able to tell other ad partners that conversion value 15=sign up event, for example. Instead, other ad partners will just receive the conversion value itself.

In other words, while Facebook offers functionality within the Facebook Events Manager to map SKAN events to conversion values, Branch provides equivalent functionality via an API endpoint that advertisers provide to Facebook for syncing a Conversion Bit Schema, with the advantage that the mapping from Branch can easily be used by networks aside from Facebook.

The SKAdNetwork calls themselves can be handled via Facebook SDK, any other SDK that supports it, the Branch SDK, or even natively, but using Branch to make these calls simplifies the process for all ad networks that you run campaigns with, rather than just one.

Additional Resources