This dbt package:
- Transforms and aggregates raw web (and optionally mobile) e-commerce event data collected from the Snowplow JavaScript tracker (and iOS/Android Tracker) into a set of derived tables based around the following e-commerce data objects: carts, checkouts, products and transactions.
- Processes all e-commerce events incrementally. It is not just constrained to out-of-the-box 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 E-Commerce Web Accelerator which includes steps for setting up tracking as well as modeling.
The latest version of the snowplow-ecommerce package supports Redshift, BigQuery, Databricks, and Snowflake. For previous versions see our package docs.
- A dataset of web events from the Snowplow JavaScript tracker must be available in the database.
- Have the
webPage
context enabled. - Have the following e-commerce contexts enabled: user, checkout_step, page, transaction, cart
- Track the e-commerce tracking action events on your website
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 mart models are as follows:
Model | Description |
---|---|
snowplow_ecommerce_cart_interactions | A table that provides insights into actions that occurred with carts, such as adding and removing to cart. |
snowplow_ecommerce_sessions | A table that provides insights into all of the e-commerce interactions that a occurred during a session as defined by the domain_sessionid . |
snowplow_ecommerce_checkout_interactions | A table that provides insights into the checkout steps that were stepped through, including information that was filled out throughout the process |
snowplow_ecommerce_product_interactions | A table that provides information into the products that were viewed, either on product pages or in product lists, and how those products were later interacted with, e.g. through adding to cart. |
snowplow_ecommerce_transaction_interactions | A table that provides insights into which transactions transpired, their value, how many products they contained, etc. |
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-ecommerce package is Copyright 2022-2024 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.)