How to Get Marketing Data to Snowflake

Advanced advertisers and analysts may find themselves in a situation where working with marketing data in Google Sheets or Excel or Google Data Studio is simply not good enough because:

  1. They need to do complex transformations of the raw data.
  2. They need to enrich the raw data with internal data sources.
  3. They need to “own their data” in their own data warehouse.
  4. They need to be able to run any SQL any time.

This is where data warehouse such as Snowflake comes into play where you can store the data from all the important marketing networks such as:

  1. Google Ads
  2. Microsoft Advertising
  3. Facebook Ads
  4. Twitter Ads
  5. LinkedIn Ads
  6. …and more

In this article we’ll look at the options you have when it comes to getting your marketing data into Snowflake.

Option 1: Custom Code Created by Your Team

You can always write custom code to run the ETL on your backend. This approach has pluses and minuses (as any other approach):

The pluses are:

  1. You own everything.
  2. You know how it exactly the process works.
  3. You don’t depend on externalities (except API changes which happen from time to time).

The minuses are:

  1. You need to write the code to get the data from all the APIs (aka “networks”). This can prove as a quite complicated process already at the beginning. For example, getting an API token for Google Ads API is not instant and you need to apply for it first by filling out a long application form.
  2. You need to set up your own servers which will run the code and maintain (either on site or in the cloud).
  3. You need to maintain the code and make updates whenever the API changes.
  4. Using developers for marketing projects is usually low priority which you may not get in your organization.

Option 2: You Hire Someone to Create the ETL Code for You

This will solve the main bottleneck mentioned under #1 in “minuses” above. You can hire a dev shop to write the code for you to solve (probably) the most labor intensive part. If the dev shop is good, they will provide you with proper documentation, of course the source code and still enjoy all the “pluses”.

We happen to work on projects like this because we have a vast experience with getting data from many marketing networks. See what we can help you with here.

Option 3: Supermetrics for Snowflake

If you don’t want to bother with any code, any servers, any consultants and you are willing to pay on monthly basis, you can subscribe to Supermetrics for Snowflake which will do all the heavy lifting for you – it will regularly connect to all the marketing APIs, get the data, and store it into Snowflake.

If you wonder about the price, then unfortunately I have to say “it’s hard to tell” – the price will depend on many factors such as number of APIs, number of accounts, size of the data, number of team members etc. You need to ask the Supermetrics team for a quote.

In this article, I will show you the configuration process for one data source. If you don’t want to read any further, you can simply click the button below and book a demo with Supermetrics team:

GO TO SUPERMETRICS

The Process

As you can expect, the first step is to log into your Supermetrics account. If you don’t have one, go ahead and create it here.

Once you are logged in, find Integrations at the top of the page:

Supermetrics for Snowflake - 01

Then Transfers > Create new:

Supermetrics for Snowflake - 02

Then select a data source you need to pull the data from. In this sample, I will work with Facebook Ads:

Supermetrics for Snowflake - 03

If you question whether each data source needs to be configured individually, then the answer is “yes”.

Then you will need to CREATE DESTINATION:

Supermetrics for Snowflake - 04

Now it finally starts to get interesting, in the dropdown menu, select Snowflake Data Warehouse:

Supermetrics for Snowflake - 05

GO TO SUPERMETRICS

After you click the NEXT button, you’ll be asked to fill out several details:

Supermetrics for Snowflake - 06

Let’s take it one by one:

  1. Display name – how this destination eventually appears in your Supermetrics account. This can be whatever, it really does not affect anything.
  2. Hostname – this is the main part of your Snowflake URL.
  3. Warehouse – the warehouse you want to use. If you are not sure about all the warehouse in your Snowflake account, run “SHOW WAREHOUSES” command in the Snowflake UI to list them.
  4. Database name – the target database for your data.
  5. Database schema – the target schema within the database.
  6. Username – the name under which you login into Snowflake.
  7. Password – the password you use for logging in with your username.

After you fill out the details, you can test the connection by clicking the Test button. In my case, the test was a success:Supermetrics for Snowflake - 07

So I’ll click the Save button. After a few moments, you’ll be redirected on to a configuration page where you need to configure “many things”:

Supermetrics for Snowflake - 08

GO TO SUPERMETRICS

On this screen you need to:

  1. Give the transfer a name.
  2. Decide on schedule and refresh lookback window.
  3. Decide on schema – in case of Facebook Ads, there are multiple options available. This will differ for each data source.
  4. Decide on sources (aka accounts) from which you need to pull the data. You may need to authenticate with Facebook within Supermetrics UI if you have not done it yet.
  5. Decide on all the accounts you need to pull the data from.
  6. Decide on general settings such as conversion window, report time of action stats, reporting time zone. Again, this will differ for each source.

When you are done, click the Save button at the bottom of the screen.

You will be then taken to yet another screen but don’t worry, we are pretty much done now. This is what you’ll see – your configured transfer with an option to immediately backfill the data. I need to see the data in Snowflake now so I will just run the backfill.Supermetrics for Snowflake - 09

Then I’m asked for a backfill period. Since I’m on trial, my options are quite limited (only the last 14 days) but it’s enough for this demo, so let’s just go for it:

Supermetrics for Snowflake - 10

Then I press OK and the magic starts happening in the background. After a while, I can check if Snowflake has my Facebook Ads data and guess what – it does! 2 new tables were created (I went for the “LIGHT” schema option):

Supermetrics for Snowflake - 11

OK, and that’s pretty much it. If you have more marketing data sources which need to go to Snowflake, you’ll just need to follow the process for each data source. As you just saw, it’s not that difficult clicking… 🙂

Conclusion

Of course, out of the 3 presented options, going with Supermetrics is the easiest one but it will cost you something. In return for your dollars, you’ll get peace of mind and no coding hassle. Is it worth it? I’ll leave that to you. You can always try the product for the first 14 days. If you don’t like it you can just quit with no costs incurred.

GO TO SUPERMETRICS

 

 

Leave a Reply

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