Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

An incremental dbt package revolving around marketing attribution analysis

License

Notifications You must be signed in to change notification settings

viki-org/dbt-snowplow-attribution

 
 

Repository files navigation

early-release License Discourse posts

snowplow-logo

dbt-snowplow-attribution

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

Getting Started

The easiest way to get started is to follow our QuickStart guide.

Adapter Support

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.

Requirements

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

Installation

Check dbt Hub for the latest installation instructions.

Configuration & Operation

Please refer to the doc site for details on how to configure and run the package.

Models

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 conversion
  • snowplow_attribution_campaign_attributions: By campaign path and conversion level incremental table that attributes the conversion value based on various algorithms
  • snowplow_attribution_channel_attributions: By channel path and conversion level incremental table that attributes the conversion value based on various algorithms
  • snowplow_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 revenue
  • snowplow_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.

Join the Snowplow community

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.

Copyright and license

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

About

An incremental dbt package revolving around marketing attribution analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PLpgSQL 88.3%
  • Shell 11.7%