Facebook Ads to Snowflake – Made Easy

Posted By: administrator
Posted On: 08 Jul, 2020
Last Updated On: 13 Jul, 2021

Looking to replicate Facebook Ads data into Snowflake ?

Use Daton to get started without writing any code. Pricing starts at $10 per month

Free for 14 daysEasy to setupSecure & ReliableAuto update

If you’ve come here, you are probably looking for a way to transfer data from Facebook Ads to Snowflake quickly. In this article, we talk about why Facebook Ads is essential and how you can get access to this data without having to write any code. 

The choice for eCommerce business when it comes to marketing and selling their merchandise is growing every day. eCommerce vendors have to decide on what channels they want to sell on, which channels they want to spend their advertising dollars on, whether the channels include: 

  • Branded websites   
  • In some cases branded eCommerce sites per country  
  • Marketplaces 
  • In many instances, marketplaces per country  
  • Retail stores 
  • to create an omnichannel presence and to engage buyers where the shop 

Complexity increases with the addition of every sales channel. For instance, if we consider marketing channels available to support online business, you will find a choice of: 

  • Social Media ads – Some platforms include Bing Ads, Instagram, LinkedIn, Twitter, and others 
  • Digital ads and remarketing – Criteo, Taboola, Outbrain, and others 
  • PPC – Bing Ads, Bing ads, and others 
  • Email – Mailchimp, Klaviyo, Hubspot, and others 
  • Podcasts 
  • Affiliate – Refersion, CJ Affiliates 
  • Influencer marketing 
  • Offline marketing 

Choice, while being a great virtue, leads to complexity and this complexity when not managed properly, can, in turn, impact the efficiency of running an eCommerce business. Most eCommerce businesses grapple with this complexity; some well and many not so well.  

In the competitive digital landscape that we live in, it has become imperative that eCommerce businesses of all sizes that aspire to grow and stay profitable have to look into their data deeply and leverage this for growth.  

With the increase in competition, eCommerce Companies should strive to be more data-driven for various reasons. Some of these reasons include. 

  • understanding the balance between demand and supply  
  • understanding customer lifetime value (LTV) 
  • Segmenting customer base for effective marketing  
  • finding opportunities to reduce wasteful spend 
  • optimizing digital assets to maximize revenue for the same marketing spend,  
  • improving ROIs on Ad campaigns and  
  • offering an engaging and seamless experience for customers in every channel that the customer engages with the brand.  

Businesses these days need to be efficient in terms of their data analysis. They are struggling to make sense of the data generated from various applications and tools used to manage different processes efficiently.  

Due to the reasons highlighted above, any eCommerce business typically operates at least 10-15 different software/platforms to deliver on their customer expectations. As a result, data silos are created, which makes it more difficult to consolidate data and use the data for reporting, operations, analysis, and taking informed forward-looking decisions.  

Marketing platforms like Facebook Ads generate a substantial amount of data like impressions, user behaviour, clicks, product details, and more. Additionally, eCommerce companies that sell globally often end up having separate ad accounts for each country which in turn creates data silos for each country. Imagine a brand selling on three marketplaces or three countries – They may have three accounts per channel in which they are generating data—consolidation of data from these accounts for effective reporting.  

These silos make an analysis of the entire business data comprehensively, challenging. Data Savvy eCommerce businesses try to reduce the effort of reporting and analysis by integrating data from all these channels into a cloud data warehouse like Snowflake. By taking this step, the process of reporting and analysis becomes easy, inexpensive, and consequently done more frequently.  

In this post, we will be looking at methods to replicate data from Facebook Ads to  Snowflake.  

Before we start exploring the process involved in data transfer, let us spend some time looking at these individual platforms.

Facebook Ads Overview

Paid facebook Ads are one of the most effective ways of increasing the visibility of your brand online. Companies can target 2 billion people on Facebook every month. Facebook ads are accessible to businesses in many formats. Ads may feature in messenger, Facebook stories, newsfeeds, Facebook videos and be detailed like carousel ads or simple ones as well. Facebook enables users to manage ad campaigns, and target audiences using self-serve software and give them analytical reports to track each ad’s output. Business manager platform on Facebook has a one-stop-shop for all marketing and advertisement requirements. The mix requires external tools such as links to Instagram and product catalogues. The primary tool to build and evaluate your Facebook ad campaigns is the Facebook Ad Manager. You can use Facebook ads in the following ways: 

  • Increase traffic to a website  
  • Increase attendance at an event 
  • Generate new leads 
  • Increase the downloads of a mobile app 
  • Push people to buy products from a brand 
  • Boost engagement for a Facebook Page 

