Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Attribution version 0.3.0 #965

Merged
merged 2 commits into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/componentVersions.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export const versions = {

// Data Modelling
// dbt
dbtSnowplowAttribution: '0.2.2',
dbtSnowplowAttribution: '0.3.0',
dbtSnowplowUnified: '0.4.4',
dbtSnowplowWeb: '1.0.1',
dbtSnowplowMobile: '1.0.0',
Expand Down
388 changes: 388 additions & 0 deletions src/components/JsonSchemaValidator/Schemas/dbtAttribution_0.3.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,388 @@
{
"definitions": {
"passthrough_vars": {
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 0,
"items": {
"title": "Type",
"oneOf": [
{
"type": "string",
"title": "Column Name"
},
{
"type": "object",
"title": "SQL & Alias",
"properties": {
"sql": {
"type": "string"
},
"alias": {
"type": "string"
}
},
"required": [
"sql",
"alias"
],
"additionalProperties": false
}
]
},
"uniqueItems": true
}
},
"type": "object",
"properties": {
"snowplow__conversions_source": {
"recommendFullRefresh": true,
"order": 81,
"consoleGroup": "advanced",
"type": "string",
"title": "Conversions Source",
"description": "Source of conversion events",
"longDescription": "The source (schema and table) of your conversion events, likely the conversions table generated by the Unified package. Optionally it may be hardcoded with a string reference instead of a source with a schema.table or database.schema.table format.",
"packageDefault": "{{ source('derived', 'snowplow_unified_conversions') }}",
"group": "Warehouse and Tracker"
},
"snowplow__conversion_path_source": {
"recommendFullRefresh": true,
"order": 76,
"consoleGroup": "advanced",
"type": "string",
"title": "Conversion Path Source",
"description": "Source of paths (touchpoints) table",
"longDescription": "The source (schema and table) of the paths (touchpoints). By default it is the derived `snowplow_unified_views` table. Optionally it may be hardcoded with a string reference instead of a source with a schema.table or database.schema.table format.",
"packageDefault": "{{ source('derived', 'snowplow_unified_views') }}",
"group": "Warehouse and Tracker"
},
"snowplow__user_mapping_source": {
"recommendFullRefresh": true,
"order": 125,
"consoleGroup": "advanced",
"type": "string",
"title": "User Mapping Source",
"description": "Source of user mapping table to be used for stitching by default",
"longDescription": "The source (schema and table) of the user mapping table produced by the unified package. In case the user mapping table is not available, the paths_to_conversion macro needs to be overwritten in the dbt project where the package is referenced.",
"packageDefault": "{{ source('derived', 'snowplow_unified_user_mapping') }}",
"group": "Warehouse and Tracker"
},
"snowplow__conversion_window_start_date": {
"recommendFullRefresh": true,
"order": 80,
"consoleGroup": "advanced",
"type": "string",
"format": "date",
"title": "Conversion Window Start Date",
"group": "Operation and Logic",
"longDescription": "The start date in UTC for the window of conversions to include. It is only used for the drop and recompute report tables/views.",
"packageDefault": "current_date()-31"
},
"snowplow__conversion_window_end_date": {
"recommendFullRefresh": true,
"order": 79,
"consoleGroup": "advanced",
"type": "string",
"format": "date",
"title": "Conversion Window End Date",
"group": "Operation and Logic",
"longDescription": "The end date in UTC for the window of conversions to include. It is only used for the drop and recompute report tables/views.",
"packageDefault": ""
},
"snowplow__conversion_window_days": {
"recommendFullRefresh": true,
"order": 78,
"consoleGroup": "advanced",
"type": "number",
"minimum": 0,
"title": "Conversion Window Days",
"group": "Operation and Logic",
"longDescription": "The last complete nth number of days (calculated from the last processed pageview within page_views_source) to dynamically update the conversion_window_start_date and end_date with. Will only apply if both variables are left as an empty string.",
"packageDefault": "30"
},
"snowplow__path_lookback_days": {
"recommendFullRefresh": true,
"order": 18,
"consoleGroup": "basic",
"type": "number",
"minimum": 0,
"title": "Path Lookback Days",
"group": "Operation and Logic",
"longDescription": "Restricts the model to marketing channels within this many days of the conversion (values of 30, 14 or 7 are recommended).",
"packageDefault": "30"
},
"snowplow__path_lookback_steps": {
"recommendFullRefresh": true,
"order": 19,
"consoleGroup": "basic",
"type": "number",
"minimum": 0,
"title": "Path Lookback Steps",
"group": "Operation and Logic",
"longDescription": "The limit for the number of marketing channels to look at before the conversion.",
"packageDefault": "0 (unlimited)"
},
"snowplow__path_transforms": {
"recommendFullRefresh": false,
"order": 116,
"consoleGroup": "advanced",
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 0,
"title": "Path Transforms",
"longDescription": "Dictionary of path transforms (and their argument, `null` if none) to perform on the full conversion path (see the transform path options in our [model docs](/docs/modeling-your-data/modeling-your-data-with-dbt/dbt-models/dbt-attribution-data-model/)).",
"packageDefault": "{'exposure_path': null}",
"group": "Contexts, Filters, and Logs",
"items": {
"type": "object",
"title": "Path transform",
"oneOf": [
{
"title": "exposure",
"required": [
"exposure"
],
"properties": {
"exposure": {
"type": "string",
"default": "null"
}
}
},
{
"title": "first",
"required": [
"first"
],
"properties": {
"first": {
"type": "string",
"default": "null"
}
}
},
{
"title": "unique",
"required": [
"unique"
],
"properties": {
"unique": {
"type": "string",
"default": "null"
}
}
},
{
"title": "remove if last and not all",
"required": [
"remove_if_last_and_not_all"
],
"properties": {
"remove_if_last_and_not_all": {
"type": "string"
}
}
},
{
"title": "remove if not all",
"required": [
"remove_if_not_all"
],
"properties": {
"remove_if_not_all": {
"type": "string"
}
}
}
]
},
"uniqueItems": true
},
"snowplow__channels_to_exclude": {
"recommendFullRefresh": true,
"order": 68,
"consoleGroup": "advanced",
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 0,
"title": "Channels to Exclude",
"longDescription": "List of channels to exclude from analysis (empty to keep all channels). For example, users may want to exclude the `Direct` channel from the analysis.",
"packageDefault": "[ ] (no filter applied)",
"group": "Contexts, Filters, and Logs",
"items": {
"type": "string"
}
},
"snowplow__channels_to_include": {
"recommendFullRefresh": true,
"order": 69,
"consoleGroup": "advanced",
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 0,
"title": "Channels to Include",
"longDescription": "List of channels to include in the analysis (empty to keep all channels). For example, users may want to include the `Direct` channel only in the analysis.",
"packageDefault": "[ ] (no filter applied)",
"group": "Contexts, Filters, and Logs",
"items": {
"type": "string"
}
},
"snowplow__campaigns_to_exclude": {
"recommendFullRefresh": true,
"order": 64,
"consoleGroup": "advanced",
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 0,
"title": "Campaigns to Exclude",
"longDescription": "List of campaigns to exclude from analysis (empty to keep all campaigns).",
"packageDefault": "[ ] (no filter applied)",
"group": "Contexts, Filters, and Logs",
"items": {
"type": "string"
}
},
"snowplow__campaigns_to_include": {
"recommendFullRefresh": true,
"order": 65,
"consoleGroup": "advanced",
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 0,
"title": "Campaigns to Include",
"longDescription": "List of campaigns to include in the analysis (empty to keep all campaigns).",
"packageDefault": "[ ] (no filter applied)",
"group": "Contexts, Filters, and Logs",
"items": {
"type": "string"
}
},
"snowplow__conversion_hosts": {
"recommendFullRefresh": true,
"order": 74,
"consoleGroup": "advanced",
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 0,
"title": "URL Hosts",
"longDescription": "`url_hosts` to filter to in the data processing",
"packageDefault": "[] (no filter applied)",
"group": "Contexts, Filters, and Logs",
"items": {
"type": "string"
}
},
"snowplow__consider_intrasession_channels": {
"recommendFullRefresh": true,
"order": 72,
"consoleGroup": "advanced",
"type": "boolean",
"group": "Contexts, Filters, and Logs",
"longDescription": "If `false`, only considers the channel at the start of the session (i.e. first page view). If `true`, considers multiple channels in the conversion session as well as historically.",
"packageDefault": "true",
"title": "Consider Intrasession Channels"
},
"snowplow__spend_source": {
"recommendFullRefresh": true,
"order": 124,
"consoleGroup": "advanced",
"title": "Spend Source",
"description": "Source of marketing spend table",
"longDescription": "The source (schema and table) of your marketing spend source. Optional, needed for the ROAS calculation of the snowplow_attribution_overview. Should be changed to a table reference with `spend` by `channel` and/or `campaign` by `spend_tstamp` (which denotes a timestamp field) information.",
"type": "string",
"packageDefault": "not defined",
"group": "Warehouse and Tracker"
},
"snowplow__conversion_stitching": {
"recommendFullRefresh": true,
"order": 77,
"consoleGroup": "advanced",
"type": "boolean",
"group": "Contexts, Filters, and Logs",
"longDescription": "This should be set to true if both the snowplow__conversion_stitching and snowplow__view_stitching variables are also enabled in the Unified package. If allowed it will consider the stitched_user_id field, not the user_identifier in the source data for more accurate results.",
"packageDefault": "false",
"title": "Conversion Stitching"
},
"snowplow__conversion_clause": {
"recommendFullRefresh": true,
"order": 73,
"consoleGroup": "advanced",
"type": "string",
"title": "Conversions Clause",
"group": "Operation and Logic",
"longDescription": "A string of sql to filter on certain conversion events.",
"packageDefault": "cv_value > 0 and ev.user_identifier is not null"
},
"snowplow__attribution_list": {
"recommendFullRefresh": false,
"order": 61,
"consoleGroup": "advanced",
"type": "array",
"description": "> Click the plus sign to add a new entry",
"minItems": 1,
"title": "Attribution List",
"longDescription": "List of attribution types to use for reporting. Can be at least one of: first_touch, last_touch, linear, position_based).",
"packageDefault": "['first_touch', 'last_touch', 'linear', 'position_based']",
"group": "Contexts, Filters, and Logs",
"items": {
"type": "string"
}
},
"snowplow__attribution_start_date": {
"recommendFullRefresh": true,
"order": 7,
"consoleGroup": "required",
"type": "string",
"format": "date",
"title": "Attribution Start Date",
"group": "Operation and Logic",
"longDescription": "The date to start processing events from in the package on first run or a full refresh, based on the cv_tstamp (conversion timestamp).",
"packageDefault": "2023-01-01",
"description": "The date to start processing events from in the package on first run or a full refresh, based on `cv_tstamp`"
},
"snowplow__enable_paths_to_non_conversion": {
"recommendFullRefresh": false,
"order": 101,
"consoleGroup": "advanced",
"type": "boolean",
"group": "Contexts, Filters, and Logs",
"longDescription": "If `true`, enable the paths_to_non_conversion model, which is a drop and recompute table that may be needed for more in-depth attribution analysis (used in the `path_summary` table as well)",
"packageDefault": "false",
"title": "Enable Paths To Non Conversion"
},
"snowplow__enable_attribution_overview": {
"recommendFullRefresh": false,
"order": 102,
"consoleGroup": "advanced",
"type": "boolean",
"group": "Contexts, Filters, and Logs",
"longDescription": "If `true`, enable the attribution_overview model, which is a view that creates a great source for BI tools to use for reporting",
"packageDefault": "true",
"title": "Enable Attribution Overview"
},
"snowplow__dev_target_name": {
"recommendFullRefresh": false,
"order": 87,
"consoleGroup": "advanced",
"type": "string",
"title": "Dev Target",
"description": "Target name of your development environment as defined in your `profiles.yml` file",
"longDescription": "The [target name](https://docs.getdbt.com/docs/core/connect-data-platform/profiles.yml) of your development environment as defined in your `profiles.yml` file. See the [Manifest Tables](/docs/modeling-your-data/modeling-your-data-with-dbt/package-mechanics/manifest-tables/) section for more details.",
"packageDefault": "dev",
"group": "Warehouse and Tracker"
},
"snowplow__allow_refresh": {
"recommendFullRefresh": true,
"order": 39,
"consoleGroup": "advanced",
"type": "boolean",
"title": "Allow Refresh",
"group": "Operation and Logic",
"longDescription": "Used as the default value to return from the `allow_refresh()` macro. This macro determines whether the manifest tables can be refreshed or not, depending on your environment. See the [Manifest Tables](/docs/modeling-your-data/modeling-your-data-with-dbt/package-mechanics/manifest-tables/) section for more details.",
"packageDefault": "false"
}
}
}