Configuring Facebook Marketing Source in Airbyte OSS Version

Summary

Inquiring about the configuration of the Facebook Marketing source in Airbyte OSS version and whether the agency or the customer should have a Facebook app and access token.


Question

Hello,
I work for an analytics agency and I’ve deployed the OSS version of airbyte. I am trying to configure the facebook marketing source.
I want to know if we, as an agency should have a facebook app, which then should be connected to our customer’s facebook ad account?
Or should the customer have their own app and add account and share the access token with us ?



This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want to access the original thread.

Join the conversation on Slack

["configure", "facebook-marketing", "source", "airbyte-oss", "facebook-app", "access-token"]

hey Justin,
thanks for your answer. Just a followup question,
How do I request for access to the customer’s ad account for our app? and where will the customer see my request for access? I couldn’t find a clear documentation on this.

Basically you implement the oAuth flow within your app, based on <https://developers.facebook.com/docs/marketing-api/overview/authorization|Facebook’s API> (which does involve creating a FB app, which is what they’re actually authorizing). oAuth is a standard way of granting revokable access, so most developers are very familiar with it, and there are also <https://developers.facebook.com/docs/business-sdk/getting-started|SDKs for most popular languages> that simplify it further (so talk to your developer about this). Once you have access with the correct scopes, you store the tokens that are granted. These can be used to connect from within your app in the future, but can also be passed to Airbyte over the API in order to create a new connection using that same grant.

If you have an agency account with access to the client ad accounts already, you can authorize to that account.

But we’ve found that it worked better to have clients authorize directly to our app, as it spreads API limits across all the authenticated accounts which speeds up high-volume syncs.

I wouldn’t recommend creating an app under each account, as this will be a pain to manage.

Hey Justin, thanks for this detailed answer!