Meta Ads
Setup Meta Ads with DinMo's ingestion capabilities.
Sync overview
You can choose to configure your Facebook Ads connection in two ways:
Sync all accounts syncs all the accounts you have access to.
Sync specific accounts lets you select the accounts you want to sink.
Selecting Sync all accounts automatically adds and syncs any new accounts.
We retrieve the following tables and their related data during every sync:
all
AD_ACCOUNTS
ADS
CAMPAIGNS
AD_SETS
AD_CREATIVES
CUSTOM_CONVERSIONS
REPORT
A sync may be interrupted due to requesting too much data, missing permissions, or a temporary outage of an external API service. When this happens, we use other methods to fetch the data.
We retrieve most metadata tables from Facebook during every sync.
However, we incrementally sync several tables, see our metadata tables documentation for more information.
Rollback sync
A rollback sync is a sync that automatically runs once a day. Rollback syncs capture changes that happen outside of the incremental sync time frame.
The rollback window for custom and pre-built reports depends on the maximum value between the Click Attribution Window and View Attribution Window settings. By default, we sync data from the last seven days during each sync. We perform a one-day rollback sync if you set the Click Attribution Window and View Attribution Window to DAY_1
. We perform a 28-day rollback sync if you set both the Click Attribution Window and View Attribution Window to NONE
.
The supported values you can set for the Click Attribution Window and View Attribution Window are:
DAY_1
DAY_2
DAY_7
DAY_28
NONE
Sync fallback algorithms
Skipping fields in metadata tables
Fields that require extra permissions or contain too much data may cause a metadata sync to fail. In such cases, we skip querying those specific fields. We display the following notification about this workaround in your dashboard:

Schema information
This schema applies to all Facebook Ads connections.
Bid and budget (spend) values are stored at the currency's minimum denomination level. For example, US dollar values are stored as cents. Learn more in Facebook's Budgets documentation.
Metadata tables
The *_HISTORY
tables contain metadata and capture versions of the objects as they are updated. These tables only contain records from the date of a connection's creation because Facebook does not retain change history for these resources. Use SORT BY id
and ORDER BY updated_time
to query the *_HISTORY
tables when available.
Metadata tables do not contain the full change history of the objects within an account. Almost all selected metadata is retrieved from Facebook during every sync, except the tables listed below.
Incremental update of metadata tables
We incrementally update the following metadata tables:
CAMPAIGN_HISTORY
AD_SET_HISTORY
AD_HISTORY
We store the latest updated_time
for these entities after each sync. During the next sync, we only fetch the entities with an updated_time
value greater than the cursor value.
This behavior differs from reporting tables. Incrementally updated metadata tables can be re-synced on the Schema tab, but the re-sync does not restore the entity's change history, it only saves the latest version.
Schema notes
The *_HISTORY
tables capture versions of the objects as they are updated. This isn't a perfect record of every change; rather, it captures the delta of changes between syncs. To query them, use SORT BY id
and ORDER BY updated_time
.
The bid_info_*
, global_*
, and placement_specific_*
columns in the AD_HISTORY
table can change their names depending on the source data, which is stored in the KEY-VALUE format. For example, depending on the source data, bid_info_*
would have bid_info_KEY
as its name, and VALUE
as its value. For more information regarding the global
and placement_specific
fields, see Facebook's Adgroup documentation.
UTC conversion
We don't convert source timestamps to Universal Time Coordinated (UTC). Instead, we use the Facebook Ads account's time zone to store the data in your destination.
Last updated