This dbt package:
- Transforms raw web & mobile event data generated by the Snowplow Snowplow JavaScript tracker & iOS tracker, Android tracker or React Native tracker into a series of derived tables: views, sessions and users.
- Derives a mapping between user identifiers, allowing for 'session stitching' and the development of a single customer view across the mobile and web platforms.
- Processes all web and mobile events at the same time, incrementally. It is not just constrained to page and screen view events - any custom events you are tracking will also be incrementally processed.
- It is designed in a modular manner, allowing you to easily integrate your own custom dbt models into the incremental framework provided by the package.
Please refer to the doc site for a full breakdown of the package.
Please note that this data model is under the Snowplow Personal & Academic License (SPAL). For further details please refer to our documenation site.
The easiest way to get started is to follow our QuickStart guide.
The current version of the snowplow-unified package supports Snowflake, BigQuery, Databricks, Redshift & Postgres.
- A dataset of web events from the Snowplow JavaScript tracker must be available in the database.
- Have the
webPage
context enabled. - dbt-core version 1.6.0 or greater
Check dbt Hub for the latest installation instructions.
Please refer to the doc site for details on how to configure and run the package.
The package contains multiple staging models however the output models are as follows:
Model | Description |
---|---|
snowplow_unified_views | A table of page and screen views, including engagement metrics such as scroll depth and engaged time. |
snowplow_unified_sessions | An aggregated table of session events, including conversions [Optional], grouped on session_identifier . |
snowplow_unified_users | An aggregated table of sessions to a user level, grouped on domain_userid . |
snowplow_unified_user_mapping | Provides a mapping between user identifiers, such as domain_userid and user_id . |
Please refer to the dbt doc site for details on the model output tables.
We welcome all ideas, questions and contributions!
For support requests, please use our community support Discourse forum.
If you find a bug, please report an issue on GitHub.
The snowplow-unified package is Copyright 2023-present Snowplow Analytics Ltd.
This distribution is all licensed under the Snowplow Personal and Academic License . (If you are uncertain how it applies to your use case, check our answers to frequently asked questions.)