As a Snowplow Insights customer, we will be happy to enable an example data model that we have built that does a simple version of this for you. Note that every web event is collected with a session ID (you can configure what the definition of a session is at the tracker level) and a host of user IDs. This makes rolling events up into sessions and users quite simple.
The simplest data model built using tables created by our example model will allow you to answer important questions like:
Answering these questions with event level data means you have full confidence in the results - the whole process is transparent as you know exactly what assumptions have been made, because you explicitly made them in your model. Raw Snowplow data is almost entirely unopinionated, save for variables like the session ID whose definition you have the full power to configure.
To make all this easier, Snowplow Insights customers can be set up for free with Redash, a BI tool. This will allow you to build compelling dashboards from the tables you create.
All the data collected from your native mobile app is in the same format as the web data, which means we can take the same steps as for the web data in the section above.
Mobile events are also collected with a session ID (definition of a mobile session can be configured independently of the web session definition) and a user ID.
Offline conversions can be tracked in the following ways using Snowplow:
Events sent with our pixel tracker and server side trackers are all also in the same format as web and mobile events. Therefore similar workflows can be used to analyze this data.
You now have rich, granular data on conversions. This sets you up nicely for the next step.
A reminder that all the data from the various sources is in the same table in the same format from our earlier example:
All that is needed now is to connect the events that occur on the different platforms by the same user.
Starting with Web data:
App data (note app installs can be tracked as Snowplow events using Adjust):
Web and app data can be joined on the internal user ID. Note that since you have access to all the underlying data, you can write your model such that it populates past events where the user had not yet identified themselves (eg an ad impression), with an internal identifier.
To join web and app usage to offline conversion data the following can be used:
Yali has covered the Snowplow approach to user stitching more thoroughly in this blog post. He then dives into the deeper “how-to” in this follow-up post.
Working off the assumption that you have now stitched users so that you know what the web and mobile behaviour of a user was prior to purchase, you can build an attribution model allowing you optimise your marketing spend and conversion rates.
Having access to the underlying data means that you can assess which attribution model would work best for you by exploring your data. You don’t have to rely on out of the box, one-size-fits-all models, you can build a custom one.
Some commonly used examples are as follows:
Remember, the model can include micro-conversions, too, such as add-to-basket.
You are now empowered to design an attribution model that best suits your business, which may well be a combination of these.
The great thing about having the underlying data is that with time, you can update and refine this model as more and more data comes in.
Read part 4 next: What can we do with data when we’re growing?