Skip to content

Releases: fivetran/dbt_facebook_ads

v0.8.0 dbt_facebook_ads

14 Nov 19:41
6c67bba
Compare
Choose a tag to compare

Feature Updates: Conversion Metrics

PR #43 includes the following updates:

  • Adds a conversions and conversions_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 included action_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):
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 called conversions or conversions_value, the package's version of these fields will take precedence over yours. To continue including your old conversions fields, change the alias of the passthrough field to another name.

  • Creates the new facebook_ads__basic_ad_actions_passthrough_metrics and facebook_ads__basic_ad_action_values_passthrough_metrics variables to pass through additional conversion value metrics that are calculated using different attribution windows.
    • By default, the package includes only the conversion values calculated using the default attribution window set in Meta, but your report may include calculations using the other windows defined here. See README for details on how to use the new variables.
  • Adds optimization_goal field to facebook_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 to facebook_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 and facebook_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 include coalesces 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

14 Dec 17:24
c188c85
Compare
Choose a tag to compare

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 by dbt_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.

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

08 Nov 16:41
5809028
Compare
Choose a tag to compare

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

12 Oct 20:29
3af5d05
Compare
Choose a tag to compare

PR #34 includes the following updates:

Feature update 🎉

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 the fivetran_utils.source_relation macro.
    • The source_relation column is included in all joins and window function partition clauses in the transform package.
  • 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

04 Jan 15:10
eea68e4
Compare
Choose a tag to compare

🚨 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 and current_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 default fivetran/fivetran_utils version, previously [">=0.3.0", "<0.4.0"] now [">=0.4.0", "<0.5.0"].

🎉 Features 🎉

🚘 Under the Hood 🚘

  • Disabled the not_null test for facebook_ads__url_report when null urls are allowed (#25).

dbt_facebook_ads 0.5.0

02 Sep 20:29
cd6876e
Compare
Choose a tag to compare

🚨 Breaking Changes 🚨

The following changes come with PR [https://github.com//pull/21]:

  • Renames facebook_ads__ad_adapter model to facebook_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 for creative_history.page_link or creative_history.template_page_link.
  • Renames facebook_ads__creative_history_prep model to int_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 reports spend, clicks and impressions 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 named facebook_ads__url_tags.
  • Added passthrough functionality for BASIC_AD pre-built report using facebook_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

12 Jan 00:27
c8b969f
Compare
Choose a tag to compare

Updates

  • Adding in Required Report(s) section to be consistent with dbt_facebook_ads_source package.

Contributors

facebook_ads 0.4.0

22 Dec 02:49
21d98f3
Compare
Choose a tag to compare

🎉 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 latest dbt_facebook_ads_source package has a dependency on the latest dbt_fivetran_utils. Further, the latest dbt_fivetran_utils package also has a dependency on dbt_utils [">=0.8.0", "<0.9.0"].
    • Please note, if you are installing a version of dbt_utils in your packages.yml that is not in the range above then you will encounter a package dependency error.

dbt 0.20.0 Compatibility

05 Aug 00:10
062c8ff
Compare
Choose a tag to compare

🎉 dbt 0.20.0 Compatibility 🎉

🚨 This is a breaking change! 🚨 dbt v0.20.0 or greater is required for this release. If you are not ready to upgrade, consider using a previous release of this package.

Additional considerations when upgrading to this package:

  • This package utilizes the latest v0.7.x release of the dbt-labls/dbt_utils package. If your project also utilizes a version of the fishtown-analytics/dbt_utils package then you will receive a duplicate package error. If this is the case you will need to consider upgrading your other packages to be compatible with this update or use a previous release of this package.
  • Similar to the above point, all previous Fivetran dbt packages utilize the fishtown-analytics/dbt_utils package and you will need to upgrade all Fivetran dbt packages to the latest dbt 0.20.0 compatibility releases in order for your packages to run without package conflicts.
  • For Databricks users this compatibility is currently only available for >=dbt 0.20.1rc1. If you want more information on upgrading your dbt-spark version, you can refer to the dbt-spark release for further details.

Postgres Compatibility

21 Jul 14:44
1510d0b
Compare
Choose a tag to compare

🎉 Postgres Compatibility 🎉

This release incorporates Postgres compatibility changes. These changes are non-breaking and only include changes for integration testing and Postgres specific updates to the package.