Seamless Cross-Platform Identity Stitching with Snowplow’s new Unified Digital Model
Disjointed customer journeys are an unavoidable reality for data and marketing teams, with the typical buying journey spanning multiple sessions and devices. The need to accurately identify and stitch the customer journey plays an essential role in every downstream application - whether you are trying to precisely attribute marketing spend or creating customer segments.
In the past, data teams have faced significant challenges in identifying logged-in users across web and mobile applications using event data from Snowplow or other vendors,including;
- The requirement to build custom data models from scratch, demanding significant development and debugging time.
- Increased costs for processing both web and mobile data, as well as grappling with complex logic to combine the resulting datasets.
Given the challenges faced by data teams, we explored how to enhance the modeling of Snowplow atomic data to identify and stitch users across web and mobile applications.
Introducing our new Unified Digital Model
Our new Unified Digital Model is designed to unify journeys across web and mobile with cross-platform tracking and deterministic identity resolution out-of-the-box. The model removes the need for complex modeling and provides a single view of customers in your warehouse or lake for downstream applications, aggregating raw web and mobile events into a set of derived tables - users, sessions and views.
The model can seamlessly stitch events from logged-in users across web and mobile, anonymous and logged-in events if the device_id or domain_id are the same. Future support will enable stitching of anonymous web and mobile events if the events occur in the same session. Read a more detailed description in our docs.
The model builds upon our current web model, incorporating the latest features, including passthrough fields and custom identifiers, all built on our battle-tested incremental sessionization logic. The model can save development time and result in significant improvement in efficiency when modeling data over our unified event table.
The new Unified Digital Model supersedes our existing web and mobile models. It is designed to work even if you are using web only web or mobile only trackers, with the flexibility to add additional platforms when required.
How does the model work?
- A set of events are identified for the current run (events_this_run) within the raw atomic events table based on the current run parameters and the manifest table. This is how we make our model incremental, so you don’t need to reprocess old data.
- These events are aggregated and added to a view level (derived.views) and session level (derived.sessions). This includes the use of intermediary this_run tables, which only contain the latest set of data for a given run.
- Session-level data is aggregated to the user level (derived.users and derived.user_mappings).
What has changed compared to the existing web and mobile models?
- page_views (web) and screen_views (mobile) tables have been renamed to views as they are equivalent in this model.
- domain_userid has been renamed to user_identifier, as you now have the ability to define your own custom logic / alternative user id field for the aggregation.
- session_userid has been renamed to session_identifier, as you now have the ability to define your own custom logic / alternative session id field for the aggregation
- Out-of-the-box entities and enrichments can optionally be enabled or disabled for the model (previously these values were there as NULLs) e.g. snowplow__enable_yauaa: true. These are flattened automatically within the base_events_this_run table and can be referred to from there directly for custom models, if needed.
Will your existing web and mobile models continue to be supported?
Our existing web and mobile models will continue to receive bug fixes for some time, but active development will proceed on the Unified Digital Model to further improve its performance and feature set. For our existing customers, support can be accessed to help understand how to migrate from the existing web and mobile models.
How can I start using the Unified Digital Model?
For Snowplow BDP customers, please see our documentation.
For open-source users, the model will be released under our new Snowplow Personal and Academic License and available as part of our new Data Model Pack. If you would like to discuss using our Data Models pack, please book a walkthrough with one of our experts.