Releases: fivetran/dbt_facebook_ads
v0.9.0 dbt_facebook_ads
PR #50 introduces the following updates:
Schema Updates
11 total changes • 0 possible breaking changes
Data Model | Change type | Old name | New name | Notes |
---|---|---|---|---|
facebook_ads__country_report | New Transform Model | Each record represents the daily performance of a Facebook account at the country level. | ||
facebook_ads__region_report | New Transform Model | Each record represents the daily performance of a Facebook account at the region level. | ||
stg_facebook_ads__demographics_country | New Staging Model | Uses demographics_country source table |
||
stg_facebook_ads__demographics_country_tmp | New Staging Model | Uses demographics_country source table |
||
stg_facebook_ads__demographics_country_actions | New Staging Model | Uses demographics_country_actions source table |
||
stg_facebook_ads__demographics_country_actions_tmp | New Staging Model | Uses demographics_country_actions source table |
||
stg_facebook_ads__demographics_region | New Staging Model | Uses demographics_region source table |
||
stg_facebook_ads__demographics_region_tmp | New Staging Model | Uses demographics_region source table |
||
stg_facebook_ads__demographics_region_actions | New Staging Model | Uses demographics_region_actions source table |
||
stg_facebook_ads__demographics_region_actions_tmp | New Staging Model | Uses demographics_region_actions source table |
||
stg_facebook_ads__account_history | New Columns | business_state , timezone_offset_hours_utc , min_daily_budget |
Feature Updates
- Added the
facebook_ads__using_demographics_country
andfacebook_ads__using_demographics_region
variables, which can be used to enable or disable the above transformations related to the newdemographics_country
/demograhics_country_actions
anddemographics_region
/demographics_region_actions
tables.- These variables are dynamically set for Fivetran Quickstart users, but false by default otherwise. See README for more details on how to enable these models, particularly if you are using dbt Core.
- Introduced the following passthrough column variables, which can be used to pass through additional metrics fields from their respective source reports to
facebook_ads__country_report
orfacebook_ads__region_report
. See README for more details.facebook_ads__demographics_country_passthrough_metrics
facebook_ads__demographics_country_actions_passthrough_metrics
facebook_ads__demographics_region_passthrough_metrics
facebook_ads__demographics_region_actions_passthrough_metrics
Documentation
- Clarified conversion field output in the README and yml descriptions.
Under the Hood
- Added vertical integrity tests for the new
facebook_ads__country_report
andfacebook_ads__region_report
end models.
Full Changelog: v0.8.1...v0.9.0
v0.8.1 dbt_facebook_ads
Bug Fixes
- Added logic to the
stg_facebook_ads__creative_history
model to dynamically convert theurl_tags
field from a JSON to a STRING if necessary (BigQuery only). This is necessary for the success of downstream transformations in thefacebook_ads
package. (facebook_ads_source PR #43)
Note: If you are a BigQuery user unioning multiple Facebook Ads connections together in the package, the data type of
creative_history.url_tags
must be consistent across your connections. Otherwise, thestg_facebook_ads__creative_history_tmp
will likely fail. Please reach out and create an issue if you are facing this error.
Under the Hood
- Added a consistency validation test for the
facebook_ads__url_tags
model. (PR #49) - Updated existing consistency tests to include conversion metrics. (PR #49)
Documentation
- Added Quickstart model counts to README. (#48)
- Corrected references to connectors and connections in the README. (#48)
- Adjusted the header formatting in the README. (PR #49)
- Updated LICENSE. (PR #49)
Full Changelog: v0.8.0...v0.8.1
v0.8.0 dbt_facebook_ads
Feature Updates: Conversion Metrics
PR #43 includes the following updates:
- Adds a
conversions
andconversions_value
field to each_report
end model, representing the raw and monetary value of conversions, respectively, that occurred on each day for each ad/campaign/ad set/url/account. These will aggregate conversions of all includedaction_types
.- By default, the package will consider purchase, lead, and custom-defined events to be conversions based on the record's
action_type
(see below):
- By default, the package will consider purchase, lead, and custom-defined events to be conversions based on the record's
Action Type | Action Description (Meta docs) |
---|---|
offsite_conversion.fb_pixel_custom |
Custom pixel events defined by the advertiser. This will group together individual offsite_conversion.custom% custom conversion events. |
offsite_conversion.fb_pixel_lead |
The number of "lead" events tracked by the pixel or Conversions API on your website and attributed to your ads. Off-Facebook leads, in short. |
onsite_conversion.lead_grouped |
The number of leads submitted on Meta technologies (including forms and Messenger) and attributed to your ads. On-Facebook leads, in short. |
offsite_conversion.fb_pixel_purchase |
The number of "purchase" events tracked by the pixel or Conversions API on your website and attributed to your ads. Off-Facebook purchases, in short. |
onsite_conversion.purchase |
The number of purchases made within Meta technologies (such as Pages or Messenger) and attributed to your ads. On-Facebook purchases, in short. |
- The above can be configured via the the new
facebook_ads__conversion_action_types
variable. See README for more details.
# dbt_project.yml
vars:
facebook_ads__conversion_action_types: # case-insensitive
- name: exact_conversion_action_type_name # will grab `basic_ad_actions` records where action_type = 'exact_conversion_action_type_name'
- pattern: onsite_conversion% # will grab all `onsite_conversion%` records
- name: offsite_conversion.custom.my_custom_conversion_123
- name: very_specific_conversion_action
where_sql: source_relation = 'specific advertiser source' # will grab `basic_ad_actions` records where (action_type = very_specific_conversion_action and {{ where_sql }})
- pattern: subscribe%
where_sql: source_relation = 'advertiser who only cares about subscriptions' # will grab `basic_ad_actions` records where (action_type like 'subscribe%' and {{ where_sql }})
Note: If you were previously utilizing the
facebook_ads__basic_ad_passthrough_metrics
variable to include a (likely null) field calledconversions
orconversions_value
, the package's version of these fields will take precedence over yours. To continue including your old conversions fields, change thealias
of the passthrough field to another name.
- Creates the new
facebook_ads__basic_ad_actions_passthrough_metrics
andfacebook_ads__basic_ad_action_values_passthrough_metrics
variables to pass through additional conversion value metrics that are calculated using different attribution windows. - Adds
optimization_goal
field tofacebook_ads__ad_set_report
model. This is defined as the optimization goal this ad set is using, possible values of which are defined here. - Adds
conversion_domain
field tofacebook_ads__ad_report
model. This is defined as the domain you've configured the ad to convert to.
Documentation
- Documents the ability to transform metrics provided to the
facebook_ads__basic_ad_passthrough_metrics
andfacebook_ads__basic_ad_action_values_passthrough_metrics
variables. See README for details (PR #43). - Added missing documentation for fields in the campaign, ad set, and account report models (PR #43).
Under the Hood
- Updated the
quickstart.yml
file to allow for automated Quickstart data model deployments (PR #40). - Updated the PR templates to align with our most up-to-date standards (PR #43).
- Removed the now-defunct 2nd reviewer bot workflow (PR #43).
- Added a new version of the
persist_pass_through_columns()
macro in which we can includecoalesces
and exclusion fields. (PR #43).- This macro will sum together any passthrough columns and cast them as floats.
- Updated the
quickstart.yml
file to allow for automated Quickstart data model deployments. (PR #40)
Contributors
Full Changelog: v0.7.2...v0.8.0
v0.7.2 dbt_facebook_ads
PR #38 includes the following updates:
Bug Fixes
- This package now leverages the new
facebook_ads_extract_url_parameter()
macro for use in parsing out url parameters. This was added to create special logic for Databricks instances not supported bydbt_utils.get_url_parameter()
.- This macro will be replaced with the
fivetran_utils.extract_url_parameter()
macro in the next breaking change of this package.
- This macro will be replaced with the
Under the Hood
- Included auto-releaser GitHub Actions workflow to automate future releases.
Full Changelog: v0.7.1...v0.7.2
v0.7.1 dbt_facebook_ads
PR #36 includes the following updates:
Documentation Updates
- The prerequisite steps in the README for generating the
basic_ad
pre-built report have been modified to reflect the current state of the Facebook Ads connector. - Adds the DECISIONLOG to clarify why there exist differences among aggregations across different grains.
Full Changelog: v0.7.0...v0.7.1
v0.7.0 dbt_facebook_ads
PR #34 includes the following updates:
Feature update 🎉
- Unioning capability! This adds the ability to union source data from multiple facebook_ads connectors. Refer to the Union Multiple Connectors README section for more details.
Under the hood 🚘
- In the source package, updated tmp models to union source data using the
fivetran_utils.union_data
macro. - To distinguish which source each field comes from, added
source_relation
column in each staging and downstream model and applied thefivetran_utils.source_relation
macro.- The
source_relation
column is included in all joins and window function partition clauses in the transform package.
- The
- Updated tests to account for the new
source_relation
column.
PR #27 includes the following updates:
- Incorporated the new
fivetran_utils.drop_schemas_automation
macro into the end of each Buildkite integration test job. - Updated the pull request templates.
Full Changelog: v0.6.0...v0.7.0
dbt_facebook_ads v0.6.0
🚨 Breaking Changes 🚨:
PR #23 includes the following breaking changes:
- Dispatch update for dbt-utils to dbt-core cross-db macros migration. Specifically
{{ dbt_utils.<macro> }}
have been updated to{{ dbt.<macro> }}
for the below macros:any_value
bool_or
cast_bool_to_text
concat
date_trunc
dateadd
datediff
escape_single_quotes
except
hash
intersect
last_day
length
listagg
position
replace
right
safe_cast
split_part
string_literal
type_bigint
type_float
type_int
type_numeric
type_string
type_timestamp
array_append
array_concat
array_construct
- For
current_timestamp
andcurrent_timestamp_in_utc
macros, the dispatch AND the macro names have been updated to the below, respectively:dbt.current_timestamp_backcompat
dbt.current_timestamp_in_utc_backcompat
packages.yml
has been updated to reflect new defaultfivetran/fivetran_utils
version, previously[">=0.3.0", "<0.4.0"]
now[">=0.4.0", "<0.5.0"]
.
🎉 Features 🎉
- For use in the dbt_ad_reporting package, users can now allow records having nulls in url fields to be included in the
ad_reporting__url_report
model. See the dbt_ad_reporting README for more details(#25).
🚘 Under the Hood 🚘
- Disabled the
not_null
test forfacebook_ads__url_report
when null urls are allowed (#25).
dbt_facebook_ads 0.5.0
🚨 Breaking Changes 🚨
The following changes come with PR [https://github.com//pull/21]:
- Renames
facebook_ads__ad_adapter
model tofacebook_ads__url_report
to more accurately reflect what is included in the report; this report now also filters for only records that have a url value forcreative_history.page_link
orcreative_history.template_page_link
. - Renames
facebook_ads__creative_history_prep
model toint_facebook_ads__creative_history
to conform with new styling standards.
🎉 Feature Enhancements 🎉
PR [https://github.com//pull/21] includes the following enhancements:
- Addition of new
facebook_ads__ad_report
that reportsspend
,clicks
andimpressions
at the ad level. README
updates for easier navigation and use of the package.- Migrates
dbt_facebook_ads_creative_history.stg_facebook_ads__url_tag
model directly into this package as a final model namedfacebook_ads__url_tags
. - Added passthrough functionality for
BASIC_AD
pre-built report usingfacebook_ads__basic_ad_metrics
variable.facebook_ads__basic_ad_metrics
example.
vars:
facebook_ads__basic_ad_metrics:
- name: "my_field_to_include" # Required: Name of the field within the source.
alias: "field_alias" # Optional: If you wish to alias the field within the staging model.
dbt_facebook_ads 0.4.1
Updates
- Adding in
Required Report(s)
section to be consistent withdbt_facebook_ads_source
package.
Contributors
facebook_ads 0.4.0
🎉 dbt v1.0.0 Compatibility 🎉
🚨 Breaking Changes 🚨
- Adjusts the
require-dbt-version
to now be within the range [">=1.0.0", "<2.0.0"]. Additionally, the package has been updated for dbt v1.0.0 compatibility. If you are using a dbt version <1.0.0, you will need to upgrade in order to leverage the latest version of the package.- For help upgrading your package, I recommend reviewing this GitHub repo's Release Notes on what changes have been implemented since your last upgrade.
- For help upgrading your dbt project to dbt v1.0.0, I recommend reviewing dbt-labs upgrading to 1.0.0 docs for more details on what changes must be made.
- Upgrades the package dependency to refer to the latest
dbt_facebook_ads_source
. Additionally, the latestdbt_facebook_ads_source
package has a dependency on the latestdbt_fivetran_utils
. Further, the latestdbt_fivetran_utils
package also has a dependency ondbt_utils
[">=0.8.0", "<0.9.0"].- Please note, if you are installing a version of
dbt_utils
in yourpackages.yml
that is not in the range above then you will encounter a package dependency error.
- Please note, if you are installing a version of