Snowflake Overview

Snowflake is a cloud-based data warehouse created by three data warehousing experts at Oracle Corporation in 2012. Snowflake Computing, the vendor behind the Snowflake Cloud Data Warehouse product, raised over $400 million over the past eight years and acquired thousands of customers. One might wonder if another data warehouse vendor is needed in an already crowded field of traditional data warehousing technologies like Oracle, Teradata, SQL Server, and cloud data warehouses like Amazon Redshift and Google BigQuery. Well, the answer is the disruption caused by cloud technologies and cloud opportunities for new technology companies. Public clouds enabled startups to shed past baggage, learn from the past, challenge the status quo, and take a fresh look at cloud opportunities to create a new data warehouse product. You can read this article to understand the core technology components that make up this modern, cloud-built data warehouse for consumers of cloud technologies. 

You can register for a $400 free trial of Snowflake within minutes. This credit is sufficient to store a terabyte of data and run a small data warehouse environment for a few days. 

Why Do Businesses Need to Replicate Facebook data to Snowflake?

Let’s take a simple example to illustrate why data consolidation from Facebook Ads to Snowflake can be helpful for an eCommerce business.  

An e-commerce company selling in multiple countries is running campaigns on Facebook Ads. They have different selling platforms like Shopify, Amazon, eBay, payment gateways, inventories, logistic channels, and target audiences in each country. An ad might be running off a product that might no longer be in stock, or might not be deliverable in the location which it is running, rendering these ads redundant and thus causing a substantial loss for the company. Now when the decision-makers want to rectify this and optimize the Facebook Ad campaigns to maximize ROIs, they are faced with the following problems.  

  • There are separate data silos for inventory data, logistics data, which need to be separately downloaded and compared and updated regularly to optimize the Facebook Ads campaign.  
  • Again if you want to do re-marketing effectively, then people who have not completed payments, or have encountered a failed transaction need to be targeted in addition to people who have added products to their cart, wishlists or favourites. People who have responded to other marketing campaigns like email, SMS, social media marketing also need to be targeted. So again separate data silos from various selling platforms, payment gateways, marketing tools need to be downloaded, analyzed and compared. 
  • Audience profiling data from e-commerce platforms, CRMs, customer support systems need to be analyzed to optimize audience targeting. Since Facebook ads are dependent on the target audience, rather than their searched keywords or topics, it is essential to have a accurate target audience to get the optimum ROI. 
  • While calculating profits/losses of the overall business, it becomes a nearly impossible task to pull all of these data from multiple platforms for each country separately, and then analyze all of this data together with the expense data and calculate profits. It involves a lot of working hours which costs money, and there is usually a time lag involved, which reduces the accuracy of the analysis and its effectiveness as the data is not analyzed in real-time. 
  • The compilation and processing of data from multiple sources for thorough research is a considerable challenge if carried out manually.  
  • Finally, and most importantly, not many digital business trust the attribution that Facebook provides. There is a good reason for it as well, although that is a topic for another day. In order to measure attribution, a data warehouse and an accurate analytics tracking regime are critical.  

Additionally, and more importantly, hardly any company runs advertising merely on Facebook Ads. Marketers use multiple marketing channels to take the brand message out to the public. To understand the true ROI of campaigns across all the marketing channels, data consolidation cannot be escaped whether the process is manual or not.  

For these reasons, top companies consolidate all of their data from Facebook Ads and other apps and tools into a data warehouse like Snowflake to analyze the data and to generate and automate reports at a rapid pace. 

The more data you can gather and use from different sources in your Facebook ad campaign, the more your ad delivery is optimized. All these data can not be natively transmitted to Facebook. Such data must be collected and analyzed correctly in a data warehouse like Snowflake before you use the relevant information to run ad campaigns on Facebook.  

Replicate data from Facebook Ads to Snowflake

There are two broad ways to pull data from any source to any destination. The decision is always a build vs buy decision. Let us look at both these options to see which option provides the business with a scalable, reliable, and cost-effective solution for reporting and analysis of Facebook Ads data. The following data is available from the Facebook Ads for replication to a data warehouse.


