PR #34 includes the following BREAKING CHANGE updates:
- We have added the following conversion metrics to each
pinterest_ads
end model:total_conversions
: The sum of all website conversion events.total_conversions_quantity
: The total count of items or units involved in conversions.total_conversions_value
(converted fromtotal_conversions_value_in_micro_dollar
) Total order value associated with conversions.
- In the event that you were already passing the above fields in via our passthrough columns, the package will dynamically avoid "duplicate column" errors.
The above new field additions are breaking changes for users who were not already bringing in conversion fields via passthrough columns.
- Added more information about the difference in grains and their relationships in the DECISIONLOG.
- Created
pinterest_ads_persist_pass_through_columns
macro to ensure that the new conversion fields are backwards compatible with users who have already included them via passthrough fields. - Added integrity and consistency validation tests within
integration_tests
folder for the transformation models (to be used by maintainers only). - Updated seed data to represent an e-commerce customer scenario.
- Coalesces
spend
with 0 to ensure proper downstream aggregations.
PR #30 includes the following updates:
- Updated the following identifiers for consistency with the source name and compatibility with the union schema feature:
current | previous |
---|---|
pinterest_ads_ad_group_history_identifier | pinterest_ad_group_history_identifier |
pinterest_ads_campaign_history_identifier | pinterest_campaign_history_identifier |
pinterest_ads_pin_promotion_report_identifier | pinterest_pin_promotion_report_identifier |
pinterest_ads_keyword_history_identifier | pinterest_keyword_history_identifier |
pinterest_ads_keyword_report_identifier | pinterest_keyword_report_identifier |
pinterest_ads_ad_group_report_identifier | pinterest_ad_group_report_identifier |
pinterest_ads_campaign_report_identifier | pinterest_campaign_report_identifier |
pinterest_ads_advertiser_history_identifier | pinterest_advertiser_history_identifier |
pinterest_ads_advertiser_report_identifier | pinterest_advertiser_report_identifier |
- If you are using the previous identifier, be sure to update to the current version!
- Unioning capability! This adds the ability to union source data from multiple pinterest connectors. Refer to the Union Multiple Connectors README section for more details.
- 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 #26 introduces the following changes:
- Following Pinterest Ads deprecating the v4 API on June 30, 2023 in place of v5, the Pinterest Ads Fivetran connector now leverages the Pinterest v5 API. The following fields have been deprecated/introduced:
Model | Removed | New |
---|---|---|
pinterest_ads__advertiser_report | billing_type , status |
- Following the v5 upgrade,
ad_account_id
is a net new field withinad_group_history
andpin_promotion_history
source tables synced via the connector. However, to keep these fields standard across the package, we have renamed them asadvertiser_id
within the respective staging models. - Seed data were updated with new/removed fields following the v5 upgrade
- This was an accidental release
- Addition of the
pinterest__using_keywords
(default=true
) variable that allows users to disable the relevant keyword reports in the downstream Pinterest models if they are not used. (#25)
- Incorporated the new
fivetran_utils.drop_schemas_automation
macro into the end of each Buildkite integration test job. (PR #24) - Updated the pull request templates. (PR #24)
PR #22 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"]
.
- 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 (#23).
- Disabled the
not_null
test forpinterest_ads__url_report
when null urls are allowed (#23).
PR #21 includes the following changes:
- The
pin_promotion_report_pass_through_metric
variable has been renamed topinterest__pin_promotion_report_passthrough_metrics
. - The declaration of passthrough variables within your root
dbt_project.yml
has changed. To allow for more flexibility and better tracking of passthrough columns, you will now want to define passthrough metrics in the following format:
This applies to all passthrough metrics within the
dbt_pinterest
package and not just thepinterest__pin_promotion_report_passthrough_metrics
example.
vars:
pinterest__pin_promotion_report_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.
- The
pinterest_ads__ad_adapter
has been renamed topinterest_ads__url_report
. - The
pinterest_ads__ad_group_ad_report
has been renamed topinterest_ads__ad_group_report
. - The
pinterest_ads__campaign_ad_report
has been renamed topinterest_ads__campaign_report
.
-
Addition of the following new end models:
pinterest_ads__pin_promotion_report
- Each record in this table represents the daily performance at the pin level.
pinterest_ads__advertiser_report
- Each record in this table represents the daily performance at the advertiser level.
pinterest_ads__keyword_report
- Each record in this table represents the daily performance at the ad group level for keywords.
-
Inclusion of additional passthrough metrics:
pinterest__ad_group_report_passthrough_metrics
pinterest__campaign_report_passthrough_metrics
pinterest__advertiser_report_passthrough_metrics
pinterest__keyword_report_passthrough_metrics
-
README updates for easier navigation and use of the package.
-
Included grain uniqueness tests for each end model.
🎉 dbt v1.0.0 Compatibility 🎉
- 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_pinterest_source
. Additionally, the latestdbt_pinterest_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
Refer to the relevant release notes on the Github repository for specific details for the previous releases. Thank you!