Summary
The main change in this version is the addition of many new fields to the derived tables (sessions
, pageviews
, users
), including the ability to define your conversion events that are aggregated per session. You can read more about it in our docs here! We also add the (optional) count of events per event type for each session, you can enable it by turning on the snowplow__list_event_counts
variable.
There is a new optional module called core web vitals
which will allow you to model raw events sent from the Snowplow Web Vitals plugin (@snowplow/browser-plugin-web-vitals) of the JavaScript tracker to measure and evaluate the speed, responsiveness, and visual stability of websites.
This version also moves the iab, ua, and yauaa contexts into the base events this run table for Postgres/Redshift, completing the work to decouple our sessions models from the page view models for all warehouses.
🚨 Breaking Changes 🚨
Please note that we have added a variable, snowplow__enable_consent
to enable the models in the consent module. Please make sure you set this variable to true in your dbt_project.yml file to be able to run them:
# dbt_project.yml
vars:
snowplow_web:
snowplow__enable_consent: true
While not breaking in that your models should all still run, there are many new columns in the sessions, pageviews and users tables that will be automatically added to your derived tables, which may have unintended consequences with existing queries or BI tools that use column position (although dbt usually appends these columns to the end). New columns will only be populated from new runs onwards, if you wish to populate them for older records you will need to do a full refresh.
Features
- Move contexts into base table for redshift (Close #185)
- Add support for user-defined conversion aggregation to sessions
- Add new fields to the sessions table including enhanced and last geo data, default channel group, marketing source platform, event count, and optional count by event_name
- Add new fields to the users table relating to the latest event geo and browser information
- Add core web vitals module
Under the hood
- Optimizes a filter in the
snowplow_web_user_sessions_this_run
model (Close #186) - Ensure deterministic modeling when two genuine events occur at the same time in a session (Close #178)
Docs
- Remove docs that are no longer necessary
Upgrading
Bump the snowplow-web version in your packages.yml
file.
Some of the tables are relying now on seeds that have just been introduced with this version (dim_ga4_source_categories
, dim_geo_country_mapping
,dim_rfc_5646_language_mapping
). Please run dbt seed --select snowplow_web --full-refresh
on your first run.