Overview
This integration handles Facebook Ads including delivery, conversions, and metadata refresh for accounts, campaigns, adsets, and ads. The data is imported daily to track ad performance, conversions, and maintain up-to-date metadata for analysis and reporting.
Granularity: Account → Campaign → Ad Set → Ad level
Purpose: Track delivery and conversion metrics (spend, impressions, clicks, video views, conversions, etc.) and enrich with related metadata for performance analysis and reporting.
Refresh Cadence: Daily
Update Modes: Append (for delivery and conversion data), Refresh (for metadata)
For more information on the Meta Ads integration please follow this link
Jobs Configuration
1. Facebook Ads - Delivery Import
Feed: facebook
Status: Active (2)
Job Label: Facebook Ads - Delivery Import
Lookback: Last 5 days
First Run Hour: 6 AM daily
Poll Frequency: Every 24 hours
Targets:
Table: facebook_data_insights
Description: Facebook Ads - Delivery Data
Update Mode: Append new data daily
Date Column: date_start
Priority: 1
2. Facebook Ads - Conversions Import
Feed: facebook
Status: Active (2)
Job Label: Facebook Ads - Conversions Import
Lookback: Last 7 days
First Run Hour: 6 AM daily
Poll Frequency: Every 24 hours
Options:
fb_attribution_windows
(required, default: "7d_click,1d_view")Defines attribution lookback windows for clicks and views.
Targets:
Table: facebook_data_conversions
Description: Facebook Ads - Conversion Data
Update Mode: Append new data daily
Date Column: date_start
Priority: 1
3. Facebook Ads - Meta Refresh
Feed: facebook
Status: Active (2)
Job Label: Facebook Ads - Meta Refresh
Lookback: Last 1 day
First Run Hour: 6 AM daily
Poll Frequency: Every 24 hours
Targets:
facebook_meta_account
(priority 1, refresh mode)facebook_meta_campaign
(priority 2, refresh mode)facebook_meta_adset
(priority 3, refresh mode)facebook_meta_ad
(priority 4, refresh mode)
Connection Details
Parameter | Description | Notes |
Username |
| Facebook Ads API username |
Secret |
| Facebook Ads API secret/token |
Options |
| Comma-separated Facebook Ad Account IDs (required) |
Dimensions
Dimension Name | Maps to Fields |
Account [Meta] |
|
Adset [Meta] |
|
Ad [Meta] |
|
Campaign [Meta] |
|
Publisher Platform [Meta] |
|
Device [Meta] |
|
Base Metrics
Metric Name | Formula | Description |
Spend [Meta] |
| Total ad spend |
Clicks [Meta] |
| Total clicks |
Unique Clicks [Meta] |
| Unique clicks |
Link Clicks [Meta] |
| Link clicks |
Impressions [Meta] |
| Total impressions |
Post Shares [Meta] |
| Post shares |
Photo View [Meta] |
| Photo views |
Post Comment [Meta] |
| Post comments |
Post Like [Meta] |
| Post likes |
Post Reaction [Meta] |
| Post reactions |
Page Engagement [Meta] |
| Page engagement |
Video Views [Meta] |
| Video views |
10-Sec Video Views [Meta] |
| 10-second video views |
Video Views Quartile - 25% [Meta] |
| 25% video views |
Video Views Quartile - 50% [Meta] |
| 50% video views |
Video Views Quartile - 75% [Meta] |
| 75% video views |
Video Views Quartile - 100% [Meta] |
| 100% video views |
Completed Views [Meta] |
| Completed video views |
Datasource Joins
Data joins are performed to link insights and conversions tables to the respective meta data tables:
Join Field (LHS) | Join Field (RHS) | Source Table |
ad_id | facebook_meta_ad.id | facebook_data_insights |
adset_id | facebook_meta_adset.id | facebook_data_insights |
account_id | facebook_meta_account.id | facebook_data_insights |
campaign_id | facebook_meta_campaign.id | facebook_data_insights |
ad_id | facebook_meta_ad.id | facebook_data_conversions |
adset_id | facebook_meta_adset.id | facebook_data_conversions |
account_id | facebook_meta_account.id | facebook_data_conversions |
campaign_id | facebook_meta_campaign.id | facebook_data_conversions |
Composite Metrics
Metric Name | Formula | Description | Round | Prefix | Suffix |
CPC [Meta] |
| Cost per click | 2 | £ |
|
CPM [Meta] |
| Cost per thousand impressions | 2 | £ |
|
CTR [Meta] |
| Click-through rate (%) | 2 |
| % |
CPV [Meta] |
| Cost per video view | 2 | £ |
|
CPCV [Meta] |
| Cost per completed view | 2 | £ |
|
VCR [Meta] |
| Video completion rate (%) | 2 |
| % |
VTR [Meta] |
| Video thru rate (%) | 2 |
| % |
Notes
All date references use the
date_start
column for data timestamps.Update mode for delivery and conversion data is append to accumulate new data over time.
Meta data tables use refresh mode to ensure latest metadata is always available.
Attribution windows for conversion data can be configured via the
fb_attribution_windows
option.Dimensions enable slicing data by account, campaign, adset, ad, publisher platform, and device.
Facebook Reach
📝 Summary
Facebook Reach reporting allows you to ingest and analyze estimated reach and ad recall metrics across the Campaign, Adset, and Ad levels. This dataset is an extension of the Facebook Ads integration and shares the same account connection. It leverages historical data with a 5-day lookback window and aligns with the meta tables for enriched reporting.
Reach data is particularly useful for brand awareness, lift studies, and understanding the unique audience reach over time.
⚙️ Job: Facebook Ads - Reach Import
Field | Value |
Feed |
|
Job Label | Facebook Ads - Reach Import |
Status | 2 |
First Run Hour | 6 |
Poll Frequency | 24 (hours) |
Lookback Qty | 5 |
Lookback Unit | day |
Lookback Window | 0 |
Options:
reach_mode
Type:
hidden
Value:
true
Description: Facebook Ads - Reach mode flag
🎯 Targets
Table | Description | Update Mode | Date Column |
| Facebook Ads - Reach Data (Ad Level) | append |
|
| Facebook Ads - Reach Data (Adset Level) | append |
|
| Facebook Ads - Reach Data (Campaign Level) | append |
|
🧩 Dimensions
Name | Result Field |
Account [Meta] |
|
Adset [Meta] |
|
Ad [Meta] |
|
Campaign [Meta] |
|
📊 Base Metrics
🔹 Reach [Meta]
Description: Final reported reach from Facebook across campaign, adset, and ad levels
Format: Number
Rounding: 0
Formula:
LAST_VALUE({facebook_data_reach_campaign.reach})
OVER (
PARTITION BY {facebook_data_reach_campaign.campaign_id}
ORDER BY {facebook_data_reach_campaign.bright_custom_date}
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
)
LAST_VALUE({facebook_data_reach_adset.reach})
OVER (
PARTITION BY {facebook_data_reach_adset.campaign_id}
ORDER BY {facebook_data_reach_adset.bright_custom_date}
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
)
LAST_VALUE({facebook_data_reach_ad.reach})
OVER (
PARTITION BY {facebook_data_reach_ad.campaign_id}
ORDER BY {facebook_data_reach_ad.bright_custom_date}
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
)
🔹 Recall Rate [Meta]
Description: Estimated ad recallers divided by reach
Format: Percentage
Rounding: 2
Suffix: %
Formula:
LAST_VALUE(
{facebook_data_reach_campaign.estimated_ad_recallers}
/ NULLIF({facebook_data_reach_campaign.reach}, 0)
)
OVER (
PARTITION BY {facebook_data_reach_campaign.campaign_id}
ORDER BY {facebook_data_reach_campaign.bright_custom_date}
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
)
LAST_VALUE(
{facebook_data_reach_adset.estimated_ad_recallers}
/ NULLIF({facebook_data_reach_adset.reach}, 0)
)
OVER (
PARTITION BY {facebook_data_reach_adset.campaign_id}
ORDER BY {facebook_data_reach_adset.bright_custom_date}
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
)
LAST_VALUE(
{facebook_data_reach_ad.estimated_ad_recallers}
/ NULLIF({facebook_data_reach_ad.reach}, 0)
)
OVER (
PARTITION BY {facebook_data_reach_ad.campaign_id}
ORDER BY {facebook_data_reach_ad.bright_custom_date}
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
)
🔗 Joins
facebook_data_reach_ad
LHS Key | RHS Table | RHS Key |
|
|
|
|
|
|
|
|
|
|
|
|
facebook_data_reach_adset
LHS Key | RHS Table | RHS Key |
|
|
|
|
|
|
|
|
|
facebook_data_reach_campaign
LHS Key | RHS Table | RHS Key |
|
|
|
|
|
|