Skip to content

Releases: Velir/dbt-ga4

3.1.0

23 Mar 11:08
ca2ccf8
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.0.1...3.1.0

3.0.1

17 Mar 19:19
Compare
Choose a tag to compare

What's Changed

  • Fix tab in base_ga4__events.yml causing parsing issue by @ken6377 in #155

New Contributors

Full Changelog: 3.0.0...3.0.1

v3.0.0

15 Mar 14:39
Compare
Choose a tag to compare

Welcome to dbt-ga4 3.0!

We're excited to share many improvements, optimizations, and new capabilities in v3.0.0. This is a major version change as there are several breaking changes (see below).

Thanks to all the new contributors listed below! If you're interested in contributing, please feel free to open an issue or PR. You can also find @adamribaudo on dbt's Slack instance as 'Adam Ribaudo'.

Summary of updates:

  • Better session-level attribution by ignoring session_start and first_visit events
  • Support for multiple GA4 properties (with daily frequency, only)
  • Implementation of dbt's 'adapter dispatch' pattern which allows package users to override package macros
  • Mapping between user_pseudo_ids and user_ids
  • Better documentation and more descriptive column names
  • Several small bug fixes and improvements

Breaking Changes and Upgrade Notes

  • With #149, we updated several column names for clarity's sake. This may break downstream models or BI tools
  • With #145, we removed the models/staging/ga4 folder. Any dbt_project.yml configs that referenced this folder should be removed.

A quick note on breaking changes

It's not lost on me that most releases have included breaking changes. This is a function of both the reality of coming up to speed on Google's imperfectly-documented export process and also this being my first dbt package. I can't promise the avoid breaking changes in the future, but I do plan to be much more conservative in releasing breaking changes post-July when I expect most package users will need to run these jobs in production.

Change log:

New Contributors

Full Changelog: 2.0.1...3.0.0

v2.0.1 utm values available when gclid is present

24 Nov 16:32
d18a9cd
Compare
Choose a tag to compare

In this release, the utm values for source, medium, and campaign will be retained even when a gclid value is present in the page_location field. There were also changes to unit test definition and execution which should only impact package developers.

What's Changed

Full Changelog: 2.0.0...2.0.1

v2.0.0 Performance updates and other QoL changes

18 Nov 17:59
Compare
Choose a tag to compare

The primary focus of this release is performance optimizations with an eye towards reducing table scans and ultimately BQ query costs. There are also a number of new features and quality-of-life improvements.

With regards to query optimization, the following major changes were made:

  • Removed window functions from stg_ga4__events and other models to avoid unnecessary table scans
  • Moved event deduplication to base_ga4__events so that events are deduped on the way in to the base model
  • Created an incremental fct_ga4__sessions_daily partitioned table that offers an efficient (cheap) method of calculating session-level metrics and conversion counts
  • Created an incremental fct_ga4__pages partitioned table containing page-level metrics

Note that mart tables with records that contain information spanning multiple days cannot be partitioned on date and will incur run costs commensurate with the size of your implementation. You can disable any specific models you like by updating the models section of your dbt_project.yml file.

Breaking changes

  • The inputs to the surrogate keys have changed which means that new event, session, and user keys will not match previous keys
  • The mart tables have changed significantly which may introduce errors for any connected BI tools
  • Removed user_key in many cases in favor of user_pseudo_id. A mapping between user_id and user_pseudo_id will be provided in the future.

Full List of Changes

New Contributors

Full Changelog: 1.0.0...2.0.0

v1.0.0

30 Jul 12:44
2f28ed2
Compare
Choose a tag to compare

🎉 Release 1.0.0 🎉

This release offers many new features and multiple breaking changes from v0.1.4. Please read the release notes for more details.

Summary of Enhancements

  • Added user_key field which is used to aggregate users on either user_pseudo_id or user_id with preference for user_id
  • Support for GA4 BQ exports that only export to the streaming 'intraday' table
  • Added pages fact table which aggregates common metrics at the URL & hour grain
  • Added many recommended and ecommerce events
  • Added support for user properties and 'derived' user properties which pull from event parameters

Breaking Changes

  • #25 introduces user_key as the primary method of identifying unique users. Previously client_id was used but this field has been removed.
  • #29 introduces frequency as the method of determining whether batch or streaming tables will be ingested. The include_intraday_events variable is no longer used
  • Hashed keys (user_key, session_key, event_key) are now STRING rather than BYTES data types

Known Issues

  • Further updates are necessary to effectively prune the base_ga4__events partitions. Building and querying tables will potentially scan more rows than desirable in the meantime. Take this into account when considering this package for high volume installations.

What's Changed

New Contributors

Full Changelog: 0.1.4...1.0.0

v0.1.4

04 Jul 11:31
Compare
Choose a tag to compare
  • Added ability to switch between a dynamic or static lookback when determining which dates to pull during an incremental load.
  • Added ability to exclude query parameters from page_location field
  • Added ability to calculate conversion metrics for sessions based on a configurable set of conversions
  • Added ability to map between source/medium and default channel grouping. Requires dbt seed to be run.
  • Added pytest unit tests

Thanks for @dgitis for his contributions!

v0.1.3

27 May 12:12
Compare
Choose a tag to compare

Updates

  • Package is now available on DBT Package Hub! https://hub.getdbt.com/velir/ga4/latest/
  • Removed variables set at the package level. They should be set within the project that loads this package
  • Misc doc updates

v0.1.2

25 May 11:47
Compare
Choose a tag to compare

Release Updates

This release has been tested across 3 different GA4 export datasets, but would benefit from input from additional users who have access to additional datasets. We would appreciate feedback on its performance against a variety of use cases and scales of data.

Contributors

@adamribaudo-velir
@dgitis