Release Notes
August 2026
v1.4.1
Feature Updates
- Adds DuckDB as a supported destination.
June 2026
v1.4.0
Schema/Data Changes (--full-refresh required after upgrading)
1 total change • 1 possible breaking change
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
| All models | source_relation column (when using a single Google Ads schema) | Empty string ('') | <database>.<schema> |
Feature Updates
- Introduces the new (recommended)
google_ads_sourcesvariable for more robust union data configuration. The oldgoogle_ads_union_schemasandgoogle_ads_union_databasesvariables will still be supported. See the README for specific details.
Under the Hood
- Adds the
fivetran_using_source_casingvariable for case-sensitive destination support. When enabled, downstream transformations respect source casing to ensure consistent results. See the Additional Configurations section of the README for details. - Introduces
fivetran_utils.partition_by_source_relationto conditionally includesource_relationin partition clauses only when multiple sources are configured.
May 2026
v1.3.1
Bug Fix
- Fixes null values in campaign
start_dateandend_datefields that occurred after March 2026 Fivetran Google Ads connector updates. The model now combines the newstart_date_timeandend_date_timetimestamp fields with existing date fields to ensure complete data. Note thatstart_dateandend_dateare date strings whilestart_date_timeandend_date_timeare timestamp strings, so you may need to apply your own datatype handling.
April 2026
v1.3.0
Schema/Data Change
8 total changes • 2 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
google_ads__campaign_report | New Columns | ctr | Click-through rate for ad relevance analysis Possible breaking change: New column may affect downstream use | |
google_ads__campaign_report | New Column | serving_status | Current serving status of the campaign Possible breaking change: New column may affect downstream use | |
google_ads__campaign_bid_modifiers_report | New Model | Analyzes bid modifier effectiveness at campaign-criterion level with performance-based recommendations | ||
google_ads__campaign_budget_diagnostics_report | New Model | Diagnoses daily campaign budget utilization and performance constraints with prioritized optimization recommendations | ||
stg_google_ads__campaign_bid_modifier_historystg_google_ads__campaign_bid_modifier_history_tmp | New Staging Models | Historical bid modifier configurations and adjustments at campaign-criterion level | ||
stg_google_ads__campaign_bidding_strategy_historystg_google_ads__campaign_bidding_strategy_history_tmp | New Staging Models | Historical bidding strategy configurations including target CPA and ROAS settings | ||
stg_google_ads__campaign_budget_historystg_google_ads__campaign_budget_history_tmp | New Staging Models | Historical campaign budget configurations including daily and lifetime budget settings | ||
stg_google_ads__campaign_criterion_historystg_google_ads__campaign_criterion_history_tmp | New Staging Models | Historical campaign-level targeting criteria including location, device, and audience settings |
Feature Updates
- New configurable threshold variables - Introduces customizable threshold variables for diagnostic report optimization logic. See Configure diagnostic report thresholds in the README for configuration examples.
| Variable | Description |
|---|---|
google_ads__cpc_low / google_ads__cpc_high | Cost per click thresholds for optimization analysis |
google_ads__ctr_low / google_ads__ctr_high | Click-through rate thresholds for performance evaluation |
google_ads__spend_low / google_ads__spend_high | Spend amount thresholds for budget analysis |
google_ads__bid_modifier_low / google_ads__bid_modifier_high | Bid modifier thresholds for adjustment recommendations |
google_ads__budget_low / google_ads__budget_high | Budget utilization thresholds for constraint analysis |
google_ads__location_targeting_low / google_ads__location_targeting_high | Location targeting count thresholds for reach analysis |
Under the Hood
- Adds ephemeral intermediate model
int_google_ads__campaigns_accountsproviding shared campaign and account dimensional data.- Refactors existing reports (
ad_group_report,ad_report,keyword_report,search_term_report,url_report) to use sharedint_google_ads__campaigns_accountsintermediate model.
- Refactors existing reports (
- Adds the
get_threshold_high_lowsmacro that processes diagnostic threshold configurations for use in budget and bid recommendations. - Removes unused field descriptions (
absolute_top_impression_percentage) from source documentation as they are not used in downstream reports.
January 2026
v1.1.0
Features
- Increases the required dbt version upper limit to v3.0.0
v1.2.0
Documentation
- Updates README with standardized Fivetran formatting.
Under the Hood
- In the
quickstart.ymlfile:- Adds
supported_varsfor Quickstart UI customization.
- Adds
August 2025
v1.0.0
Breaking Changes
Source Package Consolidation
- Removed the dependency on the
fivetran/google_ads_sourcepackage.- All functionality from the source package has been merged into this transformation package for improved maintainability and clarity.
- If you reference
fivetran/google_ads_sourcein yourpackages.yml, you must remove this dependency to avoid conflicts. - Any source overrides referencing the
fivetran/google_ads_sourcepackage will also need to be removed or updated to reference this package. - Update any google_ads_source-scoped variables to be scoped to only under this package. See the README for how to configure the build schema of staging models.
- As part of the consolidation, vars are no longer used to reference staging models, and only sources are represented by vars. Staging models are now referenced directly with
ref()in downstream models.
dbt Fusion Compatibility Updates
- Updated package to maintain compatibility with dbt-core versions both before and after v1.10.6, which introduced a breaking change to multi-argument test syntax (e.g.,
unique_combination_of_columns). - Temporarily removed unsupported tests to avoid errors and ensure smoother upgrades across different dbt-core versions. These tests will be reintroduced once a safe migration path is available.
- Removed all
dbt_utils.unique_combination_of_columnstests. - Removed all
accepted_valuestests. - Moved
loaded_at_field: _fivetran_syncedunder theconfig:block insrc_google_ads.yml.
- Removed all
Under the Hood
- Updated conditions in
.github/workflows/auto-release.yml. - Added
.github/workflows/generate-docs.yml.
June 2025
v0.14.0
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 #68). 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 `google_ads` in file `models/src_google_ads.yml`. The `freshness` top-level property should be moved into the `config` of `google_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 Google 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
google_adspackage. Pin your dependency on v0.13.0 in yourpackages.ymlfile. - Utilize a dbt override to overwrite the package's
google_adssource and apply freshness via the old top-level property route. This will require you to copy and paste the entirety of thesrc_google_ads.ymlfile and add anoverrides: google_ads_sourceproperty.
Under the Hood
- Updated the package maintainer PR template.
August 2024
v0.11.0
Feature Updates: Conversion Support!
- We have added the following source fields to each
google_adsend 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 theconversionscolumn.
- 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.
Under the Hood
- Updated the package maintainer PR template.
- Created
google_ads_persist_pass_through_columnsmacro 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_testsfolder for the transformation models (to be used by maintainers only).