Facebook Ads

Facebook Ads helps you promote your page and business to the right people across Facebook’s Audience Network, so you get big value out of every advertising dollar. This integration gives you the chance to see your data in real time, enabling you to make powerful decisions for your campaigns. This article will give you an overview of the Facebook Ads/Grow integration and what you can expect.

Connecting to Facebook Ads

Before you get started you will need to obtain your Facebook Ads login information.

Here are the steps to connect your Facebook Ads account to Grow:

  1. Select the Data tab next to the Dashboard.
    This takes you to the Data Overview page.
  2. Click on the Connections button.
  3. Click on the blue Connect button at the end of the Your Top Data Sources options.
  4. From the list of Connections, search and select the Facebook Ads logo.
  5. A window pops up to log in with your Facebook Ads credentials. If it does not appear, please enable pop-ups from Grow.
    Once the connection is made, a green confirmation message is displayed.

And that's it! You are good to go.

Data Warehouse

Facebook Ads has some tables available on the Grow Data Warehouse, which we highly recommend you use. For more information about warehousing your data, visit the Data Warehouse Help Article.


The list of tables available will depend on your unique Facebook Ads project. You can expect to see one table per dataset associated with the project ID in your connection.

Suggested Tables

The following suggested tables are available in Grow.

The Facebook Ads API offers numerous permutations of data aggregations, field combinations, breakdowns, time increments, etc. Grow has pre-defined these four tables for the data warehouse.

  • Account Insights
    • Accounts (Formatted)
    • Account - Actions
    • Account - Cost per action type
  • Ad Insights
    • Ad Insights (Formatted)
    • Ad Insight - Actions
    • Ad Insight - Cost per action type
  • Ad Set Insights
    • Ad Set Insights (Formatted)
    • Ad Set Insight - Actions
    • Ad Set Insight - Cost per action type
  • Ad Video Views
    • Ad Video Views (Formatted)
  • Campaign Insights
    • Campaigns (Formatted)
    • Campaigns - Actions
    • Campaigns - Cost per action type

Ads is also now available in Beta as a pre-defined warehouse table.

Configuration details