Build your own data pipeline

To build support for extracting data using Facebook Ads APIs, the developer or analyst will have to follow the steps. 

  • Handle different data types in the data that is generated in the files pushed from Facebook Ads to Snowflake.  
  • Handle errors, changes and upgrades to the APIs, which happen quite frequently 
  • Handle notifications so that you were made aware when the script has failed. 
  • Handle incremental data extraction and avoid full data extraction with every replication task 
  • Once you have automated the extract of data from Facebook Ads and you manage to save the data as a CSV or a JSON file, you can use the file to load Facebook Ads data into Snowflake.  

You can leverage Snowflake loading routines to accomplish the task of loading data. However, understanding how to do it right is important and the links below can help.   

Here is an example of the Facebook Ad Insights API 

The table below lists the parameters available for one of the dozens of APIs available in the Facebook Ads APIs.

Name Description 
action_attribution_windows Default value: default 
list<enum{1d_view, 7d_view, 28d_view, 1d_click, 7d_click, 28d_click, default}> The default option means [“1d_view”,”28d_click”]. 
  Determines what is the attribution window for the actions. For example, 28d_click means the API returns all actions that happened 28 days after someone clicked on the ad. 
action_breakdowns Default value: Array 
list<enum{action_device, action_canvas_component_name, action_carousel_card_id, action_carousel_card_name, action_destination, action_reaction, action_target_id, action_type, action_video_sound, action_video_type}> How to break down action results. Supports more than one breakdowns. Default value is [“action_type”]. 
action_report_time Default value: impression 
enum{impression, conversion} Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. 
breakdowns How to break down the result. For more than one breakdown, only certain combinations are available: See Combining Breakdowns and the Breakdowns page. The option impression_device cannot be used by itself. 
list<enum{ad_format_asset, age, body_asset, call_to_action_asset, country, description_asset, gender, image_asset, impression_device, link_url_asset, product_id, region, title_asset, video_asset, dma, frequency_value, hourly_stats_aggregated_by_advertiser_time_zone, hourly_stats_aggregated_by_audience_time_zone, place_page_id, publisher_platform, platform_position, device_platform}> 
date_preset Default value: last_30d 
enum{today, yesterday, this_month, last_month, this_quarter, lifetime, last_3d, last_7d, last_14d, last_28d, last_30d, last_90d, last_week_mon_sun, last_week_sun_sat, last_quarter, last_year, this_week_mon_today, this_week_sun_today, this_year} Represents a relative time range. This field is ignored if time_range or time_ranges is specified. 
default_summary Default value: false 
boolean Determine whether to return a summary. If summary is set, this param is be ignored; otherwise, a summary section with the same fields as specified by fields will be included in the summary section. 
export_columns Select fields on the exporting report file. It is an optional param. Exporting columns are equal to the param fields, if you leave this param blank 
export_format Set the format of exporting report file. If the export_format is set, Report file is asyncrhonizely generated. It expects [“xls”, “csv”]. 
export_name Set the file name of the exporting report. 
fields Fields to be retrieved. Default behavior is to return impressions and spend. 
filtering Default value: Array 
list<Filter Object> Filters on the report data. This parameter is an array of filter objects. 
level Represents the level of result. 
enum {ad, adset, campaign, account} 
product_id_limit Maximum number of product ids to be returned for each ad when breakdown by product_id. 
sort Default value: Array 
list<string> Field to sort the result, and direction of sorting. You can specify sorting direction by appending “_ascending” or “_descending” to the sort field. For example, “reach_descending”. For actions, you can sort by action type in form of “actions:<action_type>”. For example, [“actions:link_click_ascending”]. This array supports no more than one element. By default, the sorting direction is ascending. 
summary If this param is used, a summary section will be included, with the fields listed in this param. 
summary_action_breakdowns Default value: Array 
list<enum{action_device, action_canvas_component_name, action_carousel_card_id, action_carousel_card_name, action_destination, action_reaction, action_target_id, action_type, action_video_sound, action_video_type}> Similar to action_breakdowns, but applies to summary. Default value is [“action_type”]. 
time_increment Default value: all_days 
enum{monthly, all_days} or integer If it is an integer, it is the number of days from 1 to 90. After you pick a reporting period by using time_range or date_preset, you may choose to have the results for the whole period, or have results for smaller time slices. If “all_days” is used, it means one result set for the whole period. If “monthly” is used, you will get one result set for each calendar month in the given period. Or you can have one result set for each N-day period specified by this param. This param is ignored if time_ranges is specified. 
time_range A single time range object. UNIX timestamp not supported. This param is ignored if time_ranges is provided. 
time_ranges Array of time range objects. Time ranges can overlap, for example to return cumulative insights. Each time range will have one result set. You cannot have more granular results with time_increment setting in this case.If time_ranges is specified, date_preset, time_rangeand time_increment are ignored. 
use_account_attribution_setting Default value: false 
boolean When this parameter is set to true, your ads results will be shown using the attribution settings defined for the ad account. 

