Using Zapier to pull digital ad performance data (Supermetrics alternative)

  • 14 December 2022
  • 3 replies
  • 489 views

Userlevel 1

Hello, everyone!

Are there any digital marketing ops out there that have attempted to pull ad performance data (reach, impressions, CPM, CTR, etc.) from the likes of Meta/FB’s Marketing API via a Webhook? 

Call us cheap, but our organization can’t justify spending hundreds/month on Supermetrics. However, we do want the ability to monitor/report on digital ad performance both internally and for client-facing portals.

My current workflow includes monitoring integrated marketing campaigns across several platforms (Meta, Google, TikTok, etc.). As of right now, I’m manually copying performance data into a Trello board 😓. This seems like a perfect candidate for a Zapier workflow.

 

Has anyone successfully integrated Facebook’s Marketing API (particularly the Insights edge) into a Zap that enables automated reporting/monitoring?

 

Here is the progress I’ve made so far:

Current Zap outline = Trello → Zapier → FB Marketing API → Zapier → Trello

  1. When I launch a new Facebook ad, I create a new Trello card and record the Facebook ads’ Campaign ID in a custom field.
     
  2. When I want to pull that ad’s performance data, I click a custom button on that Trello card which makes an HTTP Post to my Zapier Webhook; this sends the ad’s Campaign ID number and the name of the Trello card.
    • This is accomplished using Trello’s built-in automation tools. The payload uses Butler variables (example below) to pull data from that specific card:
    • {{%Campaign ID #}}|{cardname}
       
  3. This triggers the Zap. Next, Zapier makes a GET request via Facebook’s Graph API. 
  4. Once the data is received back from Facebook, Zapier will look up the originating Trello card using the card’s name/title.
    • You apparently can’t use the card’s unique ID for search… go figure.
       
  5. Lastly, Zapier places the ad performance data in a new Trello comment. 
    • I’m still working on finding all of the relevant “fields” and adding them to the main GET request.

 

I’ve recorded a brief example showing the custom button/Zap in action. Hopefully this makes things a bit more clear.

 

Some of my remaining questions are as follows:

  1. How do you request performance data from the Facebook Marketing API that is broken down by ad set? I often run campaigns with multiple target audiences, and want to see how they compare.
  2. Is this possible to do with other advertising platforms, such as Google Ads or TikTok?
  3. Could this data be pulled at a regular interval and placed in a storage location (Google Sheets) and then accessed via a data visualization tool (Looker Studio or Tableau)?

 

I’m still relatively new to all of this, and it seems to be an obvious Zapier feature request. Until that comes to be, I would love to hear if/how others have approached this problem.

 

Cheers!

Wilson


This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

3 replies

Userlevel 7
Badge +12

Hi @WilsonImpson!

It sounds like you’ve made amazing progress with webhooks so far!

I’m going to call in one of our Zapier experts @Troy Tessalone - Troy do you have experience working with Facebook Marketing, Google Ads or TikTok using their API?

 

In terms of pulling the data at regular intervals, I would expect that you could use Schedule to trigger a Zap (eg that sends a webhook to get the data) at the interval that you need.  

Userlevel 1

Thanks! 

I agree that using the Schedule function would probably work just fine; most of the advertising campaigns I monitor don’t need real-time data. A “refresh” every four hours would suffice.

However, it’s a bit unsustainable to create (or duplicate) a new Zap for every ad that I launch… our Zapier account admin wouldn’t be happy about that! 😂

The solution above works because it services an entire platform’s-worth of ad campaigns with minimal setup required, all inside Trello. 

I’m thinking about creating an “Ad Data” Google Sheet that uses the same process of an API request to Meta to pull data for the entire ad account (and not just one campaign). Once that is somehow scheduled, I could use a Schedule trigger to pull that fresh data to any other tool/Zap.

That probably makes more sense from an upkeep/maintenance perspective as well. Each platform could have its own worksheet.

Userlevel 7
Badge +8

 @Kelly_Goss @GetUWired - this feels up your alley! Have y’all seen anything similar?