All pre-defined tables follow this logic:

  • Attribution window: 1-day view, 7-day click
  • Breakdown: action_type
  • Action report time: impression
  • Date preset: maximum (up to 37 months as allowed by Facebook's API)
  • Time increment: Aggregated by day
  • Time range: since 7 days ago until current day

Other Tables

  • Ad Insights
  • Ad Set Insights
  • Campaign Insights
  • Account Insights
  • Ad Video Views
  • Ads

Custom Tables

  • Custom

Warehousing your Data

  1. Starting with the Connections page, navigate to your Facebook Ads connection and click on it to open the Connection Details page.
  2. Select the Manage Connection button inside the Connection Details section to open the warehouse table selection flow.
  3. If your data source isn't already connected, refer to Connecting to Data Sources for more details. If your data source is already connected, you can immediately select which tables of data you want to warehouse.
  4. Once you have finished selecting the data that you want stored in Grow’s Data Warehouse, click the Sync & Store button at the bottom of the Manage Connection page. This will begin the initial population of your warehouse with the tables you defined. Populating your data warehouse for the first time may take a while, even up to several hours.
  5. While your data is "In Queue" or "Processing", you may continue working within the app.

Sync Interval

Full Sync

Facebook's API allows users to retrieve historical data up to 37 months in the past. The first time you sync your tables within Grow's data warehouse, Grow fetches all data available at that point in time. To preserve the historical data, the Full Sync feature is disabled for Facebook Ads warehouse.

Incremental Sync

Incremental Sync is enabled for the following Facebook Ads tables.

  • Account Insights
  • Ad Insights
  • Ad Set Insights
  • Ad Video Views
  • Campaign Insights

The default sync interval is 24 hours to reflect the data aggregation by day configuration for the suggested tables.

To learn more about sync intervals and how to adjust the default settings, please visit the Sync section of the Data Warehouse help article.

Direct Query

A direct query connection can be used to pull data into Grow. With abnormal usage, Direct Query can run into API limitations depending on the data source. For this reason, we recommend that you use Grow's Data Warehouse for a more performant, reliable experience.


Facebook Ads doesn’t have set reports through which to pull data. You can, however, break it down the data by different levels.

  • Account: This is the highest hierarchical level. Total spend/clicks for the entire account by day.
  • Ad: Specific ads
  • Ad Set: Data for an account, organized by ad sets within a campaign.
  • Campaign: Data for an account, broken down by campaign.

For each of these levels, you can access the same types of information. The Fields dropdown will show the options for data. If you don’t select any fields, it will show you general information about the level you have selected (start and stop date for the data being pulled, impressions, spend, account ID, and other IDs).

Below is a list of some common fields, along with a short description. Some fields don’t just bring in one column of data; rather, it will display anything associated with that field. For example, the field Action_value brings in link click, post reaction, page engagement, post engagement, like, comment, among others.

  • CTR: Click through rate. This is the percent of clicks to number of times your ad was shown.
  • Action_value: All actions taken by users (links, page views, engagements, conversions, etc.). Actions subsumes things that would be tracked in a conversions field. This includes pixel data, if you have set that up on your Facebook Ads site.
  • CPC: Cost per click. How much you pay for each click on one of your ads.
  • Spend: Spend for your data level (ad, ad set, etc.)
  • CPM: Cost per thousand impressions. The M is the Roman numeral for thousand.
  • Unique actions: Number of unique actions. A unique action is the first time someone takes an action or interacts with your ad.
  • Impressions: The number of times your ads were viewed.
  • Clicks: Total number clicks
  • Ad/adset/campaign name: The name of your ad/ad set/campaign. Be aware of your data levels with this field: if you have the field ad_name selected for campaign-level data, you will only get columns with dates, but no names of ads or campaigns.

Beyond the levels, there are other ways in Grow that you can slice up the data. Note that these are only available using the Direct Query connector:

  • Breakdown: Sort data by demographic information.
  • Filters: Greater than, less than, contains, etc. for activity surrounding your ads. Most of these are the same options as the options under Fields.
  • Windows: Start and stop period of ad windows (clicks or views)

Building a Metric

To help get you started in using Facebook Ads, here's a quick tutorial for building a custom metric that measures the ad spend over the last 12 months. It also briefly covers the different parameters you can select when pulling in a custom report in Direct Query.

API Documentation




This is for reference only. You should not need to consult this to use the connection in Grow.

FAQs + Tips and Tricks

How far back can I get data for Facebook Ads?

Effective May 25th, 2021, the start date of the selected time range for all insights cannot be beyond 37 moths from the current date. However, using Grow's Data Warehouse, you begin storing your data from the moment your tables are synced, so you can continue to access this historical data into the future.

How can I track revenue generated?

Before you can utilize this functionality in Grow you need to set up a conversion value in Facebook first. Once you have done this, select the total_action_value metric which returns the total revenue returned from conversions. This will be $0 for most ads and companies unless you have set up the conversion value manually.

To calculate your conversion value you would divide the value of a sale, conversion, by the number of conversions needed to get that value. For example, let's say you are selling a shirt, and you are tracking conversions as clicks. If the shirt generates $20 a sale, and you convert 10% of ad clicks (conversions) to buyers, that is 1 in 10. So $20 value / 10 conversions = $2 value per conversion. Each ad click is worth $2, so in Facebook you would set your conversion value to $2. Once you have this calculated, set this value in Facebook.

Setting this up in Facebook can be surprisingly difficult as you have to add it directly to your pixel code. If you want dynamic values, you would need to work with your developer or platform to customize it. You can set up different values for each custom conversion. Facebook has a pretty comprehensive help article about how to set the value if you need additional help.

How do I track my Facebook conversions?

Facebook has this data being tracked under a field called actions. This field brings back one column for every action, which includes pixel conversions, clicks, calls, and anything else you are tracking on your ads.

Can I see my Ad Images?

You can within Direct Query, but it takes a few steps to configure:

  1. Select the account for which you want to see the ads.
  2. Choose Ad from the summary level drop-down.
  3. Click the Fields section and select ad_creative.
  4. In the Breakdowns area select impression_device, publisher_platform, and platform_position. Do not add any other filters or breakdowns or you will get an error.
  5. Set the date range, then press Get Data. This will return a table with the following information:adCreative.id, adCreative.body, adCreative.image_url, adCreative.title, adCreative.call_to_action_type.

The best way to view each ad picture on a dashboard is to create a table chart. Select the column adCreative.image_url as your data, along with other columns that help you identify the ad, and that’s it! Go ahead and save your metric.

While we can get an image URL for display ads, Facebook doesn't provide an image URL for carousel ads.

How do I use the filters section in Direct Query?

When you select the Filters field you will see two additional sections open up asking for your filter statement. Simply select your operator and enter your filter statement and click Get Data.

Is there a delay in the reporting?

Outlined in their API documentation, most metrics will only update once every 24 hours. This means you could see a delay in the data of up to 24-48 hours depending on when in the 24 hour interval the metrics are updating each day.

Why does Facebook Ads data not match in Grow Vs their Facebook Ads account using the same queries?

Facebook does not use their own public APIs. All of their reporting is based on an internal API that is different from the public one. Unfortunately, this does mean that it is possible that querying data in Facebook directly would have different results from what we get back from their public API. This is a limitation that many people have uncovered bugs for, especially when it comes to smaller datasets.

Was this article helpful?