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.
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-2023 Snowplow Analytics Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.