Facebook Ads walkthrough
Currently supported API:
- Marketing API version 21
- Graph API version 21.
Facebook Ads help businesses reach targeted audiences on Facebook. Integrating Facebook Ads with Data Integration streamlines data management and enhances marketing analytics.
Connection
To connect Facebook Ads with your destination, follow the step-by-step tutorial. Choose a Source Connection after creating a connection.
Predefined reports
Data Integration provides a convenient entry point and recommended approach for accessing a range of predefined reports. Each report includes data description, a list of customizable fields (if applicable), and schema mapping.
Since these reports follow a standardized format, specific fields are restricted and can only be accessed through Custom Reports.
Custom reports
Select a specific report to pull data from the Facebook Ads.
Facebook Ads reports
Data Integration can pull data from the following Facebook reports and objects:
- Insights Report
- Ad Accounts
- Campaigns
- Adsets
- Ads
- Ads Creatives
- Custom Conversions
- Custom Audiences
- Ad Account Activities
- Saved Audiences
- Ad Leads
- Ad Leads Forms
- Ads Pixels
Build the Facebook Ads river by selecting the Facebook report.
Insights report
- Report columns: Click the input to view a list of dimensions and metrics fields available for the report.
Leave the input empty to select all the available fields.
The report will contain some additional fields in addition to the selected ones.
- Report Data Level: Select the granularity of the report.
- Select how to filter the Insights report: This determines which accounts/campaigns/adsets/ads are included in the report.
Click any input to have a list of all available objects in Facebook. Selecting some objects at a higher level filters the objects at lower levels. For example, if you choose account A in the Ad accounts input, clicking the Campaigns input will only contain campaigns related to account A.
- Addition breakdowns: Select if the report will contain additional breakdowns, dates, and the selected data level.
- Time period: Select the type of time period of the report.
It can be a custom date range or a defined time period (For example, Yesterday, last week).
-
Date range:
- Select the start date and end date.
- Leave the end date empty to pull data until the moment the river runs.
- After each run of the river, the start date will be updated automatically with the end date, and the end date will be updated with the empty value. This enables the next run to pull data from the end of the previous run.
- Select the time zone offset. It is applicable only if the end date is empty to find the river’s run based on the time zone.
- Days back: Use this input to pull data from the days before the start date.
- The Start Date will not be advanced if a River run is unsuccessful.
If you do not want this default setting, click More Options and select the checkbox to advance the start date even if the River run is unsuccessful (Not recommended).
Selecting any other value:
Select the timezone offset to send the correct dates that consider that offset.
- Interval chunks size: Select to group the results.
Each record in the report contains the metrics of the selected time resolution. For example, running a report for dates 1.1.17-10.1.17 and time resolutions returns records for each day in this time period (multiple rows because each day might have many ads/campaigns, etc.). Weekly time resolutions will return records for the first week and the second week in that time period.
- Action attribution windows: Select the attribution windows to include in the Insights report. You can select multiple windows.
- Action report time: Determine the time of the action statistics, either according to impressions or according to conversions.
Leaving this empty returns results according to mixed.
-
If you need to pull data related to deleted and Archived objects in Facebook, select that input to pull data of objects with an Archived or deleted status.
-
You can also select additional breakdowns and/or action breakdowns.
To retrieve insight data for the action_values field, select the action_type breakdown under the "Action breakdowns" section. Refer to the link below for all possible combinations- search for combining breakdowns: https://developers.facebook.com/docs/marketing-api/insights/breakdowns -
Use ignore errors for accounts when there is any issue with the report that should be created for one or more accounts - the river does not fail.
Ad Accounts/ Campaigns/ Ad sets/ Ads reports/ Custom conversions/ Custom audiences/ Ad leads forms
These are simple reports that pull all available data for the selected object.
For example, if you select the Ad Sets report, it contains the data of all the Ad sets in the given Facebook Ads account.
- Select the report to pull.
- Select the increment method (Ad accounts and Ad creatives only):
You can select all to pull all data or incremental. a. Select the increment type(currently, only timestamp is available). b. Choose the start date. c. Specify the time zone offset if needed. - Select the columns to include in the report. Click the input to view a list of all fields included in the report.
- Select how to filter the report: the accounts/campaigns/ad sets/ads will be included in the report.
- Leave empty to pull data for all available Facebook objects. The inputs are different between the reports. In each report, filter only the selected level or the level above. For example, select only campaigns and accounts in the campaigns report, while in the Accounts report, you can choose only accounts.
Click any input to view a list of all available objects in Facebook. Selecting some objects at a higher level will filter the objects at lower levels.
- Decide if you need to pull data related to deleted and Archived objects in Facebook. Check that the input pulls data of objects with status Archived or status Deleted.
Ad creatives report
-
Select the columns to include in the report. Click the input to display the report's complete list of available fields.
-
Select the increment method (Ad accounts and Ad creatives only): You can select all to pull all data or incremental.
- Select the increment type(currently only timestamp is available).
- Choose the start date.
- Specify the time zone offset if needed.

