Skip to content

Commit b0cad62

Browse files
Merge pull request #32 from fivetran/MagicBot/fy26-q4-updates
Update `.quickstart.yml` and `README`
1 parent 0332044 commit b0cad62

File tree

7 files changed

+116
-47
lines changed

7 files changed

+116
-47
lines changed

.quickstart/quickstart.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ table_variables:
77
amazon_ads__portfolio_history_enabled:
88
- portfolio_history
99

10+
_fivetran_quickstart_product_ad_history:
11+
- product_ad_history
12+
1013
destination_configurations:
1114
databricks:
1215
dispatch:
@@ -22,3 +25,30 @@ public_models: [
2225
"amazon_ads__account_report",
2326
"amazon_ads__ad_report"
2427
]
28+
29+
supported_vars:
30+
amazon_ads__advertised_product_passthrough_metrics:
31+
type: dictionary
32+
description: "Additional `ADVERTISED_PRODUCT_REPORT` columns to include in `amazon_ads__ad_report`"
33+
display_name: "Additional Ad Report Metrics"
34+
35+
amazon_ads__campaign_passthrough_metrics:
36+
type: dictionary
37+
description: "Additional `CAMPAIGN_REPORT` columns to include in `amazon_ads__campaign_report`, `amazon_ads__account_report`, and `amazon_ads__portfolio_report`"
38+
display_name: "Additional Campaign Report Metrics"
39+
40+
amazon_ads__ad_group_passthrough_metrics:
41+
type: dictionary
42+
description: "Additional `AD_GROUP_LEVEL_REPORT` columns to include in `amazon_ads__ad_group_report`"
43+
display_name: "Additional Ad Group Report Metrics"
44+
45+
amazon_ads__targeting_keyword_passthrough_metrics:
46+
type: dictionary
47+
description: "Additional `TARGETING_KEYWORD_REPORT` columns to include in `amazon_ads__keyword_report`"
48+
display_name: "Additional Keyword Report Metrics"
49+
50+
amazon_ads__search_term_ad_keyword_passthrough_metrics:
51+
type: dictionary
52+
description: "Additional `SEARCH_TERM_AD_KEYWORD_REPORT` columns to include in `amazon_ads__search_report`"
53+
display_name: "Additional Search Term Report Metrics"
54+

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# dbt_amazon_ads v1.2.0
2+
3+
[PR #32](https://github.com/fivetran/dbt_amazon_ads/pull/32) includes the following updates:
4+
5+
## Documentation
6+
- Updates README with standardized Fivetran formatting.
7+
8+
## Under the Hood
9+
- In the `quickstart.yml` file:
10+
- Adds `table_variables` for relevant sources to prevent missing sources from blocking downstream Quickstart models.
11+
- Adds `supported_vars` for Quickstart UI customization.
12+
113
# dbt_amazon_ads v1.1.0
214

315
[PR #31](https://github.com/fivetran/dbt_amazon_ads/pull/31) includes the following updates:

README.md

Lines changed: 70 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# Amazon Ads dbt Package ([Docs](https://fivetran.github.io/dbt_amazon_ads/))
1+
<!--section="amazon-ads_transformation_model"-->
2+
# Amazon Ads dbt Package
23

34
<p align="left">
45
<a alt="License"
@@ -11,23 +12,40 @@
1112
<a alt="PRs">
1213
<img src="https://img.shields.io/badge/Contributions-welcome-blueviolet" /></a>
1314
<a alt="Fivetran Quickstart Compatible"
14-
href="https://fivetran.com/docs/transformations/dbt/quickstart">
15+
href="https://fivetran.com/docs/transformations/data-models/quickstart-management#quickstartmanagement">
1516
<img src="https://img.shields.io/badge/Fivetran_Quickstart_Compatible%3F-yes-green.svg" /></a>
1617
</p>
1718

19+
This dbt package transforms data from Fivetran's Amazon Ads connector into analytics-ready tables.
20+
21+
## Resources
22+
23+
- Number of materialized models¹: 30
24+
- Connector documentation
25+
- [Amazon Ads connector documentation](https://fivetran.com/docs/connectors/applications/amazon-ads)
26+
- [Amazon Ads ERD](https://fivetran.com/docs/connectors/applications/amazon-ads#schemainformation)
27+
- dbt package documentation
28+
- [GitHub repository](https://github.com/fivetran/dbt_amazon_ads)
29+
- [dbt Docs](https://fivetran.github.io/dbt_amazon_ads/#!/overview)
30+
- [DAG](https://fivetran.github.io/dbt_amazon_ads/#!/overview?g_v=1)
31+
- [Changelog](https://github.com/fivetran/dbt_amazon_ads/blob/main/CHANGELOG.md)
32+
1833
## What does this dbt package do?
19-
- Produces modeled tables that leverage Amazon Ads data from [Fivetran's connector](https://fivetran.com/docs/applications/amazon-ads) in the format described by [this ERD](https://fivetran.com/docs/applications/amazon-ads#schemainformation).
20-
- Provides insight into your ad performance across the following grains:
21-
- Account, portfolio, campaign, ad group, ad, keyword, and search term
22-
- Materializes output models designed to work simultaneously with our [multi-platform Ad Reporting package](https://github.com/fivetran/dbt_ad_reporting).
23-
- Generates a comprehensive data dictionary of your source and modeled Amazon Ads data through the [dbt docs site](https://fivetran.github.io/dbt_amazon_ads/).
24-
25-
<!--section="amazon_ads_transformation_model"-->
26-
The following table lists all tables that are materialized within this package by default.
27-
> TIP: See more details about these tables in the package's [dbt docs site](https://fivetran.github.io/dbt_amazon_ads/#!/overview?g_v=1&g_e=seeds).
28-
29-
| **Table** | **Details** |
30-
|-----------|-------------|
34+
This package enables you to produce modeled tables that leverage Amazon Ads data, provide insight into your ad performance across multiple grains, and materialize output models designed to work simultaneously with our multi-platform Ad Reporting package. It creates enriched models with metrics focused on account, portfolio, campaign, ad group, ad, keyword, and search term performance.
35+
36+
### Output schema
37+
Final output tables are generated in the following target schema:
38+
39+
```
40+
<your_database>.<connector/schema_name>_amazon_ads
41+
```
42+
43+
### Final output tables
44+
45+
By default, this package materializes the following final tables:
46+
47+
| Table | Description |
48+
| :---- | :---- |
3149
| [`amazon_ads__account_report`](https://fivetran.github.io/dbt_amazon_ads/#!/model/model.amazon_ads.amazon_ads__account_report) | Represents daily performance aggregated at the account level, including `spend`, `clicks`, `impressions`, and `conversions`.<br><br>**Example Analytics Questions:**<ul><li>How does performance compare across different accounts by account manager?</li><li>Are currency fluctuations affecting results across markets?</li></ul> |
3250
| [`amazon_ads__ad_group_report`](https://fivetran.github.io/dbt_amazon_ads/#!/model/model.amazon_ads.amazon_ads__ad_group_report) | Represents daily performance at the ad group level, including `spend`, `clicks`, `impressions`, and `conversions`.<br><br>**Example Analytics Questions:**<ul><li>Which ad groups have the strongest engagement relative to their budget?</li><li>Do certain ad groups dominate impressions within a campaign?</li><li>Are new ad groups ramping up as expected after launch?</li></ul> |
3351
| [`amazon_ads__ad_report`](https://fivetran.github.io/dbt_amazon_ads/#!/model/model.amazon_ads.amazon_ads__ad_report) | Represents daily performance at the individual ad level, including `spend`, `clicks`, `impressions`, and `conversions`.<br><br>**Example Analytics Questions:**<ul><li>Which ad creatives are driving the lowest cost per click?</li><li>Do expanded text ads perform better than responsive search ads?</li><li>How do performance trends change after refreshing ad copy?</li></ul> |
@@ -36,48 +54,53 @@ The following table lists all tables that are materialized within this package b
3654
| [`amazon_ads__portfolio_report`](https://fivetran.github.io/dbt_amazon_ads/#!/model/model.amazon_ads.amazon_ads__portfolio_report) | Represents daily performance at the portfolio level, including `spend`, `clicks`, `impressions`, and `conversions`.<br><br>**Example Analytics Questions:**<ul><li>Which portfolios are delivering the best return on ad spend?</li><li>How do different portfolio strategies compare in terms of performance?</li><li>What are the spending trends across my portfolio segments?</li></ul> |
3755
| [`amazon_ads__search_report`](https://fivetran.github.io/dbt_amazon_ads/#!/model/model.amazon_ads.amazon_ads__search_report) | Represents daily performance at the search term level, enriched with account, campaign, and ad group context. Includes metrics such as `spend`, `clicks`, `impressions`, and `conversions`.<br><br>**Example Analytics Questions:**<ul><li>What new search terms are emerging that I should add as keywords?</li><li>Which irrelevant search terms should be added as negatives to reduce wasted spend?</li><li>Are there seasonal shifts in search terms driving conversions?</li></ul> |
3856

39-
Many of the above reports are now configurable for [visualization via Streamlit](https://github.com/fivetran/streamlit_ad_reporting). Check out some [sample reports here](https://fivetran-ad-reporting.streamlit.app/ad_performance).
57+
¹ 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`.
4058

41-
### Example Visualizations
42-
Curious what these tables can do? The Amazon Ads models provide advertising performance data that can be visualized to track key metrics like spend, impressions, click-through rates, conversion rates, and return on ad spend across different campaign structures and time periods. Check out example visualizations in the [Fivetran Ad Reporting Streamlit App](https://fivetran-ad-reporting.streamlit.app/ad_performance), and see how you can use these tables in your own reporting. Below is a screenshot of an example dashboard; explore the app for more.
59+
---
60+
61+
## Visualizations
62+
Many of the above reports are now configurable for [visualization via Streamlit](https://github.com/fivetran/streamlit_ad_reporting). Check out some [sample reports here](https://fivetran-ad-reporting.streamlit.app/ad_performance).
4363

4464
<p align="center">
4565
<a href="https://fivetran-ad-reporting.streamlit.app/ad_performance">
4666
<img src="https://raw.githubusercontent.com/fivetran/dbt_amazon_ads/main/images/streamlit_example.png" alt="Fivetran Ad Reporting Streamlit App" width="100%">
4767
</a>
4868
</p>
4969

50-
### Materialized Models
51-
Each Quickstart transformation job run materializes 30 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`.
52-
<!--section-end-->
53-
54-
## How do I use the dbt package?
55-
### Step 1: Prerequisites
70+
## Prerequisites
5671
To use this dbt package, you must have the following:
5772

5873
- At least one Fivetran Amazon Ads connection syncing data into your destination.
5974
- A **BigQuery**, **Snowflake**, **Redshift**, **PostgreSQL**, or **Databricks** destination.
6075

61-
#### Databricks Dispatch Configuration
62-
If you are using a Databricks destination with this package, you will need to add the following dispatch configuration (or a variation) within your `dbt_project.yml`. This is necessary to ensure that this package searches for macros in the `dbt-labs/spark_utils` package before searching the `dbt-labs/dbt_utils` package.
63-
```yml
64-
dispatch:
65-
- macro_namespace: dbt_utils
66-
search_order: ['spark_utils', 'dbt_utils']
67-
```
76+
## How do I use the dbt package?
77+
You can either add this dbt package in the Fivetran dashboard or import it into your dbt project:
78+
79+
- To add the package in the Fivetran dashboard, follow our [Quickstart guide](https://fivetran.com/docs/transformations/data-models/quickstart-management).
80+
- To add the package to your dbt project, follow the setup instructions in the dbt package's [README file](https://github.com/fivetran/dbt_amazon_ads/blob/main/README.md#how-do-i-use-the-dbt-package) to use this package.
6881

69-
### Step 2: Install the package (skip if also using the `ad_reporting` combo package)
82+
<!--section-end-->
83+
84+
### Install the package (skip if also using the `ad_reporting` combo package)
7085
Include the following amazon_ads package version in your `packages.yml` file _if_ you are not also using the upstream [Ad Reporting combination package](https://github.com/fivetran/dbt_ad_reporting):
7186
> TIP: Check [dbt Hub](https://hub.getdbt.com/) for the latest installation instructions or [read dbt's Package Management documentation](https://docs.getdbt.com/docs/package-management) for more information on installing packages.
7287
```yaml
7388
packages:
7489
- package: fivetran/amazon_ads
75-
version: [">=1.1.0", "<1.2.0"] # we recommend using ranges to capture non-breaking changes automatically
90+
version: [">=1.2.0", "<1.3.0"] # we recommend using ranges to capture non-breaking changes automatically
7691
```
7792
7893
> All required sources and staging models are now bundled into this transformation package. Do not include `fivetran/amazon_ads_source` in your `packages.yml` since this package has been deprecated.
7994

80-
### Step 3: Define database and schema variables
95+
#### Databricks Dispatch Configuration
96+
If you are using a Databricks destination with this package, you will need to add the following dispatch configuration (or a variation) within your `dbt_project.yml`. This is necessary to ensure that this package searches for macros in the `dbt-labs/spark_utils` package before searching the `dbt-labs/dbt_utils` package.
97+
```yml
98+
dispatch:
99+
- macro_namespace: dbt_utils
100+
search_order: ['spark_utils', 'dbt_utils']
101+
```
102+
103+
### Define database and schema variables
81104
By default, this package uses your destination and the `amazon_ads` schema. If your Amazon Ads data is in a different database or schema (for example, if your Amazon Ads schema is named `amazon_ads_fivetran`), add the following configuration to your root `dbt_project.yml` file:
82105

83106
```yml
@@ -86,15 +109,15 @@ vars:
86109
amazon_ads_schema: your_schema_name
87110
```
88111

89-
### Step 4: Disable models for non-existent sources
112+
### Disable models for non-existent sources
90113
Your Amazon Ads connection may not sync every table that this package expects. If you do not have the `PORTFOLIO_HISTORY` table synced, add the following variable to your root `dbt_project.yml` file:
91114

92115
```yml
93116
vars:
94117
amazon_ads__portfolio_history_enabled: False # Disable if you do not have the portfolio table. Default is True.
95118
```
96119

97-
### (Optional) Step 5: Additional configurations
120+
### (Optional) Additional configurations
98121
<details open><summary>Expand/Collapse details</summary>
99122

100123
#### Union multiple connections
@@ -157,10 +180,10 @@ vars:
157180

158181
</details>
159182

160-
### (Optional) Step 6: Orchestrate your models with Fivetran Transformations for dbt Core™
183+
### (Optional) Orchestrate your models with Fivetran Transformations for dbt Core™
161184
<details><summary>Expand for more details</summary>
162185

163-
Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt). Learn how to set up your project for orchestration through Fivetran in our [Transformations for dbt Core setup guides](https://fivetran.com/docs/transformations/dbt#setupguide).
186+
Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt#transformationsfordbtcore). Learn how to set up your project for orchestration through Fivetran in our [Transformations for dbt Core setup guides](https://fivetran.com/docs/transformations/dbt/setup-guide#transformationsfordbtcoresetupguide).
164187

165188
</details>
166189

@@ -176,23 +199,27 @@ packages:
176199
- package: dbt-labs/dbt_utils
177200
version: [">=1.0.0", "<2.0.0"]
178201
```
202+
<!--section="amazon-ads_maintenance"-->
179203
## How is this package maintained and can I contribute?
180-
### Package Maintenance
181-
The Fivetran team maintaining this package _only_ maintains the latest version of the package. We highly recommend you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/amazon_ads/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_amazon_ads/blob/main/CHANGELOG.md) and release notes for more information on changes across versions.
182204

183-
### Opinionated Decisions
184-
In creating this package, which is meant for a wide range of use cases, we had to take opinionated stances on certain decisions, such as logic choices or column selection. Therefore, we have documented significant choices in the [DECISIONLOG.md](https://github.com/fivetran/dbt_amazon_ads/blob/main/DECISIONLOG.md) and will continue to update this as the package evolves. We are always open to and encourage feedback on these choices and the package in general.
205+
### Package Maintenance
206+
The Fivetran team maintaining this package only maintains the [latest version](https://hub.getdbt.com/fivetran/amazon_ads/latest/) of the package. We highly recommend you stay consistent with the latest version of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_amazon_ads/blob/main/CHANGELOG.md) and release notes for more information on changes across versions.
185207

186208
### Contributions
187209
A small team of analytics engineers at Fivetran develops these dbt packages. However, the packages are made better by community contributions.
188210

189-
We highly encourage and welcome contributions to this package. Check out [this dbt Discourse article](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657) on the best workflow for contributing to a package.
211+
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](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657).
212+
213+
### Opinionated Decisions
214+
In creating this package, which is meant for a wide range of use cases, we had to take opinionated stances on certain decisions, such as logic choices or column selection. Therefore, we have documented significant choices in the [DECISIONLOG.md](https://github.com/fivetran/dbt_amazon_ads/blob/main/DECISIONLOG.md) and will continue to update this as the package evolves. We are always open to and encourage feedback on these choices and the package in general.
190215

191216
#### Contributors
192217
We thank [everyone](https://github.com/fivetran/amazon_ads/graphs/contributors) who has taken the time to contribute. Each PR, bug report, and feature request has made this package better and is truly appreciated.
193218

194219
A special thank you to [Seer Interactive](https://www.seerinteractive.com/?utm_campaign=Fivetran%20%7C%20Models&utm_source=Fivetran&utm_medium=Fivetran%20Documentation), who we closely collaborated with to introduce native conversion support to our Ad packages.
195220

221+
<!--section-end-->
222+
196223
## Are there any resources available?
197224
- If you have questions or want to reach out for help, refer to the [GitHub Issue](https://github.com/fivetran/dbt_amazon_ads/issues/new/choose) section to find the right avenue of support for you.
198-
- 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](https://www.surveymonkey.com/r/DQ7K7WW).
225+
- 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](https://www.surveymonkey.com/r/DQ7K7WW).

dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: 'amazon_ads'
2-
version: '1.1.0'
2+
version: '1.2.0'
33
config-version: 2
44
require-dbt-version: [">=1.3.0", "<3.0.0"]
55
models:

docs/catalog.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/manifest.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

integration_tests/dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
config-version: 2
22

33
name: 'amazon_ads_integration_tests'
4-
version: '1.1.0'
4+
version: '1.2.0'
55

66
profile: 'integration_tests'
77

0 commit comments

Comments
 (0)