- Added Quickstart model counts to README. (#73)
- Corrected references to connectors and connections in the README. (#73)
PR #66 includes the following updates:
- We have added the following source fields to each
google_ads
end model:conversions
: The number of conversions you've received, across your conversion actions. Conversions are measured with conversion tracking and may include modeled conversions in cases where you are not able to observe all conversions that took place. You can use this column to see how often your ads led customers to actions that you’ve defined as valuable for your business.conversions_value
: The sum of monetary values for yourconversions
. You have to enter a value in the Google Ads UI for your conversion actions to make this metric useful.view_through_conversions
: For video campaigns, view-through conversions tell you when an impression of your video ad leads to a conversion on your site. The last impression of a video ad will get credit for the view-through conversion. An impression is different than a “view” of a video ad. A “view” is counted when someone watches 30 seconds (or the whole ad if it’s shorter than 30 seconds) or clicks on a part of the ad. A “view” that leads to a conversion is counted in theconversions
column.
- 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.
- Updated the package maintainer PR template.
- Created
google_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).
PR #62 includes the following updates:
- This package now leverages the new
google_ads_extract_url_parameter()
(located within the dbt_google_ads_source package) 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
- Included auto-releaser GitHub Actions workflow to automate future releases.
PR #52 includes the following updates:
- Unioning capability! This adds the ability to union source data from multiple google_ads 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 #60 includes the following update:
- Removes the dependency on
dbt-expectations
. Upstream we specifically removed thedbt_expectations.expect_column_values_to_not_match_regex_list
test.
- Updates the DECISIONLOG to clarify why there exist differences among aggregations across different grains.
PR #57 includes the following updates:
- Updated end models to select key columns from the
stats
source instead of thereports
source to avoid introducing null values.
- Added the column
currency_code
to the following models (PR #49):google_ads__ad_group_report
google_ads__ad_report
google_ads__campaign_report
google_ads__keyword_report
google_ads__url_report
- Incorporated the new
fivetran_utils.drop_schemas_automation
macro into the end of each Buildkite integration test job. (PR #46) - Updated the pull request templates. (PR #46)
- Adjusted keyword report to leverage the stats ids as opposed to the history ids to have more accurate reporting. (PR #41)
PR #35 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"]
.
- 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 (#39).
- Disabled the
not_null
test forgoogle_ads__url_report
when null urls are allowed (#39).
- Updates
google_ads__ad_report
model to getad_id
fromad_stats
table rather than fromads_history
. (#37)
- The
adwords
api version of the package has been fully removed. As the Fivetran Google Ads connector now requires the Google Ads API, this functionality is no longer used. (#34) - Removal of the
google_ads__ad_adapter
model. (#34) - Major updates have also been applied to the dbt_google_ads_source package which is a dependency of this package. Please refer to the v0.8.0 release notes for more details before upgrading your package.
- 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_google_ads
package and not just thegoogle_ads__ad_stats_passthrough_metrics
example.
vars:
google_ads__ad_stats_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.
-
Addition of the following new end models. These models were added to provide further flexibility and ensure greater accuracy of your Google Ads reporting. Additionally, these new end models will be leveraged in the respective downstream dbt_ad_reporting models.
google_ads__account_report
- Each record in this table represents the daily performance at the account level.
google_ads__campaign_report
- Each record in this table represents the daily performance of a campaign at the campaign/advertising_channel/advertising_channel_subtype level.
google_ads__ad_group_report
- Each record in this table represents the daily performance at the ad group level.
google_ads__keyword_report
- Each record in this table represents the daily performance at the ad group level for keywords.
google_ads__ad_report
- Each record in this table represents the daily performance at the ad level.
google_ads__url_report
- Each record in this table represents the daily performance of URLs at the ad level.
-
Added testing for each end model to ensure granularity and accuracy of the modeled data. (#34)
-
README updates for easier navigation and use of the package. (#34)
-
Inclusion of additional passthrough metrics within the respective end state models detailed above: (#34)
google_ads__ad_group_stats_passthrough_metrics
google_ads__campaign_stats_passthrough_metrics
google_ads__keyword_stats_passthrough_metrics
google_ads__account_stats_passthrough_metrics
- The
api_source
variable is now defaulted togoogle_ads
as opposed toadwords
. The Adwords API has since been deprecated by Google and is now no longer the standard API for the Google Ads connector. Please ensure you are using a Google Ads API version of the Fivetran connector before upgrading this package. (#32)- Please note, the
adwords
version of this package will be fully removed from the package in August of 2022. This means, models undermodels/adwords_connector
will be removed in favor ofmodels/google_ads_connector
models.
- Please note, the
- Updated google_ads__url_ad_adapter link in README (Thank you to @bkimjin! (#26))
- The
account
source table has been renamed to beaccount_history
. This has been reflected in the source model references within this release. (#24) - The
ad_final_url_history
model has been removed from the connector. The url fields are now references within thefinal_urls
field within thead_history
table. These changes are reflected in thegoogle_ads__url_adapter
model. (#24)
🎉 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_google_ads_source
. Additionally, the latestdbt_google_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
Refer to the relevant release notes on the Github repository for specific details for the previous releases. Thank you!