This dbt package transforms data from Fivetran's StackAdapt connector into analytics-ready tables.
- Number of materialized models¹: 21
- Connector documentation
- dbt package documentation
- dbt Core™ supported versions
>=1.3.0, <3.0.0
This package enables you to better understand the performance of your ads across varying grains and produces modeled tables that leverage StackAdapt data. It creates enriched models with metrics focused on advertiser, campaign group, campaign, and ad level reports.
Final output tables are generated in the following target schema:
<your_database>.<connector/schema_name>_stackadapt_reports
By default, this package materializes the following final tables:
| Table | Description |
|---|---|
stackadapt__advertiser_report |
Represents daily performance aggregated at the advertiser level, including impressions, clicks, spend, and conversions.Example Analytics Questions:
|
stackadapt__campaign_group_report |
Represents daily performance aggregated at the campaign group level, including impressions, clicks, spend, and conversions.Example Analytics Questions:
|
stackadapt__campaign_report |
Represents daily performance aggregated at the campaign level, including impressions, clicks, spend, and conversions.Example Analytics Questions:
|
stackadapt__ad_report |
Represents daily performance at the individual ad level, including impressions, clicks, spend, and conversions.Example Analytics Questions:
|
stackadapt__url_report |
Represents daily performance aggregated at the landing URL level, with URL components and UTM parameters parsed from click_url. Includes impressions, clicks, spend, and conversions.Example Analytics Questions:
|
¹ Each Quickstart transformation job run materializes these models if all components of this data model are enabled. This count includes all staging, intermediate, and final models materialized as view, table, or incremental.
To use this dbt package, you must have the following:
- At least one Fivetran StackAdapt connection syncing data into your destination.
- A BigQuery, Snowflake, Redshift, PostgreSQL, or Databricks destination.
You can either add this dbt package in the Fivetran dashboard or import it into your dbt project:
- To add the package in the Fivetran dashboard, follow our Quickstart guide.
- To add the package to your dbt project, follow the setup instructions in the dbt package's README file to use this package.
Include the following stackadapt package version in your packages.yml file:
TIP: Check dbt Hub for the latest installation instructions or read the dbt docs for more information on installing packages.
packages:
- package: fivetran/stackadapt
version: [">=0.1.0", "<0.2.0"] # we recommend using ranges to capture non-breaking changes automaticallyBy default, this package runs using your destination and the stackadapt schema. If this is not where your StackAdapt data is (for example, if your StackAdapt schema is named stackadapt_fivetran), add the following configuration to your root dbt_project.yml file:
vars:
stackadapt_database: your_destination_name
stackadapt_schema: your_schema_nameIf you have multiple StackAdapt connections in Fivetran and would like to use this package on all of them simultaneously, we have provided functionality to do so. For each source table, the package will union all of the data together and pass the unioned table into the transformations. The source_relation column in each model indicates the origin of each record.
To use this functionality, you will need to set the stackadapt_sources variable in your root dbt_project.yml file:
# dbt_project.yml
vars:
stackadapt:
stackadapt_sources:
- database: connection_1_destination_name # Required
schema: connection_1_schema_name # Required
name: connection_1_source_name # Required only if following the step in the following subsection
- database: connection_2_destination_name
schema: connection_2_schema_name
name: connection_2_source_nameBy default, this package builds the StackAdapt staging models within a schema titled (<target_schema> + _stackadapt_staging) and your StackAdapt modeling models within a schema titled (<target_schema> + _stackadapt_reports) in your destination. If this is not where you would like your StackAdapt data to be written to, add the following configuration to your root dbt_project.yml file:
models:
stackadapt:
+schema: my_new_schema_name # Leave +schema: blank to use the default target_schema.
staging:
+schema: my_new_schema_name # Leave +schema: blank to use the default target_schema.If an individual source table has a different name than the package expects, add the table name as it appears in your destination to the respective variable. This is not available when running the package on multiple unioned connections.
IMPORTANT: See this project's
dbt_project.ymlvariable declarations to see the expected names.
vars:
stackadapt_<default_source_table_name>_identifier: your_table_nameBy default, this package selects only the standard metrics (impressions, clicks, spend, conversions) from each delivery source table. If your StackAdapt connector syncs additional columns that you would like included in the final report models, use the passthrough metrics variables below.
Each variable accepts a list of column configurations with the following fields:
name(required): The source column name as it appears in the delivery table.alias(optional): An alternative name to use for the column in the output model.
IMPORTANT: Make sure to exercise due diligence when adding metrics to these models. The metrics added by default (impressions, clicks, spend, and conversions) have been vetted by the Fivetran team, maintaining this package for accuracy. There are metrics included within the source reports, such as metric averages, which may be inaccurately represented at the grain for reports created in this package. You must ensure that whichever metrics you pass through are appropriate to aggregate at the respective reporting levels in this package.
vars:
stackadapt__advertiser_delivery_passthrough_metrics:
- name: custom_metric
alias: my_custom_metric
stackadapt__campaign_group_delivery_passthrough_metrics:
- name: custom_metric
stackadapt__campaign_delivery_passthrough_metrics:
- name: custom_metric
alias: my_custom_metric
stackadapt__ad_delivery_passthrough_metrics:
- name: custom_metricNOTE:
stackadapt__ad_delivery_passthrough_metricsapplies to bothstackadapt__ad_reportandstackadapt__url_report, as both models are built from ad-level delivery data.
Expand for more details
Fivetran offers the ability for you to orchestrate your dbt project through Fivetran Transformations for dbt Core™. Learn how to set up your project for orchestration through Fivetran in our Transformations for dbt Core setup guides.
This dbt package is dependent on the following dbt packages. These dependencies are installed by default within this package. For more information on the following packages, refer to the dbt hub site.
IMPORTANT: If you have any of these dependent packages in your own
packages.ymlfile, we highly recommend that you remove them from your rootpackages.ymlto avoid package version conflicts.
packages:
- package: fivetran/fivetran_utils
version: [">=0.4.0", "<0.5.0"]
- package: dbt-labs/dbt_utils
version: [">=1.0.0", "<2.0.0"]The Fivetran team maintaining this package only maintains the latest version of the package. We highly recommend you stay consistent with the latest version of the package and refer to the CHANGELOG and release notes for more information on changes across versions.
A small team of analytics engineers at Fivetran develops these dbt packages. However, the packages are made better by community contributions.
We highly encourage and welcome contributions to this package. Learn how to contribute to a package in dbt's Contributing to an external dbt package article.
- If you have questions or want to reach out for help, see the GitHub Issue section to find the right avenue of support for you.
- If you would like to provide feedback to the dbt package team at Fivetran or would like to request a new dbt package, fill out our Feedback Form.