Clear History

Create an Audience

Step 1: Create a parent model

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.

Step 2: Audience builder

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:

  • First time on website
  • Did not arrive from a marketing campaign
  • High propensity score

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.

Step 3: Add Hightouch events (Optional)

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 snowplow_web_page_views table:

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. hightouch_example_event

Step 4: Audience Splits (Optional)

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.