Releases: fivetran/dbt_snapchat_ads
v0.10.0 dbt_snapchat_ads
PR #37 includes the following updates:
Breaking Change for dbt Core < 1.9.6
Note: This is not relevant to Fivetran Quickstart users.
Migrated freshness
from a top-level source property to a source config
in alignment with recent updates from dbt Core (Source PR #28). This will resolve the following deprecation warning that users running dbt >= 1.9.6 may have received:
[WARNING]: Deprecated functionality
Found `freshness` as a top-level property of `snapchat_ads` in file
`models/src_snapchat_ads.yml`. The `freshness` top-level property should be moved
into the `config` of `snapchat_ads`.
IMPORTANT: Users running dbt Core < 1.9.6 will not be able to utilize freshness tests in this release or any subsequent releases, as older versions of dbt will not recognize freshness as a source config
and therefore not run the tests.
If you are using dbt Core < 1.9.6 and want to continue running Snapchat Ads freshness tests, please elect one of the following options:
- (Recommended) Upgrade to dbt Core >= 1.9.6
- Do not upgrade your installed version of the
snapchat_ads
package. Pin your dependency on v0.9.1 in yourpackages.yml
file. - Utilize a dbt override to overwrite the package's
snapchat_ads
source and apply freshness via the old top-level property route. This will require you to copy and paste the entirety of thesrc_snapchat_ads.yml
file and add anoverrides: snapchat_ads_source
property.
Full Changelog: v0.9.1...v0.10.0
v0.9.1 dbt_snapchat_ads
This release introduces the following updates:
Under the Hood
- Prepends
materialized
configs in the package'sdbt_project.yml
file with+
to improve compatibility with the newer versions of dbt-core starting with v1.10.0. (PR #35) - Updates the package maintainer pull request template. (PR #36)
Contributors
Full Changelog: v0.9.0...v0.9.1
v0.9.0 dbt_snapchat_ads
PR #34 introduces the following updates:
Schema Updates
7 total changes • 0 breaking changes
Data Model | Change type | Old name | New name | Notes |
---|---|---|---|---|
snapchat_ads__campaign_country_report | New Transforms Model | Each record represents the daily performance of a Snapchat campaign per country. | ||
snapchat_ads__campaign_region_report | New Transforms Model | Each record represents the daily performance of a Snapchat campaign per region. | ||
stg_snapchat_ads__campaign_geo_country_daily_report | New Staging Model | Uses campaign_geo_country_daily_report source table |
||
stg_snapchat_ads__campaign_geo_region_daily_report | New Staging Model | Uses campaign_geo_region_daily_report source table |
||
stg_snapchat_ads__campaign_geo_country_daily_report_tmp | New Temp Model | Uses campaign_geo_country_daily_report source table |
||
stg_snapchat_ads__campaign_geo_region_daily_report_tmp | New Temp Model | Uses campaign_geo_region_daily_report source table |
||
stg_snapchat_ads__campaign_history | New Columns | daily_budget_micro , start_time , end_time , lifetime_spend_cap_micro , status , objective |
Please note that these are disabled by default for dbt Core users. To enable them, add the following configuration to your root dbt_project.yml
file. For more information on how to configure this, refer to the README.
vars:
snapchat_ads__using_campaign_country_report: true # Necessary for the snapchat_ads__campaign_country_report model. False by default. Requires the campaign_geo_country_daily_report source table
snapchat_ads__using_campaign_region_report: true # Necessary for the snapchat_ads__campaign_region_report model. False by default. Requires the campaign_geo_region_daily_report source table
Feature Updates
- Introduced the following variables for each respective new transformation model in order to pass through additional metrics from their corresponding source tables:
snapchat_ads__campaign_daily_country_report_passthrough_metrics
snapchat_ads__campaign_daily_region_report_passthrough_metrics
For more information on how to configure this, refer to the README.
Documentation Updates
- Updated field descriptions to make more accurate.
Full Changelog: v0.8.0...v0.9.0
v0.8.0 dbt_snapchat_ads
This release introduces the following updates:
Breaking Changes
- Adds ad squad and campaign details to the
snapchat_ads__ad_report
model, so that they can eventually be incorporated in thedbt_ad_reporting
package for thead_reporting__ad_report
model. Fields added are included below. (#33)ad_squad_id
ad_squad_name
campaign_id
campaign_name
Under The Hood
- Updated the tests to include
ad_squad_id
andcampaign_id
insnapchat.yml
forsnapchat_ads__ad_report
andsnapchat_ads__url_report
to more closely align with other ad reporting packages. (#33) - Added integrity test to ensure the
snapchat_ads__ad_report
maintains the same row grain count forad_id
anddate_day
betweens the source and end models. (#33) - Updated validation tests in the
integration_tests
folder to check for discrepancies betweenconversions
andconversions_value
. (#33)
Documentation
- Added Quickstart model counts to README. (#30)
- Corrected references to connectors and connections in the README. (#30)
- Updated
snapchat.yml
with new above field additions. (#33)
Contributors
Full Changelog: v0.7.0...v0.8.0
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"]
.