The Snowplow Attribution
dbt package produces a set of incremental derived tables to provide a basis for in-depth Marketing Attribution Analysis on an ongoing basis. It allows you to attribute the value of a conversion to one or more channels and campaigns depending on the conversion pathway. As a result, it becomes possible to determine the revenue per pathway (channel or campaign), as well as ROAS (Return On Ad Spend - the amount of revenue that is earned for every dollar spent on advertising) once you have cost data for each marketing channel or campaign.
Please refer to the doc site for a full breakdown of the package.
Please note that this data model is under the Snowplow Personal & Academic License (SPAL). For further details please refer to our documenation site.
The easiest way to get started is to follow our QuickStart guide.
The current version of the snowplow-attribution package supports Snowflake, BigQuery, Databricks & Redshift, however, please note that the package is currently in public preview state.
In addition to dbt being installed and a web events dataset being available in your database:
- have the
snowplow_unified_views
table available as a path (touch points) source (generated by the snowplow_unified package) - have the
snowplow_unified_conversions
table available as a conversions source including the revenue (generated by the optional conversions module of the snowplow_unified package) - optionally have a
spend source
table of your choice available which will contain your marketing spend data by channel and or campaign with a timestamp field which denotes the period. This is needed for the ROAS calculation for the drop and recompute report table - dbt-core version 1.6.0 or greater
Check dbt Hub for the latest installation instructions.
Please refer to the doc site for details on how to configure and run the package.
This package consists of a series of dbt models that produce the following tables:
snowplow_attribution_paths_to_conversion
: Customer id and the paths the customer has followed that have lead to conversionsnowplow_attribution_campaign_attributions
: By campaign path and conversion level incremental table that attributes the conversion value based on various algorithmssnowplow_attribution_channel_attributions
: By channel path and conversion level incremental table that attributes the conversion value based on various algorithmssnowplow_attribution_overview
: The user defined report view (potentially showing ROAS)snowplow_attribution_path_summary
: For each unique path, a summary of associated conversions, optionally non-conversions and revenuesnowplow_attribution_paths_to_non_conversion
: Customer id and the the paths the customer has followed that have not lead to conversion. Optional drop and recompute table, disabled by default.
Please refer to the dbt doc site for details on the model output tables.
We welcome all ideas, questions and contributions!
For support requests, please use our community support Discourse forum.
If you find a bug, please report an issue on GitHub.
The snowplow-attribution package is Copyright 2024-present Snowplow Analytics Ltd.
This distribution is all licensed under the Snowplow Personal and Academic License . (If you are uncertain how it applies to your use case, check our answers to frequently asked questions.)