hex-inc / dbt_linkedin_source

Fivetran's Linkedin Ads source dbt package

Home Page:https://fivetran-dbt-linkedin.netlify.app/#!/overview

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apache License

LinkedIn Ad Analytics Source (docs)

This package models LinkedIn Ad Analytics data from Fivetran's connector. It uses data in the format described by this ERD.

Models

This package contains staging models, designed to work simultaneously with our LinkedIn Ad Analytics transformation package and our multi-platform Ad Reporting package.

The staging models:

  • Name columns consistently across all packages:
    • Boolean fields are prefixed with is_ or has_
    • Timestamps are appended with _at
    • ID primary keys are prefixed with the name of the table. For example, the campaign table's ID column is renamed campaign_id.

Installation Instructions

Check dbt Hub for the latest installation instructions, or read the dbt docs for more information on installing packages.

Include in your packages.yml

packages:
  - package: fivetran/linkedin_source
    version: [">=0.4.0", "<0.5.0"]

Configuration

By default, this package will look for your LinkedIn Ad Analytics data in the linkedin_ads schema of your target database. If this is not where your LinkedIn Ad Analytics data is, please add the following configuration to your dbt_project.yml file:

# dbt_project.yml

...
config-version: 2

vars:
    linkedin_database: your_database_name
    linkedin_schema: your_schema_name

Switching to Local Currency

Additionally, the package allows you to select whether you want to add in costs in USD or the local currency of the ad. By default, the package uses USD. If you would like to have costs in the local currency, add the following variable to your dbt_project.yml file:

# dbt_project.yml

...
config-version: 2

vars:
    linkedin__use_local_currency: True

Passing Through Additional Metrics

By default, this package will select clicks, impressions, and costs from the source ad_analytics_by_creative table to store into the staging model. If you would like to pass through additional metrics from this table to both the staging model and the final linkedin__ad_adapter transform model, add the following configuration to your dbt_project.yml file:

# dbt_project.yml

...
vars:
    linkedin__passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from LINKEDIN_ADS.AD_ANALYTICS_BY_CREATIVE

Changing the Build Schema

By default this package will build the LinkedIn Ad Analytics staging models within a schema titled (<target_schema> + _stg_linkedin) in your target database. If this is not where you would like your modeled LinkedIn data to be written to, add the following configuration to your dbt_project.yml file:

# dbt_project.yml

...
models:
    linkedin_source:
      +schema: my_new_schema_name # leave blank for just the target_schema

Contributions

Additional contributions to this package are very welcome! Please create issues or open PRs against main. Check out this post on the best workflow for contributing to a package.

Database Support

This package has been tested on BigQuery, Snowflake Redshift, Postgres, and Databricks.

Databricks Dispatch Configuration

dbt v0.20.0 introduced a new project-level dispatch configuration that enables an "override" setting for all dispatched macros. If you are using a Databricks destination with this package you will need to add the below (or a variation of the below) dispatch configuration within your dbt_project.yml. This is required in order for the package to accurately search for macros within the dbt-labs/spark_utils then the dbt-labs/dbt_utils packages respectively.

# dbt_project.yml

dispatch:
  - macro_namespace: dbt_utils
    search_order: ['spark_utils', 'dbt_utils']

Resources:

  • Provide feedback on our existing dbt packages or what you'd like to see next
  • Have questions or feedback, or need help? Book a time during our office hours here or shoot us an email at solutions@fivetran.com.
  • Find all of Fivetran's pre-built dbt packages in our dbt hub
  • Learn how to orchestrate dbt transformations with Fivetran here.
  • Learn more about Fivetran overall in our docs
  • Check out Fivetran's blog
  • Learn more about dbt in the dbt docs
  • Check out Discourse for commonly asked questions and answers
  • Join the chat on Slack for live discussions and support
  • Find dbt events near you
  • Check out the dbt blog for the latest news on dbt's development and best practices

About

Fivetran's Linkedin Ads source dbt package

https://fivetran-dbt-linkedin.netlify.app/#!/overview

License:Apache License 2.0