-
Select how to filter the report: You can filter only by accounts in the Ad creatives report. The report contains creatives only for the selected accounts.
-
Optional:
- You can extract two levels of data associated with an ad creative.
- Post data: The data on the post level.
- Object data: The video or photo data attached to the post.
- Select the relevant checkbox to add the additional data.
- Choose the required fields on the post level and object level.
The fields on the post level will have a post_ prefix, while fields from the object data will have the video_ or photo_ prefix.
Extraction methods in Ad creatives:
-
Extract the creatives directly from the creative endpoint; GET v11.0/adcreatives?fields=id,name
-
Incremental by Ads takes the last changed ads and pulls its creative for each ad; GET v11.0/ads?adcreativesfields(id,name).
-
Incremental by Insights takes the ad ID from the insights GET call and, for each ad ID, pulls its creatives:
a. GET v11.0/insights?level=ad&fields=ad_id b. GET v11.0/adcreatives?ids=ad_id1,ad_id2,ad_id3&fields=id,name
The benefit of using Incremental by Insights is that it pulls ad_id for each creative and aligns better with the insights report than the other extractions.
General notes
In the "Insights" report and "Ads leads" report, you can ignore errors for accounts. If there is any issue with the report that should be created for one or more accounts, the river does not fail.
Reports relations
The* Custom conversions report is the metadata report for all the custom conversions for the account, including the conversion's ID and name.
- The measurements for the conversions are in the insights report under the Actions column.
For example:
{
"_action_type": "offline_conversion.custom.35880855 ",
"_value": "28"
}
The 35880855 at the end of the _action_type is the id of the custom conversion. Joining the id in the Custom conversions report will yield the conversions' names and additional metadata.
Known Facebook issues or limitations
- You must be an Admin of the ad account to pull the following fields in the Ad Account report:
- agency_client_declaration
- funding_source
- funding_source_details
These fields do not return if the Report Columns input is left empty. You must explicitly select them to retrieve them.
- In the Insights report, if you include fields such as dda_countby_convs or cost_per_dda_countby_convs, all conversion values you want to pull (For example,
actions,action_values, orcost_per_action_type) will be affected based on your predefined settings in Facebook Ad Manager.
dda_countby_convschanges conversion-related action values.cost_per_dda_countby_convschanges cost per conversion-related values. *If you request the _preview_shareable_link field, the river run may take longer due to a delay in getting this field from Facebook. This field is not intended for bulk retrieval and is designed for limited, on-demand use. Facebook requires additional processing to provide this field through the API.
- For privacy reasons, use this field only when needed, such as when an advertiser wants to share a preview externally.
- When calling fields reach, full_view_reach, and various unique prefix fields, such as unique_actions, unique_clicks, unique_ctr, and unique_inline_link_click_ctr, make sure that these fields return the number of unique users who took an action.
- If you want to know how many users viewed your marketing object (campaign or ad) in a given period, set the time resolution to Don’t Split.
IOS14 targeted campaigns
Facebook complies with the new update to iOS 14 by creating campaigns (Called SKAdNetword attribution) that target specifically IOS 14 platforms. Several features help you monitor these campaigns.
In the insights report, you can aggregate iOS 14 campaigns' related metrics by selecting the Unified Attribution Settings Level = Adset.

Leaving the Action Attribution Windows empty inside advanced options:

When you select the Adset, a new field _attribution_setting appears in the mapping. The possible values of this field are given below based on whether the campaign enabled SKAdNetwork attribution.
When SKAdNetword is enabled, the available values are:
- mixed (having multiple attribution settings)
- skan (having SKAdNetwork attribution for IOS14)
- nan (when there is no adset within the campaign)
When SKAdNetword is not enabled, the Action Attribution window shows up (1d_view_7d_click).
To learn more, refer to the Facebook documentation.
- In the Campaign report, you can verify which campaign is targeted by iOS 14 by selecting "Is SKAdnetwork Attribution".
- In the Ad Account report, you can check the iOS 14 limitations specifications by selecting the field "ios_fourteen_campaign_limits" which gives you three new fields (if they are not empty):
- _ios_fourteen_campaign_limits_campaign_group_limit,
- _ios_fourteen_campaign_limits_campaign_group_limit_details,
- _ios_fourteen_campaign_limits_campaign_limit
iOS 14 features that work with "unified attribution setting level" = Adset:
- total postbacks: Fetches the total number of postbacks received from Apple’s SKAdNetwork API. To fetch it, select it from the list of Report Columns.
- Breakdown = skan conversion id.

Admin access fields
The following fields require specific permissions (such as Admin) and will only be available if you select them. If the fields parameter is left empty, these fields will not appear.
| Report Name | Fields |
|---|---|
| Ad Accounts | Agency Client Declaration, Funding Source, Funding Source Details |
| Insight Report | Place Page Name, Total Postbacks |
| Ads | Preview Shareable Link |