Snapchat Ads dbt Package
This dbt package transforms data from Fivetran's Snapchat Ads connector into analytics-ready tables.
Resources
- Number of materialized models¹: 29
- Connector documentation
- dbt package documentation
What does this dbt package do?
This package enables you to produce modeled tables that leverage Snapchat Ads data, generate a comprehensive data dictionary, and better understand your marketing performance based on different levels of granularity.
Output schema
Final output tables are generated in the following target schema:
<your_database>.<connector/schema_name>_snapchat_ads
Final output tables
By default, this package materializes the following final tables:
| Table | Description |
|---|---|
| snapchat_ads__account_report | Represents daily performance aggregated at the account level, including spend, swipes, impressions, and total_conversions.Example Analytics Questions:
|
| snapchat_ads__campaign_report | Represents daily performance aggregated at the campaign level, including spend, swipes, impressions, and total_conversions.Example Analytics Questions:
|
| snapchat_ads__ad_report | Represents daily performance at the individual ad level, including spend, swipes, impressions, and total_conversions.Example Analytics Questions:
|
| snapchat_ads__url_report | Represents daily performance at the individual URL level, including spend, swipes, impressions, and total_conversions, enriched with ad context.Example Analytics Questions:
|
| snapchat_ads__ad_squad_report | Represents daily performance aggregated at the ad squad level (equivalent to ad groups in other platforms), including spend, swipes, impressions, and total_conversions.Example Analytics Questions:
|
| snapchat_ads__campaign_country_report | Represents daily performance aggregated at the campaign level by country, including spend, swipes, impressions, and total_conversions, enriched with geographic context.Example Analytics Questions:
|
| snapchat_ads__campaign_region_report | Represents daily performance aggregated at the campaign level by region, including spend, swipes, impressions, and total_conversions, enriched with geographic context.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.
Visualizations
Many of the above reports are now configurable for visualization via Streamlit. Check out some sample reports here.
Prerequisites
To use this dbt package, you must have the following:
- At least one Fivetran Snapchat Ads connection syncing data into your destination.
- A BigQuery, Snowflake, Redshift, Databricks, or PostgreSQL destination.
How do I use the dbt package?
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.
How is this package maintained and can I contribute?
Package Maintenance
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.
Contributions
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.
Contributors
We thank everyone who has taken the time to contribute. Each PR, bug report, and feature request has made this package better and is truly appreciated.
A special thank you to Seer Interactive, who we closely collaborated with to introduce native conversion support to our Ad packages.
Opinionated Decisions
In creating this package, which is meant for a wide range of use cases, we had to take opinionated stances on a few different questions we came across during development. We've consolidated significant choices we made in the DECISIONLOG.md, and will continue to update as the package evolves. We are always open to and encourage feedback on these choices, and the package in general.
