snowplow / dbt-snowplow-mobile

A fully incremental model, that transforms raw mobile event data generated by the Snowplow mobile trackers into a series of derived tables of varying levels of aggregation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

maintained License Discourse posts

snowplow-logo

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.

snowplow-mobile

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.

Getting Started

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.

Adapter Support

The latest version of the snowplow-mobile package supports BigQuery, Databricks, Redshift, Snowflake & Postgres. For previous versions see our package docs.

Requirements

Installation

Check dbt Hub for the latest installation instructions.

Configuration & Operation

Please refer to the doc site for details on how to configure and run the package.

Contexts

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.

Optional Modules

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.

Models

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.

Join the Snowplow community

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.

Copyright and license

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.)

About

A fully incremental model, that transforms raw mobile event data generated by the Snowplow mobile trackers into a series of derived tables of varying levels of aggregation.

License:Other


Languages

Language:Shell 100.0%