Releases: fivetran/dbt_snapchat_ads
v0.7.0 dbt_snapchat_ads
PR #28 includes the following BREAKING CHANGE updates:
Feature Updates: Conversion Support
We have added more robust support for conversions in our data models by doing the following:
- Added a
conversion_purchases_value
field to each_report
end model, representing the value of conversions that occurred on each day for each account, ad, ad squad, campaign and url in your Ad Account's currency. - Introduced the
snapchat_ads_conversion_fields
variable to configure which conversion fields (reflecting the total number of conversions) to include in each end model.- By default,
snapchat_ads_conversion_fields
will include the most commonly used conversion field,conversion_purchases
. See README for details on how to configure this variable to include other conversion events. - The individual conversion fields specified by
snapchat_ads_conversion_fields
are summed together into atotal_conversions
field in each end model as well.
- By default,
IMPORTANT: The above new field additions are breaking changes for users who were not already bringing in conversion fields via passthrough columns.
Documentation Update
- Documented how to use the new
snapchat_ads__conversion_fields
variable here. - Documented new default conversion fields in yml.
Under the Hood
- Added a new version of the
persist_pass_through_columns()
macro in which we can includecoalesces
and properly check between conversion field values and the existing passthrough column. - Added data validation tests to verify this release.
Contributors
Full Changelog: v0.6.2...v0.7.0
v0.6.2 dbt_snapchat_ads
Bug Fixes
- Adjust the severity of the
ad_account_id
test insnapchat_ads__account_report
towarn
. This is required since Snapchat can hard-delete records from the history tables, but not from the reporting tables. This ensures that accurate statistics are being reported and production pipelines aren't failing. (PR #20)- Documents the above decision in the DECISIONLOG.md.
Under the Hood
- Updated the repo-maintainer PR template to our most up-to-date format (PR #24).
Contributors
Full Changelog: v0.6.1...v0.6.2
v0.6.1 dbt_snapchat_ads
PR #22 includes the following updates:
Bug Fixes
- This package now leverages the new
snapchat_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.6.0...v0.6.1
v0.6.0 dbt_snapchat_ads
PR #19 includes the following updates:
Feature update 🎉
- Unioning capability! This adds the ability to union source data from multiple snapchat_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 in the transform package.
- The
- Updated tests to account for the new
source_relation
column.
PR #15 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.5.1...v0.6.0
v0.5.1 dbt_snapchat_ads
Bug Fixes
- Add missing columns ad_squad_id, ad_squad_name, campaign_id and campaign_name to
url_report
that were previously available in the <0.3.1 version of this package. (#14)
Contributors
Full Changelog: v0.5.0...v0.5.1
dbt_snapchat_ads v0.5.0
🚨 Breaking Changes 🚨:
PR #12 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
- Dependencies on
fivetran/fivetran_utils
have been upgraded, previously[">=0.3.0", "<0.4.0"]
now[">=0.4.0", "<0.5.0"]
.
dbt_snapchat_ads 0.4.0
PR #11 applies the Ad Reporting V2 updates:
🚨 Breaking Changes 🚨
- Changes
snapchat_schema
andsnapchat_database
variable names tosnapchat_ads_schema
andsnapchat_ads_database
- Updates model names to prefix with
snapchat_ads
and removes thead_adapter
model and dependencies on it
🎉 Feature Enhancements 🎉
-
Addition of the following new end models. These models were added to provide further flexibility and ensure greater accuracy of your Snapchat Ads reporting. Additionally, these new end models will be leveraged in the respective downstream dbt_ad_reporting models.
snapchat_ads__ads_report
- Each record in this table represents the daily performance at the ads level.
snapchat_ads__creative_report
- Each record in this table represents the daily performance at the campaign level.
snapchat_ads__url_report
- Each record in this table represents the daily performance at the url level.
-
Applies README standardization updates
-
Introduces the identifier variable for all source models
-
Casts all timestamp fields using dbt_utils.type_timestamp() and rounds all monetary fields
-
Inclusion of passthrough metrics:
snapchat_ads__ad_hourly_passthrough_metrics
snapchat_ads__ad_squad_hourly_passthrough_metrics
snapchat_ads__campaign_hourly_report_passthrough_metrics
This applies to all passthrough columns within the
dbt_snapchat_ads_source
package and not just thesnapchat_ads__ad_hourly_passthrough_metrics
example.
vars:
snapchat_ads__ad_hourly_passthrough_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.
- Add enable configs for this specific ad platform, for use in the Ad Reporting rollup package
snapchat_ads 0.3.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_snapchat_ads_source
. Additionally, the latestdbt_snapchat_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
dbt 0.20.0 Compatibility
🎉 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 thedbt-labls/dbt_utils
package. If your project also utilizes a version of thefishtown-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.
Postgres Compatibility
🎉 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.