This article gives you tips for building queries and reports that return the data you need, including how the API of this data source handles certain fields and metrics.
If you’re connecting to Facebook Ads, follow the instructions in our connection guide. See Facebook Ads metrics and dimensions for the fields available in this data source.
Request limits and recommended refresh window
Request limit: Dynamic rate limit based on account usage and ad spend.
Recommended refresh window: Set to the maximum of your attribution windows on the platform.
Historical range
The Facebook Ads API doesn't provide:
Data older than 2012-09-28
Demographic data older than 2013-01-01
Device data older than 2014-07-03
Ad insights data older than 37 months (reference)
Reach data with breakdowns older than the last 13 months
Unique count data older than the last 13 months
Hourly data older than the last 13 months
Accounts in Facebook Ads
In the Facebook Ads connector, each Ad Account is considered a separate account within the connection.
Your Supermetrics subscription determines how many data source accounts you can use simultaneously.
We allow a maximum of 10200 ad accounts to be loaded into the account selection. Accounts beyond this limit are not fetched. If you have more than 10200 ad accounts accessible with your Meta user account, we recommend that you clean out irrelevant/deactivated accounts or split access to multiple users.
Things to consider
Custom metrics
Custom metrics are not supported. This is due to a limitation with the Facebook API. As a workaround, recreate the custom metrics with formulas in the destination (calculated fields in Data Studio, formulas in Google Sheets/Excel), or use our custom field feature inside the Supermetrics Hub.
Instagram boosted posts
These are currently confirmed not to be supported by Meta. Please see this bug report for more information.
Items with zero impressions
Insights endpoints do not return items (ad sets, campaigns) that have zero impressions. Only items that have data for the requested period will be returned.
Reach discrepancies with multiple ad accounts
As Supermetrics requests ad accounts separately, using reach without any other breakdown will result in incorrect values. This will result in Supermetrics simply summing the separate requests rather than getting the calculation from Meta.
Ad creative URL returns a URL signature expired error
The links to ad creatives and other images used in ads are served by a Content Delivery Network, or CDN for short, which is a system of worldwide servers that can ensure the timely delivery of content regardless of where the viewer is.
The downside of this is that the link to the image will expire after some time - it’s not documented by the CDN and could be anything. 24 hours is typical.
To fix this, the data has to be refreshed so a new link can be obtained from the CDN system.
Filtering and archived/deleted campaigns
While using a filter on ad level data, Meta’s graph API may not include campaigns that are archived/deleted. This is stated in Meta’s documentation. Note that filtering for the ARCHIVED status will work per the documentation.
Deleted ads
By default, with the new campaign batch flow, we exclude deleted ads from the data to save processing. But this may cause discrepancies and missing rows if the user had included deleted ads in their Ad Manager data.
There is a setting available, INCLUDE_DELETED_ITEMS, that can be enabled to include these.
Please be aware that enabling this can cause longer run times and higher chances for “job failed” errors, so we recommend this be disabled in most cases.
Missing ads with dynamic or carousel dimensions
The dynamic creative dimensions are really asset breakdowns. If the ad can’t be broken down that way (usually, as the ad is not of the dynamic type or is not supported in that breakdown), it will not be returned in the data set from Facebook.
To work around this, try the other creative-related fields like Ad creative image URL, Ad body, or Ad call_to_action type to try to pull the missing ads in. Note that the mix of dimensions may result in some having values for some dimensions and some having values for others. This is normal and expected.
Discrepancies with Asset dimensions
Only dynamic creative ads are included in the data. You can consider using a more general level dimension, such as the Ad creative image URL or destination URL, so that all ads are included.
Missing Lead responses/expired leads
Meta has a limitation that you can’t get leads data (responses) after 90 days. These are considered to be expired leads.
This limitation should not impact leads conversions data, which are kept up to 2 years. However, this may mean that comparisons between lead response counts to lead conversions/lead results may not align if any responses were older than 90 days.
Whatsapp Messenger conversations
Supermetrics doesn’t support WhatsApp Messenger conversations data, as that has a separate API and doesn’t include analytics data.
Empty data for Impression device and Hour (viewer’s time zone)
Starting August 6, 2026, Meta is changing how data collection is done for these two breakdowns and accounts will need to opt-in to get them.
So if you start to see values for the dimensions "Impression device” or “Hour (viewer’s time zone)” coming in blank after August 6, 2026, then you need to ask your ad account administrator to enable the breakdowns in the Ad Manager.
Also please note the data will only become available again for dates after it was enabled. We cannot get historical values after the change happens.