Ecommerce Analytics
Data Model Pack
The Snowplow Ecommerce Analytics Data Model Pack is a dbt package that turns Snowplow ecommerce events into analysis-ready tables for carts, checkouts, products, transactions, and sessions in your warehouse. Your analysts, BI tools, and AI agents query the tables directly.
Start from modeled tables instead of raw events. Report on checkout funnels, abandoned carts, products, and revenue with SQL you can audit, on data you own.
- Web and mobile
- SQL you can read on GitHub
- Runs in your warehouse
What's included in the Ecommerce Analytics Data Model Pack?
The pack is the Snowplow Ecommerce dbt package. It runs incrementally in your warehouse and builds five derived tables from the ecommerce events your Snowplow trackers send, so your team starts from modeled data instead of raw events. Snowplow maintains the package, and the SQL is on GitHub, so your team can see exactly how every metric is calculated and extend it.
| Module | What it builds in your warehouse | Questions it answers |
|---|---|---|
| Carts | snowplow_ecommerce_ Every add to cart and remove from cart, with the cart's value after each change and whether the cart was created, emptied, or purchased. |
Which carts get abandoned? What do shoppers add and remove? |
| Checkouts | snowplow_ecommerce_ Each checkout step a shopper reached, the delivery and payment methods they chose, and whether the checkout succeeded. |
At which step do shoppers leave checkout? Which delivery and payment methods do they pick? |
| Products | snowplow_ecommerce_ Product views on product pages and in lists, add-to-carts, removals, and purchases, with each product's brand, category, price, and list position. |
Which products get viewed but not bought? How does each category perform? |
| Transactions | snowplow_ecommerce_ Each transaction with its revenue, currency, tax, shipping, discounts, payment method, and number of products. |
What's our revenue and average order size? Which discount codes get used? |
| Sessions | snowplow_ecommerce_ One row per session, with counts of product views, add-to-carts, carts, checkout steps, and transactions, total revenue, and flags for an abandoned cart or a successful checkout. |
Which sessions include a purchase? How many sessions abandon a cart? |
It's built to extend the Digital Analytics Data Model Pack, which models page and screen views, sessions, users, conversions, and marketing attribution from the same Snowplow events.
What can you do with Snowplow's ecommerce data models?
The tables are a starting point for the ecommerce analysis your teams already ask for, from checkout funnels to revenue reporting.
Find where shoppers leave checkout
See which checkout steps each shopper reached, whether the checkout succeeded, and the delivery and payment methods they chose. You set which step counts as a completed transaction, so the funnel matches your checkout.
Built on: Checkouts
Measure cart abandonment
Follow each cart from creation to purchase, with its value after every change. The sessions table flags each session whose cart was abandoned, so you can track abandonment over time.
Built on: Carts and sessions
See which products get viewed, added, and bought
Compare product views, add-to-carts, removals, and purchases by product, brand, and category. The package splits each category into subcategories with a separator you choose, so you can report at any level of your catalog. Use the same table for market basket analysis, to find which products shoppers buy together.
Built on: Products
Compare product lists and search results
Product list views carry the list's name and each product's position in it, so you can see how products perform in search results, listing pages, and "frequently bought with" recommendations.
Built on: Products
Report on revenue and order size
Each transaction carries its revenue, currency, tax, shipping, payment method, and number of products, so every team reports revenue from the same table.
Built on: Transactions
Compare sessions that buy with sessions that don't
The sessions table counts product views, add-to-carts, checkout steps, transactions, and revenue for every session, so you can compare sessions that include a purchase with those that don't.
Built on: Sessions
Analyze web and app shopping together
The package treats ecommerce events from your website and your mobile apps the same way, so web and app carts, checkouts, and transactions land in the same tables. One package variable turns on mobile events.
Built on: Every module
Also included
- Discounts and coupons: the discount code and amount on each transaction, and coupon codes entered at checkout.
- Guest checkouts: a flag on checkouts and transactions that shows whether the shopper bought as a guest.
- Modules you can turn off: if you don't track carts, checkouts, products, or transactions, turn that module off so the package doesn't create empty tables.
Who uses the Ecommerce Analytics Data Model Pack?
For data and analytics teams
- Query the tables directly. Analysts can query cart, checkout, product, transaction, and session tables with SQL, in a notebook, or from your BI tool.
- Start from modeled tables, not raw events. The package is fully incremental, so each run processes new events instead of rebuilding its tables.
- Read and extend every line of SQL. The code is on GitHub, and you can build your own models on top of the package in your dbt project.
- Match it to your store. Set which checkout step completes a transaction, how product categories split into levels, and the SQL for your user and session identifiers.
- Join it to your other data. Every table carries session and user identifiers, so you can join ecommerce activity to your order, CRM, or product data.
- Schedule the package to run alongside your Snowplow pipeline. Teams that prefer can run it in their own dbt project.
For ecommerce, product, and marketing teams
- Checkout funnels on your own data. See the step where shoppers leave checkout, and which delivery and payment methods they choose.
- Cart abandonment by session. Every session records whether its cart was abandoned.
- Product and list performance. See how each product, brand, and list performs, from views to purchases.
- One set of numbers. Revenue, orders, and discounts come from the same transactions table in every team's reports.
Looking for a GA4 or Adobe Analytics alternative for ecommerce?
Moving off a packaged analytics tool usually means rebuilding the ecommerce reports your teams depend on. The pack gives you carts, checkouts, products, transactions, and sessions as tables in your warehouse from your first model run, so the move doesn't start from raw events.
- Start from your GA4 tagging. The Snowplow JavaScript tracker's ecommerce plugin includes a transitional API that reads the standard GA4 or Universal Analytics ecommerce data layer, so you can send Snowplow ecommerce events before you rework your tagging.
- Run both while you switch. The Snowplow web tracker can capture Google Analytics cookie values, including GA4's, on every event, so you can join the two datasets during a parallel run.
- Plan for history. The pack models the data Snowplow collects, so teams typically keep their current tool running until Snowplow has enough history for year-over-year reporting.
How does the Ecommerce Analytics Data Model Pack work?
- Snowplow trackers collect ecommerce events, such as product views, cart changes, checkout steps, and transactions, from your website and apps.
- The Snowplow pipeline validates and enriches each event and loads it into your warehouse.
- The dbt package then builds cart, checkout, product, transaction, and session tables, which your BI and AI tools query directly.
Trinny London replaced Google Analytics with Snowplow and uses dbt to join Snowplow behavioral data with its ecommerce transaction data for multi-touch attribution.
"We have developed a set of attribution models that we share with our marketing team. We combine our order data with Snowplow data, and each order has an attribution path depending on which model we use. We then package this into Looker so our marketing team can see how many orders a particular ad triggered."
Ecommerce Analytics Data Model Pack FAQs
Does the Ecommerce Analytics Data Model Pack include dashboards?
No, the pack provides data models rather than dashboards. Its dbt package builds cart, checkout, product, transaction, and session tables in your warehouse. Your team connects its own BI tool, notebooks, or AI tools to those tables, so every report uses the same definitions and you aren't tied to one interface.
What tracking does the pack need?
The package models Snowplow's ecommerce action event, which the Snowplow JavaScript tracker sends through its ecommerce plugin and the iOS and Android trackers also send. It covers product views, product list views, adding to and removing from carts, checkout steps, and transactions. Snowplow Event Studio has an Ecommerce (Web and Mobile) tracking plan template to start from.
Does it work for mobile apps as well as websites?
Yes. The package treats ecommerce events from websites and mobile apps the same way, so web and app activity lands in the same cart, checkout, product, transaction, and session tables. Web events work out of the box, and setting one package variable adds mobile events.
How is it different from GA4 ecommerce reports?
GA4 shows ecommerce reports in its own interface, and its raw event export still needs modeling before you can query carts or checkout steps. The pack builds those tables in your warehouse from your own Snowplow data, with SQL you can read and change, so you decide what's collected and how each metric is defined.
Can I match the models to my own checkout and catalog?
Yes. You set which checkout step counts as a completed transaction, how many levels your product categories have, and the separator that splits them. You can also turn off the carts, checkouts, products, or transactions module if you don't track those events, so the package doesn't create empty tables.
Do I need to run dbt myself?
Not necessarily. Customers on Snowplow Customer Data Infrastructure can schedule the package to run alongside their Snowplow pipeline, so the tables stay current without a separate scheduler. Teams that already use dbt can add the package to their own dbt project instead and customize it there. Either way, the models run in your warehouse and process new events incrementally.
How does it relate to the Digital Analytics Data Model Pack?
It extends it. The Digital Analytics Data Model Pack models page and screen views, sessions, users, conversions, and marketing attribution, and the Ecommerce Analytics Data Model Pack adds carts, checkouts, products, and transactions. Both run on the same Snowplow events in your warehouse, so you can analyze shopping alongside traffic, engagement, and attribution.