This package is in maintenance mode. This means it will only receive bug fixes and security patches as required. Future development of the Snowplow dbt models is being done in the Unified Digital package which you can get access to via the Snowplow Data Models Pack.
This dbt package:
- Transforms and aggregates raw mobile event data collected from the Snowplow iOS tracker or Android tracker (up to v3) into a set of derived tables: screen views, sessions, users, and optionally app errors.
- Processes all mobile events incrementally. It is not just constrained to screen view events - any custom events you are tracking will also be incrementally processed.
- Is designed in a modular manner, allowing you to easily integrate your own custom SQL into the incremental framework provided by the package.
Please refer to the doc site for a full breakdown of the package.
The easiest way to get started is to follow our QuickStart guide, or to use our Advanced Analytics for Mobile Accelerator which includes steps for setting up tracking as well as modeling.
The latest version of the snowplow-mobile package supports BigQuery, Databricks, Redshift, Snowflake & Postgres. For previous versions see our package docs.
- A dataset of mobile events from the Snowplow iOS tracker or Android tracker must be available in the database.
- Have the session context (iOS) or session context (Android) and screen view events (iOS) or screen view events (Android) enabled.
- dbt core version of 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 following contexts can be enabled depending on your tracker configuration:
- Mobile context
- Geolocation context
- Application context
- Screen context
By default they are disabled. They can be enabled by configuring the dbt_project.yml
file and setting the appropriate snowplow__enable_{context_type}_context
variable to true
.
Currently the app errors module for crash reporting is the only optional module. More will be added in the future as the tracker's functionality expands.
Assuming your tracker is capturing application_error
events, the module can be enabled by configuring the dbt_project.yml
file as above.
The package contains multiple staging models however the mart models are as follows:
Model | Description |
---|---|
snowplow_mobile_app_errors | A table of application errors. |
snowplow_mobile_screen_views | A table of screen views, including engagement metrics such as scroll depth and engaged time. |
snowplow_mobile_sessions | An aggregated table of page views, grouped on session_id . |
snowplow_mobile_users | An aggregated table of sessions to a user level, grouped on device_user_id . |
snowplow_mobile_user_mapping | Provides a mapping between user identifiers, device_user_id 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-mobile package is Copyright 2021-present Snowplow Analytics Ltd.
This distribution is all licensed under the Snowplow Community License, Version 1.0 . (If you are uncertain how it applies to your use case, check our answers to frequently asked questions.)