First you need to create a parent model table
for the audiences to be built off. This can be based on your out-of-the-box Snowplow modelled
snowplow_web_users table or any custom user tables you have built.
Now you can build an audience using columns from your parent model. In this example we are targeting users in the awareness stage based on the following criteria:
Marketing to high propensity to convert users (using your ML model output created in the previous Predictive ML Models chapter) will lead to higher conversion for less advertising spend!
You can see we have utilized a related model User Propensity Scores. This model is based on the table of propensity scores outputted by your ML model. You can join other source tables like this to your user parent model.
It can be useful to flag key user behavior like adding a product to basket or filling out a form as a Hightouch Event . Similarly to related models, these can then be joined onto the parent model to filter your audiences.
For example, you may want to filter an audience by, if or when the user had viewed a certain page on your website. You can make this an audience event using the following query on your
select user_id, page_view_id, start_tstamp from dbt_cloud_derived.snowplow_web_page_views where page_urlpath like '/get-started/%'
Once you have created the event and added the relationship to our parent model, you can use it as an audience filter.
Use Audience Splits to manage A/B and multivariate testing across your channels. You can also add stratification variables to ensure that the randomized groups of users are distributed as desired.