The above table just lists the parameters that Facebook accepts for their insights API. You can take a look at the comprehensive functionality of the Facebook Ad Insights APIs by clicking here.  

If you want to finish configuring your Facebook Ads integration in less time that it took you to scroll through the parameter list, then the next section is relevant for you.


Use a cloud data pipeline

Building support for APIs is not only tedious but it is also extremely time-consuming, difficult, and expensive. Engaging analysts or developers in writing support for these APIs takes away their time from more revenue-generating endeavours. Leveraging a cloud data pipeline like Daton significantly simplifies and accelerates the time it takes to build automated reporting. Daton supports automated extraction and loading of Facebook Ads data into cloud data warehouses like Google BigQuery, Snowflake, Amazon Redshift, and Oracle Autonomous DB.

Configuring data replication on Daton on only takes a minute and a few clicks. Analysts do not have to write any code or manage any infrastructure but yet can still get access to their Facebook ads data in a few hours. Any new data is generated is automatically replicated to the data warehouse without any manual intervention.

Daton supports replication from Facebook Ads to a cloud data warehouse of your choice, including Snowflake. Daton’s simple and easy to use interface allows analysts and developers to use UI elements to configure data replication from Facebook Ads data into Snowflake. Daton takes care of

  • authentication
  • rate limits,
  • Sampling,
  • historical data load,
  • incremental data load,
  • table creation,
  • table deletion,
  • table reloads,
  • refreshing access tokens,
  • Notifications

and many more important functions that are required to enable analysts to focus on analysis rather than worry about the data that is delivered for analysis.

Daton – The Data Replication Superhero

Daton is a fully managed, cloud data pipeline that seamlessly extracts relevant data from many data sources for consolidation into a data warehouse of your choice for more effective analysis. The best part analysts and developers can put Daton into action without the need to write any code.

Here are more reasons to explore Daton:

  • Support for 100+ data sources – In addition to Facebook Ads, Daton can extract data from a varied range of sources such as Sales and Marketing applications, Databases, Analytics platforms, Payment platforms and much more. Daton will ensure that you have a way to bring any data to Snowflake and generate relevant insights.
  • Robust scheduling options allows users to schedule jobs based on their requirements using a simple configuration steps.
  • Support for all major cloud data warehouses including Google BigQuery, Snowflake, Amazon Redshift, Oracle Autonomous Data Warehouse, PostgreSQL and more.
  • Low Effort & Zero Maintenance – Daton automatically takes care of all the data replication processes and infrastructure once you sign up for a Daton account and configure the data sources. There is no infrastructure to manage or no code to write. 
  • Flexible loading options allows to you optimize data loading behavior to maximize storage utilization and also easy of querying.
  • Enterprise grade encryption gives your peace of mind
  • Data consistency guarantee and an incredibly friendly customer support team ensure you can leave the data engineering to Daton and focus instead of analysis and insights!
  • Enterprise grade data pipeline at an unbeatable price to help every business become data driven. Get started with a single integration today for just $10 and scale up as your demands increase.

Sign up for a free trial of Daton today!

Interested in learning more about data warehouses, their architecture, and how they are priced? Check out our other articles.

Google BigQuery Google Bigquery Pricing Google BigQuery – Architecture and Key Features
Snowflake Pros and Cons of Snowflake Snowflake Architecture
AWS Redshift Amazon Redshift
Oracle Autonomous DB Oracles Autonomous Data Warehouse
For sections where we talk about manual reports and lost productivity Improving data analyst productivity
What is a cloud data pipeline What is a data pipeline

Sign up for a trial of Daton Today

Leave a comment

Your email address will not be published. Required fields are marked *

Sign up for a free trial of Daton today.

Take your analytics game to the next level