The tap-facebook extractor pulls data from Facebook Ads that can then be sent to a destination using a loader.
Alternate Implementations
- Airbyte 🥈
- Georgi Yolovski
- hbellala 🥈
- Meltano (default)🥇
- primedata-ai 🥈
- Stitch Data🥈
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
-
Add the tap-facebook extractor to your
project using
:meltano add
-
Configure the tap-facebook
settings using
:meltano config
-
Test that extractor settings are valid using
:meltano config
meltano add extractor tap-facebook --variant singer-io
meltano config tap-facebook set --interactive
meltano config tap-facebook test
Next steps
Follow the remaining steps of the Getting Started guide:
If you run into any issues, learn how to get help.
Capabilities
The current capabilities for
tap-facebook
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this extractor. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this extractor.
This plugin has the following capabilities:
- properties
- discover
- state
You can
override these capabilities or specify additional ones
in your meltano.yml
by adding the capabilities
key.
Settings
The
tap-facebook
settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
You can also list these settings using
with the meltano config
list
subcommand:
meltano config tap-facebook list
You can
override these settings or specify additional ones
in your meltano.yml
by adding the settings
key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
Account ID (account_id)
-
Environment variable:
TAP_FACEBOOK_ACCOUNT_ID
Your Facebook Ads Account ID
How to get
To get your Account ID:
- Visit the Facebook Ads Manager: https://www.facebook.com/adsmanager/
- Log in if you haven't already.
- Make sure the correct account is selected in the top left corner.
- You will see the Account ID displayed inside the selector. You can also find it in the URL, after
?act=
and ahead of any additional parameters starting with&
:
Examples:
URL:
https://www.facebook.com/adsmanager/manage/campaigns?act=593385444078559
Account ID:
593385444078559
URL:
https://business.facebook.com/adsmanager/manage/campaigns?act=791728544625001&business_id=172253903856261
Account ID:
791728544625001
Configure this setting directly using the following Meltano command:
meltano config tap-facebook set account_id [value]
Access Token (access_token)
-
Environment variable:
TAP_FACEBOOK_ACCESS_TOKEN
User Token generated by Facebook OAuth handshake
How to get
Create App
First, you will need to create a Facebook App through the Developer Portal.
- Go to https://developers.facebook.com/.
- Log into Facebook if you haven't already. Make sure that your account is an Admin of the Ads Account you will be pulling data from.
- Convert your Facebook account to a Developer Account if you haven't done so already. This will not affect your personal Facebook profile, but will give you access to Facebook's developer tools.
- Click "My Apps" in the top right, and choose "Create App".
- In the modal that appears, enter a "Display Name" of your choosing. Since you will only use this app to generate an Access Token for your own use, the actual display name does not matter too much.
- Enter your email address under "Contact Email" if it is not yet populated automatically.
- Click "Create App ID".
- Under "Add a Product", find "Marketing API", and click "Set Up".
Generate Access Token
Now that your app has been created and the Marketing API product has been enabled, we can generate an access token.
- In the sidebar on the left, expand "Marketing API" if it isn't expanded already.
- Under "Marketing API", click "Tools".
- Select
ads_management
,ads_read
, andmanage_pages
under "Select Token Permissions". - Click "Get Token".
- Copy the token that appears in the field.
This is the Access Token you will provide to Meltano.
Connect the App
After generating the access token, your app will need to be connected to the ad account within Facebook Business Manager. Navigate to Business Manager > Accounts > Apps > Connected Assets > Add Assets to add the access token.
Token Expiration
Tokens generated using this method are only valid for 60 days by default. When the token expires, Meltano will no longer be able to automatically update your Facebook Ads data, and you will need to generate a new token and update the extractor configuration.
To find out exactly when this token will expire, you can use the Access Token Debugger:
- Go to https://developers.facebook.com/tools/debug/accesstoken/.
- Paste the token into the field at the top.
- Click "Debug" on the right.
- Look for the value under "Expires".
To prevent any interruption of your data pipeline, we recommend that you generate and configure a new token before the currently configured one expires:
- Go to https://developers.facebook.com/
- Log into Facebook if you haven't already.
- Click "My Apps" in the top right, and select the app you created earlier.
- Follow the steps under "Generate Access Token" above.
Configure this setting directly using the following Meltano command:
meltano config tap-facebook set access_token [value]
Start Date (start_date)
-
Environment variable:
TAP_FACEBOOK_START_DATE
Determines how much historical data will be extracted. Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.
Configure this setting directly using the following Meltano command:
meltano config tap-facebook set start_date [value]
End Date (end_date)
-
Environment variable:
TAP_FACEBOOK_END_DATE
Date up to when historical data will be extracted.
Configure this setting directly using the following Meltano command:
meltano config tap-facebook set end_date [value]
Insights Buffer Days (insights_buffer_days)
-
Environment variable:
TAP_FACEBOOK_INSIGHTS_BUFFER_DAYS
-
Default Value:
0
How many Days before the Start Date to fetch Ads Insights for
Configure this setting directly using the following Meltano command:
meltano config tap-facebook set insights_buffer_days [value]
Include Deleted Objects (include_deleted)
-
Environment variable:
TAP_FACEBOOK_INCLUDE_DELETED
Determines if it should include deleted objects or not.
Configure this setting directly using the following Meltano command:
meltano config tap-facebook set include_deleted [value]
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.