This PR adds a new Ad Insights Stream: ads_insights_hourly_advertiser.
Notes
Excluded field
dda_results is a field that appears in the Facebook Docs. However, I did not have test data for it and did not see anything in their docs about this field. So I have excluded it from being syncable in the tap
In that link, you'll see that you can request data for multiple days at a time.
For example, your request could contain date_start = 2021-01-01 and date_end = 2021-01-02. While it's understandable that you get 48 data points out of this (one for each hour of the entire date range), that's not how this API works. It will aggregate all of the data for 01:00 - 02:00 for every day in the date range.
Because of this behavior, we have chosen to ask for a day's worth of data at a time, hoping that allows you to aggregate however you want in your warehouse.
Manual QA steps
Available fields:
To create the schema file here, I grabbed every field from the Facebook SDK object and attempted to make a report with it. After some trial and error, I found that one field would cause an error if included, full_view_reach, so I took it out of the request.
Risks
Low:
It's a new stream. Existing integrations can safely ignore it.
Anyone that wants this data should be able to run Discovery again and select it
There are no new scopes associated with fetching this data since it's just an AdsInsight Stream
Description of change
This PR adds a new Ad Insights Stream:
ads_insights_hourly_advertiser
.Notes
Excluded field
dda_results
is a field that appears in the Facebook Docs. However, I did not have test data for it and did not see anything in their docs about this field. So I have excluded it from being syncable in the tapBreakdown Behavior
Here's a blog post from Facebook announcing this new breakdown.
In that link, you'll see that you can request data for multiple days at a time.
For example, your request could contain
date_start = 2021-01-01
anddate_end = 2021-01-02
. While it's understandable that you get 48 data points out of this (one for each hour of the entire date range), that's not how this API works. It will aggregate all of the data for01:00 - 02:00
for every day in the date range.Because of this behavior, we have chosen to ask for a day's worth of data at a time, hoping that allows you to aggregate however you want in your warehouse.
Manual QA steps
full_view_reach
, so I took it out of the request.Risks
AdsInsight
StreamRollback steps