diff --git a/CHANGELOG.md b/CHANGELOG.md
index ef95a56..1703393 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,31 @@
+# dbt_tiktok_ads v0.2.0
+This PR ([#5](https://github.com/fivetran/dbt_tiktok_ads/pull/5)) applies the following updates to provide further flexibility in your ad reporting. Additionally, these new end models will be leveraged in the respective downstream [dbt_ad_reporting](https://github.com/fivetran/dbt_ad_reporting) models.
+## 🚨 Breaking Changes 🚨
+- Updates `ad_group_hourly` variable to `ad_group_report_hourly`
+- Removes intermediate models and instead incorporates previous logic into end models
+- Renames the `tikok_ads__ad_adapter` model to `tiktok_ads__url_report`
+- Removes dependency of models on the `tikok_ads__ad_adapter` model and moves that previous logic into each model, using corresponding hourly reports for each model's granularity (e.g. `tikok_ads__campaign_report` now uses the `campaign_report_hourly`)
+## 🎉 Feature Enhancements 🎉
+- Adds in the following models and respective field descriptions and tests:
+ - `tiktok_ads__account_report`
+ - `tiktok_ads__url_report`
+ - `tiktok_ads__ad_report`
+- Adds additional fields to existing models `ad_group_report` and `campaign_report` that were previously not brought in
+- Inclusion of passthrough metrics:
+ - `tiktok_ads__ad_group_hourly_passthrough_metrics`
+ - `tiktok_ads__ad_hourly_passthrough_metrics`
+ - `tiktok_ads__campaign_hourly_passthrough_metrics`
+> This applies to all passthrough columns within the `dbt_tiktok_ads` package and not just the `tiktok_ads__ad_group_hourly_passthrough_metrics` example.
+```yml
+vars:
+ tiktok_ads__ad_group_hourly_passthrough_metrics:
+ - name: "my_field_to_include" # Required: Name of the field within the source.
+ alias: "field_alias" # Optional: If you wish to alias the field within the staging model.
+```
+- Adds not-null tests to key fields
+- Applies standardization updates
+- Add enable configs for this specific ad platform, for use in the Ad Reporting rollup package
+
# dbt_tiktok_ads v0.1.1
## Under the Hood
- Updated package yml to point to live source
diff --git a/README.md b/README.md
index 08be477..69fe76f 100644
--- a/README.md
+++ b/README.md
@@ -1,43 +1,54 @@
-[![Apache License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
-# TikTok Ads
-
-This package models TikTok Ads data from [Fivetran's connector](https://fivetran.com/docs/applications/tiktok-ads). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/tiktok-ads#schemainformation).
-
-The main focus of the package is to transform the core ad object tables into analytics-ready models, including an 'ad adapter' model that can be easily unioned in to other ad platform packages to get a single view. This is especially easy using our [Ad Reporting package](https://github.com/fivetran/dbt_ad_reporting).
-
-## Models
-
-This package contains transformation models, designed to work simultaneously with our [Tiktok Ads source package](https://github.com/fivetran/dbt_tiktok_ads_source) and our [multi-platform Ad Reporting package](https://github.com/fivetran/dbt_ad_reporting). A dependency on the source package is declared in this package's `packages.yml` file, so it will automatically download when you run `dbt deps`. The primary outputs of this package are described below.
+
+
+
+
+
+
+
+
+
+
+
+# Tiktok Ads Transformation dbt Package ([Docs](https://fivetran.github.io/dbt_tiktok_ads/))
+# 📣 What does this dbt package do?
+- Produces modeled tables that leverage Tiktok Ads data from [Fivetran's connector](https://fivetran.com/docs/applications/tiktok-ads) in the format described by [this ERD](https://fivetran.com/docs/applications/tiktok-ads#schemainformation) and builds off the output of our [Tiktok Ads source package](https://github.com/fivetran/dbt_tiktok_ads_source).
+- Creates reports on daily marketing performance across various levels of granularity.
+- Generates a comprehensive data dictionary of your source and modeled Tiktok Ads data through the [dbt docs site](https://fivetran.github.io/dbt_tiktok_ads/).
+
+The following table provides a detailed list of all models materialized within this package by default.
+> TIP: See more details about these models in the package's [dbt docs site](https://fivetran.github.io/dbt_tiktok_ads/#!/overview?g_v=1&g_e=seeds).
| **model** | **description** |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
-| [tiktok_ads__ad_adapter](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__ad_adapter.sql) | Each record represents the daily ad performance, including information about the UTM parameters. |
-| [tiktok_ads__ad_group_report](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__ad_group_report.sql) | Each record represents the daily ad performance for each ad group. This also includes additional data on the demographics you want to target. |
-| [tiktok_ads__campaign_report](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__campaign_report.sql) | Each record represents the daily ad performance for each campaign. |
+| [tiktok_ads__ad_group_report](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__ad_group_report.sql) | Each record represents the daily performance for each ad group. This also includes additional data on the demographics you are targeting. |
+| [tiktok_ads__campaign_report](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__campaign_report.sql) | Each record represents the daily performance for each campaign. |
+| [tiktok_ads__advertiser_report](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__advertiser_report.sql) | Each record represents the daily performance for each account. |
+| [tiktok_ads__ad_report](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__ad_report.sql) | Each record represents the daily performance for each ad. This also includes additional data on the demographics you are targeting. |
+| [tiktok_ads__url_report](https://github.com/fivetran/dbt_tiktok_ads/blob/main/models/tiktok_ads__url_report.sql) | Each record in this table represents the daily performance of URLs at the ad level. This also includes additional data on the demographics you are targeting.
-## Installation Instructions
+# 🎯 How do I use the dbt package?
-Check [dbt Hub](https://hub.getdbt.com/) for the latest installation instructions, or [read the dbt docs](https://docs.getdbt.com/docs/package-management) for more information on installing packages.
+## Step 1: Prerequisites
+To use this dbt package, you must have the following:
-Include in your `packages.yml`
+- At least one Fivetran Tiktok Ads connector syncing data into your destination.
+- A **BigQuery**, **Snowflake**, **Redshift**, **PostgreSQL**, or **Databricks** destination.
+## Step 2: Install the package
+Include the following tiktok_ads package version in your `packages.yml` file:
+> TIP: Check [dbt Hub](https://hub.getdbt.com/) for the latest installation instructions or [read the dbt docs](https://docs.getdbt.com/docs/package-management) for more information on installing packages.
```yaml
packages:
- package: fivetran/tiktok_ads
- version: [">=0.1.0", "<0.2.0"]
-```
+ version: [">=0.2.0", "<0.3.0"]
-## Configuration
+```
-By default, this package will look for your TikTok Ads data in the `tiktok_ads` schema of your [target database](https://docs.getdbt.com/docs/running-a-dbt-project/using-the-command-line-interface/configure-your-profile). If this is not where your TikTok Ads data is, please add the following configuration to your
-`dbt_project.yml` file:
+## Step 3: Define database and schema variables
+By default, this package will look for your TikTok Ads data in the `tiktok_ads` schema of your [target database](https://docs.getdbt.com/docs/running-a-dbt-project/using-the-command-line-interface/configure-your-profile). If this is not where your TikTok Ads data is, you would add the following configuration to your root `dbt_project.yml` file with your custom database and schema names:
```yml
-# dbt_project.yml
-
-...
-config-version: 2
-
vars:
tiktok_ads_schema: your_database_name
tiktok_ads_database: your_schema_name
@@ -45,8 +56,28 @@ vars:
For additional configurations for the source models, visit the [Tiktok Ads source package](https://github.com/fivetran/dbt_tiktok_ads_source).
-### Changing the Build Schema
+## (Optional) Step 4: Additional configurations
+Expand for configurations
+
+### Passing Through Additional Metrics
+By default, this package will select `clicks`, `impressions`, and `cost` from the source reporting tables to store into the staging models. If you would like to pass through additional metrics to the staging models, add the below configurations to your `dbt_project.yml` file. These variables allow for the pass-through fields to be aliased (`alias`) if desired, but not required. Use the below format for declaring the respective pass-through variables:
+
+>**Note** Please ensure you exercised due diligence when adding metrics to these models. The metrics added by default (taps, impressions, and spend) have been vetted by the Fivetran team maintaining this package for accuracy. There are metrics included within the source reports, for example metric averages, which may be inaccurately represented at the grain for reports created in this package. You will want to ensure whichever metrics you pass through are indeed appropriate to aggregate at the respective reporting levels provided in this package.
+
+```yml
+vars:
+ tiktok_ads__ad_group_hourly_passthrough_metrics:
+ - name: "new_custom_field"
+ alias: "custom_field"
+ - name: "my_other_field"
+ tiktok_ads__ad_hourly_passthrough_metrics:
+ - name: "this_field"
+ tiktok_ads__campaign_hourly_passthrough_metrics:
+ - name: "unique_string_field"
+ alias: "field_id"
+```
+### Change the build schema
By default, this package will build the TikTok Ads staging models within a schema titled (`` + `_stg_tiktok_ads`) and the final TikTok Ads models within a schema titled (`` + `_tiktok_ads`) in your target database. If this is not where you would like your modeled TikTok data to be written to, add the following configuration to your `dbt_project.yml` file:
```yml
@@ -60,37 +91,51 @@ models:
+schema: my_new_schema_name # leave blank for just the target_schema
```
-## Contributions
+
+### Change the source table references
+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:
-Don't see a model or specific metric you would have liked to be included? Notice any bugs when installing and running the package? If so, we highly encourage and welcome contributions to this package!
-Please create issues or open PRs against `master`. See [this Discourse post](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657) for information on how to contribute to a package.
+> IMPORTANT: See this project's [`dbt_project.yml`](https://github.com/fivetran/dbt_tiktok_ads/blob/main/dbt_project.yml) variable declarations to see the expected names.
-## Database Support
+```yml
+vars:
+ tiktok_ads__identifier: your_table_name
+```
-This package has been tested on BigQuery, Snowflake, Redshift, Postgres, and Databricks.
+
-### Databricks Dispatch Configuration
+## (Optional) Step 5: Orchestrate your models with Fivetran Transformations for dbt Core™
+Expand for more details
-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 following (or a variation of the following) 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` and then the `dbt-labs/dbt_utils` packages, respectively.
+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).
+
+
+# 🔍 Does this package have dependencies?
+This dbt package is dependent on the following dbt packages. Please be aware that these dependencies are installed by default within this package. For more information on the following packages, refer to the [dbt hub](https://hub.getdbt.com/) site.
+> IMPORTANT: If you have any of these dependent packages in your own `packages.yml` file, we highly recommend that you remove them from your root `packages.yml` to avoid package version conflicts.
+
```yml
-# dbt_project.yml
+packages:
+ - package: fivetran/tiktok_ads_source
+ version: [">=0.2.0", "<0.3.0"]
-dispatch:
- - macro_namespace: dbt_utils
- search_order: ['spark_utils', 'dbt_utils']
+ - package: fivetran/fivetran_utils
+ version: [">=0.3.0", "<0.4.0"]
+
+ - package: dbt-labs/dbt_utils
+ version: [">=0.8.0", "<0.9.0"]
```
+# 🙌 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](https://hub.getdbt.com/fivetran/tiktok_ads/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_tiktok_ads/blob/main/CHANGELOG.md) 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!
-## Resources:
-- Provide [feedback](https://www.surveymonkey.com/r/DQ7K7WW) on our existing dbt packages or what you'd like to see next
-- Have questions, feedback, or need help? Book a time during our office hours [using Calendly](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or email us at solutions@fivetran.com
-- Find all of Fivetran's pre-built dbt packages in our [dbt hub](https://hub.getdbt.com/fivetran/)
-- Learn how to orchestrate your models with [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt)
-- Learn more about Fivetran overall [in our docs](https://fivetran.com/docs)
-- Check out [Fivetran's blog](https://fivetran.com/blog)
-- Learn more about dbt [in the dbt docs](https://docs.getdbt.com/docs/introduction)
-- Check out [Discourse](https://discourse.getdbt.com/) for commonly asked questions and answers
-- Join the [chat](http://slack.getdbt.com/) on Slack for live discussions and support
-- Find [dbt events](https://events.getdbt.com) near you
-- Check out [the dbt blog](https://blog.getdbt.com/) for the latest news on dbt's development and best practices
+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!
+# 🏪 Are there any resources available?
+- If you have questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_tiktok_ads/issues/new/choose) 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](https://www.surveymonkey.com/r/DQ7K7WW).
+- Have questions or want to just say hi? Book a time during our office hours [on Calendly](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or email us at solutions@fivetran.com.
\ No newline at end of file
diff --git a/dbt_project.yml b/dbt_project.yml
index e93917f..2542449 100644
--- a/dbt_project.yml
+++ b/dbt_project.yml
@@ -1,5 +1,5 @@
name: 'tiktok_ads'
-version: '0.1.1'
+version: '0.2.0'
config-version: 2
require-dbt-version: [">=1.0.0", "<2.0.0"]
@@ -7,15 +7,17 @@ models:
tiktok_ads:
+schema: tiktok_ads
+materialized: table
- intermediate:
- +materialized: ephemeral
vars:
tiktok_ads:
- ad_history: "{{ ref('stg_tiktok_ads__ad_history') }}"
+ ad_group_report_hourly: "{{ ref('stg_tiktok_ads__ad_group_report_hourly') }}"
ad_group_history: "{{ ref('stg_tiktok_ads__ad_group_history') }}"
+ campaign_report_hourly: "{{ ref('stg_tiktok_ads__campaign_report_hourly') }}"
campaign_history: "{{ ref('stg_tiktok_ads__campaign_history') }}"
- advertiser: "{{ ref('stg_tiktok_ads__advertiser') }}"
ad_report_hourly: "{{ ref('stg_tiktok_ads__ad_report_hourly') }}"
- campaign_report_hourly: "{{ ref('stg_tiktok_ads__campaign_report_hourly') }}"
- ad_group_hourly: "{{ ref('stg_tiktok_ads__ad_group_report_hourly') }}"
+ ad_history: "{{ ref('stg_tiktok_ads__ad_history') }}"
+ advertiser: "{{ ref('stg_tiktok_ads__advertiser') }}"
+
+ tiktok_ads__ad_group_hourly_passthrough_metrics: []
+ tiktok_ads__ad_hourly_passthrough_metrics: []
+ tiktok_ads__campaign_hourly_passthrough_metrics: []
diff --git a/docs/catalog.json b/docs/catalog.json
index de4ad0b..0731265 100644
--- a/docs/catalog.json
+++ b/docs/catalog.json
@@ -1 +1 @@
-{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.0", "generated_at": "2022-01-05T21:56:04.130536Z", "invocation_id": "1e8cff93-4d97-45cd-a4f3-6c457c5b074a", "env": {}}, "nodes": {"model.tiktok_ads.tiktok_ads__ad_adapter": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_TIKTOK_ADS", "name": "TIKTOK_ADS__AD_ADAPTER", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"DATE_DAY": {"type": "DATE", "index": 1, "name": "DATE_DAY", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 2, "name": "ADVERTISER_ID", "comment": null}, "COMPANY_NAME": {"type": "TEXT", "index": 3, "name": "COMPANY_NAME", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 4, "name": "CAMPAIGN_ID", "comment": null}, "CAMPAIGN_NAME": {"type": "TEXT", "index": 5, "name": "CAMPAIGN_NAME", "comment": null}, "AD_GROUP_ID": {"type": "NUMBER", "index": 6, "name": "AD_GROUP_ID", "comment": null}, "AD_GROUP_NAME": {"type": "TEXT", "index": 7, "name": "AD_GROUP_NAME", "comment": null}, "AD_ID": {"type": "NUMBER", "index": 8, "name": "AD_ID", "comment": null}, "AD_NAME": {"type": "TEXT", "index": 9, "name": "AD_NAME", "comment": null}, "BASE_URL": {"type": "TEXT", "index": 10, "name": "BASE_URL", "comment": null}, "URL_HOST": {"type": "TEXT", "index": 11, "name": "URL_HOST", "comment": null}, "URL_PATH": {"type": "TEXT", "index": 12, "name": "URL_PATH", "comment": null}, "UTM_SOURCE": {"type": "TEXT", "index": 13, "name": "UTM_SOURCE", "comment": null}, "UTM_MEDIUM": {"type": "TEXT", "index": 14, "name": "UTM_MEDIUM", "comment": null}, "UTM_CAMPAIGN": {"type": "TEXT", "index": 15, "name": "UTM_CAMPAIGN", "comment": null}, "UTM_CONTENT": {"type": "TEXT", "index": 16, "name": "UTM_CONTENT", "comment": null}, "UTM_TERM": {"type": "TEXT", "index": 17, "name": "UTM_TERM", "comment": null}, "SPEND": {"type": "FLOAT", "index": 18, "name": "SPEND", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 19, "name": "CLICKS", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 20, "name": "IMPRESSIONS", "comment": null}, "REACH": {"type": "NUMBER", "index": 21, "name": "REACH", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 22, "name": "CONVERSION", "comment": null}, "LIKES": {"type": "NUMBER", "index": 23, "name": "LIKES", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 24, "name": "COMMENTS", "comment": null}, "SHARES": {"type": "NUMBER", "index": 25, "name": "SHARES", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 26, "name": "PROFILE_VISITS", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 27, "name": "FOLLOWS", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 28, "name": "VIDEO_WATCHED_2_S", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 29, "name": "VIDEO_WATCHED_6_S", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 30, "name": "VIDEO_VIEWS_P_25", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 31, "name": "VIDEO_VIEWS_P_50", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 32, "name": "VIDEO_VIEWS_P_75", "comment": null}, "DAILY_CPC": {"type": "FLOAT", "index": 33, "name": "DAILY_CPC", "comment": null}, "DAILY_CPM": {"type": "FLOAT", "index": 34, "name": "DAILY_CPM", "comment": null}, "DAILY_CTR": {"type": "NUMBER", "index": 35, "name": "DAILY_CTR", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 1329664.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 17439.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__ad_adapter"}, "model.tiktok_ads.int_tiktok_ads__most_recent_campaign": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_TIKTOK_ADS", "name": "INT_TIKTOK_ADS__MOST_RECENT_CAMPAIGN", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"CAMPAIGN_ID": {"type": "NUMBER", "index": 1, "name": "CAMPAIGN_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_NAME": {"type": "TEXT", "index": 4, "name": "CAMPAIGN_NAME", "comment": null}, "CAMPAIGN_TYPE": {"type": "TEXT", "index": 5, "name": "CAMPAIGN_TYPE", "comment": null}, "SPLIT_TEST_VARIABLE": {"type": "TEXT", "index": 6, "name": "SPLIT_TEST_VARIABLE", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 7, "name": "_FIVETRAN_SYNCED", "comment": null}, "IS_MOST_RECENT_RECORD": {"type": "BOOLEAN", "index": 8, "name": "IS_MOST_RECENT_RECORD", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 3584.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 12.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-13 23:08UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.int_tiktok_ads__most_recent_campaign"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__CAMPAIGN_HISTORY_TMP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"CAMPAIGN_ID": {"type": "NUMBER", "index": 1, "name": "CAMPAIGN_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_NAME": {"type": "TEXT", "index": 4, "name": "CAMPAIGN_NAME", "comment": null}, "CAMPAIGN_TYPE": {"type": "TEXT", "index": 5, "name": "CAMPAIGN_TYPE", "comment": null}, "BUDGET": {"type": "FLOAT", "index": 6, "name": "BUDGET", "comment": null}, "BUDGET_MODE": {"type": "TEXT", "index": 7, "name": "BUDGET_MODE", "comment": null}, "OPT_STATUS": {"type": "TEXT", "index": 8, "name": "OPT_STATUS", "comment": null}, "OBJECTIVE_TYPE": {"type": "TEXT", "index": 9, "name": "OBJECTIVE_TYPE", "comment": null}, "IS_NEW_STRUCTURE": {"type": "TEXT", "index": 10, "name": "IS_NEW_STRUCTURE", "comment": null}, "SPLIT_TEST_VARIABLE": {"type": "TEXT", "index": 11, "name": "SPLIT_TEST_VARIABLE", "comment": null}, "CREATE_TIME": {"type": "TIMESTAMP_TZ", "index": 12, "name": "CREATE_TIME", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 13, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_history_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__CAMPAIGN_HISTORY", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"CAMPAIGN_ID": {"type": "NUMBER", "index": 1, "name": "CAMPAIGN_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_NAME": {"type": "TEXT", "index": 4, "name": "CAMPAIGN_NAME", "comment": null}, "CAMPAIGN_TYPE": {"type": "TEXT", "index": 5, "name": "CAMPAIGN_TYPE", "comment": null}, "SPLIT_TEST_VARIABLE": {"type": "TEXT", "index": 6, "name": "SPLIT_TEST_VARIABLE", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 7, "name": "_FIVETRAN_SYNCED", "comment": null}, "IS_MOST_RECENT_RECORD": {"type": "BOOLEAN", "index": 8, "name": "IS_MOST_RECENT_RECORD", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 9728.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 334.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_history"}, "model.tiktok_ads_source.stg_tiktok_ads__advertiser_tmp": {"metadata": {"type": "VIEW", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__ADVERTISER_TMP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"ID": {"type": "NUMBER", "index": 1, "name": "ID", "comment": null}, "NAME": {"type": "TEXT", "index": 2, "name": "NAME", "comment": null}, "ADDRESS": {"type": "TEXT", "index": 3, "name": "ADDRESS", "comment": null}, "COMPANY": {"type": "TEXT", "index": 4, "name": "COMPANY", "comment": null}, "CONTACTER": {"type": "TEXT", "index": 5, "name": "CONTACTER", "comment": null}, "COUNTRY": {"type": "TEXT", "index": 6, "name": "COUNTRY", "comment": null}, "CURRENCY": {"type": "TEXT", "index": 7, "name": "CURRENCY", "comment": null}, "DESCRIPTION": {"type": "TEXT", "index": 8, "name": "DESCRIPTION", "comment": null}, "EMAIL": {"type": "TEXT", "index": 9, "name": "EMAIL", "comment": null}, "INDUSTRY": {"type": "TEXT", "index": 10, "name": "INDUSTRY", "comment": null}, "LICENSE_NO": {"type": "TEXT", "index": 11, "name": "LICENSE_NO", "comment": null}, "LICENSE_URL": {"type": "TEXT", "index": 12, "name": "LICENSE_URL", "comment": null}, "PROMOTION_AREA": {"type": "TEXT", "index": 13, "name": "PROMOTION_AREA", "comment": null}, "REASON": {"type": "TEXT", "index": 14, "name": "REASON", "comment": null}, "ROLE": {"type": "TEXT", "index": 15, "name": "ROLE", "comment": null}, "STATUS": {"type": "TEXT", "index": 16, "name": "STATUS", "comment": null}, "TELEPHONE": {"type": "TEXT", "index": 17, "name": "TELEPHONE", "comment": null}, "TIMEZONE": {"type": "TEXT", "index": 18, "name": "TIMEZONE", "comment": null}, "BALANCE": {"type": "FLOAT", "index": 19, "name": "BALANCE", "comment": null}, "CREATE_TIME": {"type": "TIMESTAMP_TZ", "index": 20, "name": "CREATE_TIME", "comment": null}, "LANGUAGE": {"type": "TEXT", "index": 21, "name": "LANGUAGE", "comment": null}, "PHONE_NUMBER": {"type": "TEXT", "index": 22, "name": "PHONE_NUMBER", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 23, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__advertiser_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_GROUP_HISTORY", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_GROUP_ID": {"type": "NUMBER", "index": 1, "name": "AD_GROUP_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 4, "name": "CAMPAIGN_ID", "comment": null}, "ACTION_DAYS": {"type": "NUMBER", "index": 5, "name": "ACTION_DAYS", "comment": null}, "ACTION_CATEGORIES": {"type": "VARIANT", "index": 6, "name": "ACTION_CATEGORIES", "comment": null}, "AD_GROUP_NAME": {"type": "TEXT", "index": 7, "name": "AD_GROUP_NAME", "comment": null}, "AGE": {"type": "VARIANT", "index": 8, "name": "AGE", "comment": null}, "AUDIENCE_TYPE": {"type": "TEXT", "index": 9, "name": "AUDIENCE_TYPE", "comment": null}, "BUDGET": {"type": "FLOAT", "index": 10, "name": "BUDGET", "comment": null}, "CATEGORY": {"type": "NUMBER", "index": 11, "name": "CATEGORY", "comment": null}, "DISPLAY_NAME": {"type": "TEXT", "index": 12, "name": "DISPLAY_NAME", "comment": null}, "INTEREST_CATEGORY": {"type": "VARIANT", "index": 13, "name": "INTEREST_CATEGORY", "comment": null}, "FREQUENCY": {"type": "NUMBER", "index": 14, "name": "FREQUENCY", "comment": null}, "FREQUENCY_SCHEDULE": {"type": "NUMBER", "index": 15, "name": "FREQUENCY_SCHEDULE", "comment": null}, "GENDER": {"type": "TEXT", "index": 16, "name": "GENDER", "comment": null}, "LANGUAGES": {"type": "VARIANT", "index": 17, "name": "LANGUAGES", "comment": null}, "LANDING_PAGE_URL": {"type": "TEXT", "index": 18, "name": "LANDING_PAGE_URL", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 19, "name": "_FIVETRAN_SYNCED", "comment": null}, "IS_MOST_RECENT_RECORD": {"type": "BOOLEAN", "index": 20, "name": "IS_MOST_RECENT_RECORD", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 67072.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 2265.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history"}, "model.tiktok_ads_source.stg_tiktok_ads__advertiser": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__ADVERTISER", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"ADVERTISER_ID": {"type": "NUMBER", "index": 1, "name": "ADVERTISER_ID", "comment": null}, "ADDRESS": {"type": "TEXT", "index": 2, "name": "ADDRESS", "comment": null}, "BALANCE": {"type": "FLOAT", "index": 3, "name": "BALANCE", "comment": null}, "COMPANY": {"type": "TEXT", "index": 4, "name": "COMPANY", "comment": null}, "CONTACTER": {"type": "TEXT", "index": 5, "name": "CONTACTER", "comment": null}, "COUNTRY": {"type": "TEXT", "index": 6, "name": "COUNTRY", "comment": null}, "CURRENCY": {"type": "TEXT", "index": 7, "name": "CURRENCY", "comment": null}, "DESCRIPTION": {"type": "TEXT", "index": 8, "name": "DESCRIPTION", "comment": null}, "EMAIL": {"type": "TEXT", "index": 9, "name": "EMAIL", "comment": null}, "INDUSTRY": {"type": "TEXT", "index": 10, "name": "INDUSTRY", "comment": null}, "LANGUAGE": {"type": "TEXT", "index": 11, "name": "LANGUAGE", "comment": null}, "NAME": {"type": "TEXT", "index": 12, "name": "NAME", "comment": null}, "PHONE_NUMBER": {"type": "TEXT", "index": 13, "name": "PHONE_NUMBER", "comment": null}, "TELEPHONE": {"type": "TEXT", "index": 14, "name": "TELEPHONE", "comment": null}, "TIMEZONE": {"type": "TEXT", "index": 15, "name": "TIMEZONE", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 16, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 5632.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 2.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__advertiser"}, "model.tiktok_ads.tiktok_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_TIKTOK_ADS", "name": "TIKTOK_ADS__CAMPAIGN_REPORT", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"DATE_DAY": {"type": "DATE", "index": 1, "name": "DATE_DAY", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 2, "name": "CAMPAIGN_ID", "comment": null}, "CAMPAIGN_NAME": {"type": "TEXT", "index": 3, "name": "CAMPAIGN_NAME", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 4, "name": "ADVERTISER_ID", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 5, "name": "IMPRESSIONS", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 6, "name": "CLICKS", "comment": null}, "SPEND": {"type": "FLOAT", "index": 7, "name": "SPEND", "comment": null}, "REACH": {"type": "NUMBER", "index": 8, "name": "REACH", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 9, "name": "CONVERSION", "comment": null}, "LIKES": {"type": "NUMBER", "index": 10, "name": "LIKES", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 11, "name": "COMMENTS", "comment": null}, "SHARES": {"type": "NUMBER", "index": 12, "name": "SHARES", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 13, "name": "PROFILE_VISITS", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 14, "name": "FOLLOWS", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 15, "name": "VIDEO_WATCHED_2_S", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 16, "name": "VIDEO_WATCHED_6_S", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 17, "name": "VIDEO_VIEWS_P_25", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 18, "name": "VIDEO_VIEWS_P_50", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 19, "name": "VIDEO_VIEWS_P_75", "comment": null}, "DAILY_CPC": {"type": "FLOAT", "index": 20, "name": "DAILY_CPC", "comment": null}, "DAILY_CPM": {"type": "FLOAT", "index": 21, "name": "DAILY_CPM", "comment": null}, "DAILY_CTR": {"type": "NUMBER", "index": 22, "name": "DAILY_CTR", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 96256.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 639.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__campaign_report"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_GROUP_HISTORY_TMP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"ADGROUP_ID": {"type": "NUMBER", "index": 1, "name": "ADGROUP_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 4, "name": "CAMPAIGN_ID", "comment": null}, "CREATE_TIME": {"type": "TIMESTAMP_TZ", "index": 5, "name": "CREATE_TIME", "comment": null}, "ADGROUP_NAME": {"type": "TEXT", "index": 6, "name": "ADGROUP_NAME", "comment": null}, "PLACEMENT_TYPE": {"type": "TEXT", "index": 7, "name": "PLACEMENT_TYPE", "comment": null}, "PROFILE_IMAGE": {"type": "TEXT", "index": 8, "name": "PROFILE_IMAGE", "comment": null}, "LANDING_PAGE_URL": {"type": "TEXT", "index": 9, "name": "LANDING_PAGE_URL", "comment": null}, "DISPLAY_NAME": {"type": "TEXT", "index": 10, "name": "DISPLAY_NAME", "comment": null}, "APP_TYPE": {"type": "TEXT", "index": 11, "name": "APP_TYPE", "comment": null}, "APP_DOWNLOAD_URL": {"type": "TEXT", "index": 12, "name": "APP_DOWNLOAD_URL", "comment": null}, "APP_NAME": {"type": "TEXT", "index": 13, "name": "APP_NAME", "comment": null}, "EXTERNAL_ACTION": {"type": "TEXT", "index": 14, "name": "EXTERNAL_ACTION", "comment": null}, "DEEP_EXTERNAL_ACTION": {"type": "TEXT", "index": 15, "name": "DEEP_EXTERNAL_ACTION", "comment": null}, "CREATIVE_MATERIAL_MODE": {"type": "TEXT", "index": 16, "name": "CREATIVE_MATERIAL_MODE", "comment": null}, "AUDIENCE_TYPE": {"type": "TEXT", "index": 17, "name": "AUDIENCE_TYPE", "comment": null}, "GENDER": {"type": "TEXT", "index": 18, "name": "GENDER", "comment": null}, "ANDROID_OSV": {"type": "TEXT", "index": 19, "name": "ANDROID_OSV", "comment": null}, "IOS_OSV": {"type": "TEXT", "index": 20, "name": "IOS_OSV", "comment": null}, "BUDGET_MODE": {"type": "TEXT", "index": 21, "name": "BUDGET_MODE", "comment": null}, "SCHEDULE_TYPE": {"type": "TEXT", "index": 22, "name": "SCHEDULE_TYPE", "comment": null}, "DAYPARTING": {"type": "TEXT", "index": 23, "name": "DAYPARTING", "comment": null}, "OPTIMIZE_GOAL": {"type": "TEXT", "index": 24, "name": "OPTIMIZE_GOAL", "comment": null}, "CPV_VIDEO_DURATION": {"type": "TEXT", "index": 25, "name": "CPV_VIDEO_DURATION", "comment": null}, "PACING": {"type": "TEXT", "index": 26, "name": "PACING", "comment": null}, "BILLING_EVENT": {"type": "TEXT", "index": 27, "name": "BILLING_EVENT", "comment": null}, "BID_TYPE": {"type": "TEXT", "index": 28, "name": "BID_TYPE", "comment": null}, "DEEP_BID_TYPE": {"type": "TEXT", "index": 29, "name": "DEEP_BID_TYPE", "comment": null}, "IMPRESSION_TRACKING_URL": {"type": "TEXT", "index": 30, "name": "IMPRESSION_TRACKING_URL", "comment": null}, "CLICK_TRACKING_URL": {"type": "TEXT", "index": 31, "name": "CLICK_TRACKING_URL", "comment": null}, "STATUS": {"type": "TEXT", "index": 32, "name": "STATUS", "comment": null}, "OPT_STATUS": {"type": "TEXT", "index": 33, "name": "OPT_STATUS", "comment": null}, "STATISTIC_TYPE": {"type": "TEXT", "index": 34, "name": "STATISTIC_TYPE", "comment": null}, "VIDEO_DOWNLOAD": {"type": "TEXT", "index": 35, "name": "VIDEO_DOWNLOAD", "comment": null}, "OPEN_URL": {"type": "TEXT", "index": 36, "name": "OPEN_URL", "comment": null}, "OPEN_URL_TYPE": {"type": "TEXT", "index": 37, "name": "OPEN_URL_TYPE", "comment": null}, "FALLBACK_TYPE": {"type": "TEXT", "index": 38, "name": "FALLBACK_TYPE", "comment": null}, "BUDGET": {"type": "FLOAT", "index": 39, "name": "BUDGET", "comment": null}, "BID": {"type": "FLOAT", "index": 40, "name": "BID", "comment": null}, "CONVERSION_BID": {"type": "FLOAT", "index": 41, "name": "CONVERSION_BID", "comment": null}, "DEEP_CPABID": {"type": "FLOAT", "index": 42, "name": "DEEP_CPABID", "comment": null}, "SCHEDULE_START_TIME": {"type": "TIMESTAMP_TZ", "index": 43, "name": "SCHEDULE_START_TIME", "comment": null}, "SCHEDULE_END_TIME": {"type": "TIMESTAMP_TZ", "index": 44, "name": "SCHEDULE_END_TIME", "comment": null}, "APP_ID": {"type": "NUMBER", "index": 45, "name": "APP_ID", "comment": null}, "PIXEL_ID": {"type": "NUMBER", "index": 46, "name": "PIXEL_ID", "comment": null}, "ENABLE_INVENTORY_FILTER": {"type": "BOOLEAN", "index": 47, "name": "ENABLE_INVENTORY_FILTER", "comment": null}, "IS_HFSS": {"type": "BOOLEAN", "index": 48, "name": "IS_HFSS", "comment": null}, "IS_NEW_STRUCTURE": {"type": "BOOLEAN", "index": 49, "name": "IS_NEW_STRUCTURE", "comment": null}, "CATEGORY": {"type": "NUMBER", "index": 50, "name": "CATEGORY", "comment": null}, "IS_COMMENT_DISABLE": {"type": "NUMBER", "index": 51, "name": "IS_COMMENT_DISABLE", "comment": null}, "SKIP_LEARNING_PHASE": {"type": "NUMBER", "index": 52, "name": "SKIP_LEARNING_PHASE", "comment": null}, "FREQUENCY": {"type": "NUMBER", "index": 53, "name": "FREQUENCY", "comment": null}, "FREQUENCY_SCHEDULE": {"type": "NUMBER", "index": 54, "name": "FREQUENCY_SCHEDULE", "comment": null}, "ACTION_DAYS": {"type": "NUMBER", "index": 55, "name": "ACTION_DAYS", "comment": null}, "AUDIENCE": {"type": "VARIANT", "index": 56, "name": "AUDIENCE", "comment": null}, "EXCLUDED_AUDIENCE": {"type": "VARIANT", "index": 57, "name": "EXCLUDED_AUDIENCE", "comment": null}, "LOCATION": {"type": "VARIANT", "index": 58, "name": "LOCATION", "comment": null}, "INTEREST_CATEGORY_V_2": {"type": "VARIANT", "index": 59, "name": "INTEREST_CATEGORY_V_2", "comment": null}, "PANGLE_BLOCK_APP_LIST_ID": {"type": "VARIANT", "index": 60, "name": "PANGLE_BLOCK_APP_LIST_ID", "comment": null}, "ACTION_CATEGORIES": {"type": "VARIANT", "index": 61, "name": "ACTION_CATEGORIES", "comment": null}, "PLACEMENT": {"type": "VARIANT", "index": 62, "name": "PLACEMENT", "comment": null}, "KEYWORDS": {"type": "VARIANT", "index": 63, "name": "KEYWORDS", "comment": null}, "AGE": {"type": "VARIANT", "index": 64, "name": "AGE", "comment": null}, "LANGUAGES": {"type": "VARIANT", "index": 65, "name": "LANGUAGES", "comment": null}, "OPERATION_SYSTEM": {"type": "VARIANT", "index": 66, "name": "OPERATION_SYSTEM", "comment": null}, "CONNECTION_TYPE": {"type": "VARIANT", "index": 67, "name": "CONNECTION_TYPE", "comment": null}, "CARRIERS": {"type": "VARIANT", "index": 68, "name": "CARRIERS", "comment": null}, "VIDEO_ACTIONS": {"type": "VARIANT", "index": 69, "name": "VIDEO_ACTIONS", "comment": null}, "PACKAGE": {"type": "TEXT", "index": 70, "name": "PACKAGE", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 71, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_history": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_HISTORY", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_ID": {"type": "NUMBER", "index": 1, "name": "AD_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "AD_GROUP_ID": {"type": "NUMBER", "index": 3, "name": "AD_GROUP_ID", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 4, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 5, "name": "CAMPAIGN_ID", "comment": null}, "AD_NAME": {"type": "TEXT", "index": 6, "name": "AD_NAME", "comment": null}, "AD_TEXT": {"type": "TEXT", "index": 7, "name": "AD_TEXT", "comment": null}, "CALL_TO_ACTION": {"type": "TEXT", "index": 8, "name": "CALL_TO_ACTION", "comment": null}, "CLICK_TRACKING_URL": {"type": "TEXT", "index": 9, "name": "CLICK_TRACKING_URL", "comment": null}, "IMPRESSION_TRACKING_URL": {"type": "TEXT", "index": 10, "name": "IMPRESSION_TRACKING_URL", "comment": null}, "BASE_URL": {"type": "TEXT", "index": 11, "name": "BASE_URL", "comment": null}, "URL_HOST": {"type": "TEXT", "index": 12, "name": "URL_HOST", "comment": null}, "URL_PATH": {"type": "TEXT", "index": 13, "name": "URL_PATH", "comment": null}, "UTM_SOURCE": {"type": "TEXT", "index": 14, "name": "UTM_SOURCE", "comment": null}, "UTM_MEDIUM": {"type": "TEXT", "index": 15, "name": "UTM_MEDIUM", "comment": null}, "UTM_CAMPAIGN": {"type": "TEXT", "index": 16, "name": "UTM_CAMPAIGN", "comment": null}, "UTM_CONTENT": {"type": "TEXT", "index": 17, "name": "UTM_CONTENT", "comment": null}, "UTM_TERM": {"type": "TEXT", "index": 18, "name": "UTM_TERM", "comment": null}, "LANDING_PAGE_URL": {"type": "TEXT", "index": 19, "name": "LANDING_PAGE_URL", "comment": null}, "VIDEO_ID": {"type": "TEXT", "index": 20, "name": "VIDEO_ID", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 21, "name": "_FIVETRAN_SYNCED", "comment": null}, "IS_MOST_RECENT_RECORD": {"type": "BOOLEAN", "index": 22, "name": "IS_MOST_RECENT_RECORD", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 923648.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 24809.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_history"}, "model.tiktok_ads.tiktok_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_TIKTOK_ADS", "name": "TIKTOK_ADS__AD_GROUP_REPORT", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"DATE_DAY": {"type": "DATE", "index": 1, "name": "DATE_DAY", "comment": null}, "AD_GROUP_ID": {"type": "NUMBER", "index": 2, "name": "AD_GROUP_ID", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 4, "name": "CAMPAIGN_ID", "comment": null}, "CAMPAIGN_NAME": {"type": "TEXT", "index": 5, "name": "CAMPAIGN_NAME", "comment": null}, "ACTION_CATEGORIES": {"type": "VARIANT", "index": 6, "name": "ACTION_CATEGORIES", "comment": null}, "GENDER": {"type": "TEXT", "index": 7, "name": "GENDER", "comment": null}, "AUDIENCE_TYPE": {"type": "TEXT", "index": 8, "name": "AUDIENCE_TYPE", "comment": null}, "BUDGET": {"type": "FLOAT", "index": 9, "name": "BUDGET", "comment": null}, "AGE": {"type": "VARIANT", "index": 10, "name": "AGE", "comment": null}, "LANGUAGES": {"type": "VARIANT", "index": 11, "name": "LANGUAGES", "comment": null}, "INTEREST_CATEGORY": {"type": "VARIANT", "index": 12, "name": "INTEREST_CATEGORY", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 13, "name": "IMPRESSIONS", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 14, "name": "CLICKS", "comment": null}, "SPEND": {"type": "FLOAT", "index": 15, "name": "SPEND", "comment": null}, "REACH": {"type": "NUMBER", "index": 16, "name": "REACH", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 17, "name": "CONVERSION", "comment": null}, "LIKES": {"type": "NUMBER", "index": 18, "name": "LIKES", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 19, "name": "COMMENTS", "comment": null}, "SHARES": {"type": "NUMBER", "index": 20, "name": "SHARES", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 21, "name": "PROFILE_VISITS", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 22, "name": "FOLLOWS", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 23, "name": "VIDEO_WATCHED_2_S", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 24, "name": "VIDEO_WATCHED_6_S", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 25, "name": "VIDEO_VIEWS_P_25", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 26, "name": "VIDEO_VIEWS_P_50", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 27, "name": "VIDEO_VIEWS_P_75", "comment": null}, "DAILY_CPC": {"type": "FLOAT", "index": 28, "name": "DAILY_CPC", "comment": null}, "DAILY_CPM": {"type": "FLOAT", "index": 29, "name": "DAILY_CPM", "comment": null}, "DAILY_CTR": {"type": "NUMBER", "index": 30, "name": "DAILY_CTR", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 192512.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 1234.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__ad_group_report"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly_tmp": {"metadata": {"type": "VIEW", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_GROUP_REPORT_HOURLY_TMP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"ADGROUP_ID": {"type": "NUMBER", "index": 1, "name": "ADGROUP_ID", "comment": null}, "STAT_TIME_HOUR": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "STAT_TIME_HOUR", "comment": null}, "COST_PER_CONVERSION": {"type": "FLOAT", "index": 3, "name": "COST_PER_CONVERSION", "comment": null}, "REAL_TIME_CONVERSION": {"type": "NUMBER", "index": 4, "name": "REAL_TIME_CONVERSION", "comment": null}, "CPC": {"type": "FLOAT", "index": 5, "name": "CPC", "comment": null}, "VIDEO_PLAY_ACTIONS": {"type": "NUMBER", "index": 6, "name": "VIDEO_PLAY_ACTIONS", "comment": null}, "CONVERSION_RATE": {"type": "FLOAT", "index": 7, "name": "CONVERSION_RATE", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 8, "name": "VIDEO_VIEWS_P_75", "comment": null}, "RESULT": {"type": "NUMBER", "index": 9, "name": "RESULT", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 10, "name": "VIDEO_VIEWS_P_50", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 11, "name": "IMPRESSIONS", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 12, "name": "COMMENTS", "comment": null}, "REAL_TIME_COST_PER_RESULT": {"type": "FLOAT", "index": 13, "name": "REAL_TIME_COST_PER_RESULT", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 14, "name": "CONVERSION", "comment": null}, "REAL_TIME_RESULT": {"type": "NUMBER", "index": 15, "name": "REAL_TIME_RESULT", "comment": null}, "VIDEO_VIEWS_P_100": {"type": "NUMBER", "index": 16, "name": "VIDEO_VIEWS_P_100", "comment": null}, "SHARES": {"type": "NUMBER", "index": 17, "name": "SHARES", "comment": null}, "REAL_TIME_CONVERSION_RATE": {"type": "FLOAT", "index": 18, "name": "REAL_TIME_CONVERSION_RATE", "comment": null}, "COST_PER_SECONDARY_GOAL_RESULT": {"type": "TEXT", "index": 19, "name": "COST_PER_SECONDARY_GOAL_RESULT", "comment": null}, "SECONDARY_GOAL_RESULT_RATE": {"type": "TEXT", "index": 20, "name": "SECONDARY_GOAL_RESULT_RATE", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 21, "name": "CLICKS", "comment": null}, "COST_PER_1000_REACHED": {"type": "FLOAT", "index": 22, "name": "COST_PER_1000_REACHED", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 23, "name": "VIDEO_VIEWS_P_25", "comment": null}, "REACH": {"type": "NUMBER", "index": 24, "name": "REACH", "comment": null}, "REAL_TIME_COST_PER_CONVERSION": {"type": "FLOAT", "index": 25, "name": "REAL_TIME_COST_PER_CONVERSION", "comment": null}, "PROFILE_VISITS_RATE": {"type": "FLOAT", "index": 26, "name": "PROFILE_VISITS_RATE", "comment": null}, "AVERAGE_VIDEO_PLAY": {"type": "FLOAT", "index": 27, "name": "AVERAGE_VIDEO_PLAY", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 28, "name": "PROFILE_VISITS", "comment": null}, "CPM": {"type": "FLOAT", "index": 29, "name": "CPM", "comment": null}, "CTR": {"type": "FLOAT", "index": 30, "name": "CTR", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 31, "name": "VIDEO_WATCHED_2_S", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 32, "name": "FOLLOWS", "comment": null}, "RESULT_RATE": {"type": "FLOAT", "index": 33, "name": "RESULT_RATE", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 34, "name": "VIDEO_WATCHED_6_S", "comment": null}, "SECONDARY_GOAL_RESULT": {"type": "TEXT", "index": 35, "name": "SECONDARY_GOAL_RESULT", "comment": null}, "COST_PER_RESULT": {"type": "FLOAT", "index": 36, "name": "COST_PER_RESULT", "comment": null}, "AVERAGE_VIDEO_PLAY_PER_USER": {"type": "FLOAT", "index": 37, "name": "AVERAGE_VIDEO_PLAY_PER_USER", "comment": null}, "REAL_TIME_RESULT_RATE": {"type": "FLOAT", "index": 38, "name": "REAL_TIME_RESULT_RATE", "comment": null}, "SPEND": {"type": "FLOAT", "index": 39, "name": "SPEND", "comment": null}, "LIKES": {"type": "NUMBER", "index": 40, "name": "LIKES", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 41, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_GROUP_REPORT_HOURLY", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_GROUP_ID": {"type": "NUMBER", "index": 1, "name": "AD_GROUP_ID", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 2, "name": "_FIVETRAN_SYNCED", "comment": null}, "STAT_TIME_HOUR": {"type": "TIMESTAMP_NTZ", "index": 3, "name": "STAT_TIME_HOUR", "comment": null}, "CPC": {"type": "FLOAT", "index": 4, "name": "CPC", "comment": null}, "CPM": {"type": "FLOAT", "index": 5, "name": "CPM", "comment": null}, "CTR": {"type": "FLOAT", "index": 6, "name": "CTR", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 7, "name": "IMPRESSIONS", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 8, "name": "CLICKS", "comment": null}, "SPEND": {"type": "FLOAT", "index": 9, "name": "SPEND", "comment": null}, "REACH": {"type": "NUMBER", "index": 10, "name": "REACH", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 11, "name": "CONVERSION", "comment": null}, "COST_PER_CONVERSION": {"type": "FLOAT", "index": 12, "name": "COST_PER_CONVERSION", "comment": null}, "CONVERSION_RATE": {"type": "FLOAT", "index": 13, "name": "CONVERSION_RATE", "comment": null}, "LIKES": {"type": "NUMBER", "index": 14, "name": "LIKES", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 15, "name": "COMMENTS", "comment": null}, "SHARES": {"type": "NUMBER", "index": 16, "name": "SHARES", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 17, "name": "PROFILE_VISITS", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 18, "name": "FOLLOWS", "comment": null}, "VIDEO_PLAY_ACTIONS": {"type": "NUMBER", "index": 19, "name": "VIDEO_PLAY_ACTIONS", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 20, "name": "VIDEO_WATCHED_2_S", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 21, "name": "VIDEO_WATCHED_6_S", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 22, "name": "VIDEO_VIEWS_P_25", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 23, "name": "VIDEO_VIEWS_P_50", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 24, "name": "VIDEO_VIEWS_P_75", "comment": null}, "AVERAGE_VIDEO_PLAY": {"type": "FLOAT", "index": 25, "name": "AVERAGE_VIDEO_PLAY", "comment": null}, "AVERAGE_VIDEO_PLAY_PER_USER": {"type": "FLOAT", "index": 26, "name": "AVERAGE_VIDEO_PLAY_PER_USER", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 1437184.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 33949.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_REPORT_HOURLY", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_ID": {"type": "NUMBER", "index": 1, "name": "AD_ID", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 2, "name": "_FIVETRAN_SYNCED", "comment": null}, "STAT_TIME_HOUR": {"type": "TIMESTAMP_NTZ", "index": 3, "name": "STAT_TIME_HOUR", "comment": null}, "CPC": {"type": "FLOAT", "index": 4, "name": "CPC", "comment": null}, "CPM": {"type": "FLOAT", "index": 5, "name": "CPM", "comment": null}, "CTR": {"type": "FLOAT", "index": 6, "name": "CTR", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 7, "name": "IMPRESSIONS", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 8, "name": "CLICKS", "comment": null}, "SPEND": {"type": "FLOAT", "index": 9, "name": "SPEND", "comment": null}, "REACH": {"type": "NUMBER", "index": 10, "name": "REACH", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 11, "name": "CONVERSION", "comment": null}, "COST_PER_CONVERSION": {"type": "FLOAT", "index": 12, "name": "COST_PER_CONVERSION", "comment": null}, "CONVERSION_RATE": {"type": "FLOAT", "index": 13, "name": "CONVERSION_RATE", "comment": null}, "LIKES": {"type": "NUMBER", "index": 14, "name": "LIKES", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 15, "name": "COMMENTS", "comment": null}, "SHARES": {"type": "NUMBER", "index": 16, "name": "SHARES", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 17, "name": "PROFILE_VISITS", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 18, "name": "FOLLOWS", "comment": null}, "VIDEO_PLAY_ACTIONS": {"type": "NUMBER", "index": 19, "name": "VIDEO_PLAY_ACTIONS", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 20, "name": "VIDEO_WATCHED_2_S", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 21, "name": "VIDEO_WATCHED_6_S", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 22, "name": "VIDEO_VIEWS_P_25", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 23, "name": "VIDEO_VIEWS_P_50", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 24, "name": "VIDEO_VIEWS_P_75", "comment": null}, "AVERAGE_VIDEO_PLAY": {"type": "FLOAT", "index": 25, "name": "AVERAGE_VIDEO_PLAY", "comment": null}, "AVERAGE_VIDEO_PLAY_PER_USER": {"type": "FLOAT", "index": 26, "name": "AVERAGE_VIDEO_PLAY_PER_USER", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 11987456.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 326781.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_history_tmp": {"metadata": {"type": "VIEW", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_HISTORY_TMP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_ID": {"type": "NUMBER", "index": 1, "name": "AD_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "ADGROUP_ID": {"type": "NUMBER", "index": 4, "name": "ADGROUP_ID", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 5, "name": "CAMPAIGN_ID", "comment": null}, "CREATE_TIME": {"type": "TIMESTAMP_TZ", "index": 6, "name": "CREATE_TIME", "comment": null}, "AD_NAME": {"type": "TEXT", "index": 7, "name": "AD_NAME", "comment": null}, "CALL_TO_ACTION": {"type": "TEXT", "index": 8, "name": "CALL_TO_ACTION", "comment": null}, "STATUS": {"type": "TEXT", "index": 9, "name": "STATUS", "comment": null}, "OPT_STATUS": {"type": "TEXT", "index": 10, "name": "OPT_STATUS", "comment": null}, "AD_TEXT": {"type": "TEXT", "index": 11, "name": "AD_TEXT", "comment": null}, "VIDEO_ID": {"type": "TEXT", "index": 12, "name": "VIDEO_ID", "comment": null}, "APP_NAME": {"type": "TEXT", "index": 13, "name": "APP_NAME", "comment": null}, "OPEN_URL": {"type": "TEXT", "index": 14, "name": "OPEN_URL", "comment": null}, "LANDING_PAGE_URL": {"type": "TEXT", "index": 15, "name": "LANDING_PAGE_URL", "comment": null}, "DISPLAY_NAME": {"type": "TEXT", "index": 16, "name": "DISPLAY_NAME", "comment": null}, "PROFILE_IMAGE": {"type": "TEXT", "index": 17, "name": "PROFILE_IMAGE", "comment": null}, "IMPRESSION_TRACKING_URL": {"type": "TEXT", "index": 18, "name": "IMPRESSION_TRACKING_URL", "comment": null}, "CLICK_TRACKING_URL": {"type": "TEXT", "index": 19, "name": "CLICK_TRACKING_URL", "comment": null}, "PLAYABLE_URL": {"type": "TEXT", "index": 20, "name": "PLAYABLE_URL", "comment": null}, "IS_ACO": {"type": "BOOLEAN", "index": 21, "name": "IS_ACO", "comment": null}, "IS_CREATIVE_AUTHORIZED": {"type": "BOOLEAN", "index": 22, "name": "IS_CREATIVE_AUTHORIZED", "comment": null}, "IS_NEW_STRUCTURE": {"type": "BOOLEAN", "index": 23, "name": "IS_NEW_STRUCTURE", "comment": null}, "IMAGE_IDS": {"type": "VARIANT", "index": 24, "name": "IMAGE_IDS", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 25, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_history_tmp"}, "model.tiktok_ads.int_tiktok_ads__most_recent_ad": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_TIKTOK_ADS", "name": "INT_TIKTOK_ADS__MOST_RECENT_AD", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_ID": {"type": "NUMBER", "index": 1, "name": "AD_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "AD_GROUP_ID": {"type": "NUMBER", "index": 3, "name": "AD_GROUP_ID", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 4, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 5, "name": "CAMPAIGN_ID", "comment": null}, "AD_NAME": {"type": "TEXT", "index": 6, "name": "AD_NAME", "comment": null}, "AD_TEXT": {"type": "TEXT", "index": 7, "name": "AD_TEXT", "comment": null}, "CALL_TO_ACTION": {"type": "TEXT", "index": 8, "name": "CALL_TO_ACTION", "comment": null}, "CLICK_TRACKING_URL": {"type": "TEXT", "index": 9, "name": "CLICK_TRACKING_URL", "comment": null}, "IMPRESSION_TRACKING_URL": {"type": "TEXT", "index": 10, "name": "IMPRESSION_TRACKING_URL", "comment": null}, "BASE_URL": {"type": "TEXT", "index": 11, "name": "BASE_URL", "comment": null}, "URL_HOST": {"type": "TEXT", "index": 12, "name": "URL_HOST", "comment": null}, "URL_PATH": {"type": "TEXT", "index": 13, "name": "URL_PATH", "comment": null}, "UTM_SOURCE": {"type": "TEXT", "index": 14, "name": "UTM_SOURCE", "comment": null}, "UTM_MEDIUM": {"type": "TEXT", "index": 15, "name": "UTM_MEDIUM", "comment": null}, "UTM_CAMPAIGN": {"type": "TEXT", "index": 16, "name": "UTM_CAMPAIGN", "comment": null}, "UTM_CONTENT": {"type": "TEXT", "index": 17, "name": "UTM_CONTENT", "comment": null}, "UTM_TERM": {"type": "TEXT", "index": 18, "name": "UTM_TERM", "comment": null}, "LANDING_PAGE_URL": {"type": "TEXT", "index": 19, "name": "LANDING_PAGE_URL", "comment": null}, "VIDEO_ID": {"type": "TEXT", "index": 20, "name": "VIDEO_ID", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 21, "name": "_FIVETRAN_SYNCED", "comment": null}, "IS_MOST_RECENT_RECORD": {"type": "BOOLEAN", "index": 22, "name": "IS_MOST_RECENT_RECORD", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 191488.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 3443.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-13 23:08UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.int_tiktok_ads__most_recent_ad"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly_tmp": {"metadata": {"type": "VIEW", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__CAMPAIGN_REPORT_HOURLY_TMP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"CAMPAIGN_ID": {"type": "NUMBER", "index": 1, "name": "CAMPAIGN_ID", "comment": null}, "STAT_TIME_HOUR": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "STAT_TIME_HOUR", "comment": null}, "COST_PER_CONVERSION": {"type": "FLOAT", "index": 3, "name": "COST_PER_CONVERSION", "comment": null}, "REAL_TIME_CONVERSION": {"type": "NUMBER", "index": 4, "name": "REAL_TIME_CONVERSION", "comment": null}, "CPC": {"type": "FLOAT", "index": 5, "name": "CPC", "comment": null}, "VIDEO_PLAY_ACTIONS": {"type": "NUMBER", "index": 6, "name": "VIDEO_PLAY_ACTIONS", "comment": null}, "CONVERSION_RATE": {"type": "FLOAT", "index": 7, "name": "CONVERSION_RATE", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 8, "name": "VIDEO_VIEWS_P_75", "comment": null}, "RESULT": {"type": "NUMBER", "index": 9, "name": "RESULT", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 10, "name": "VIDEO_VIEWS_P_50", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 11, "name": "IMPRESSIONS", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 12, "name": "COMMENTS", "comment": null}, "REAL_TIME_COST_PER_RESULT": {"type": "FLOAT", "index": 13, "name": "REAL_TIME_COST_PER_RESULT", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 14, "name": "CONVERSION", "comment": null}, "REAL_TIME_RESULT": {"type": "NUMBER", "index": 15, "name": "REAL_TIME_RESULT", "comment": null}, "VIDEO_VIEWS_P_100": {"type": "NUMBER", "index": 16, "name": "VIDEO_VIEWS_P_100", "comment": null}, "SHARES": {"type": "NUMBER", "index": 17, "name": "SHARES", "comment": null}, "REAL_TIME_CONVERSION_RATE": {"type": "FLOAT", "index": 18, "name": "REAL_TIME_CONVERSION_RATE", "comment": null}, "COST_PER_SECONDARY_GOAL_RESULT": {"type": "TEXT", "index": 19, "name": "COST_PER_SECONDARY_GOAL_RESULT", "comment": null}, "SECONDARY_GOAL_RESULT_RATE": {"type": "TEXT", "index": 20, "name": "SECONDARY_GOAL_RESULT_RATE", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 21, "name": "CLICKS", "comment": null}, "COST_PER_1000_REACHED": {"type": "FLOAT", "index": 22, "name": "COST_PER_1000_REACHED", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 23, "name": "VIDEO_VIEWS_P_25", "comment": null}, "REACH": {"type": "NUMBER", "index": 24, "name": "REACH", "comment": null}, "REAL_TIME_COST_PER_CONVERSION": {"type": "FLOAT", "index": 25, "name": "REAL_TIME_COST_PER_CONVERSION", "comment": null}, "PROFILE_VISITS_RATE": {"type": "FLOAT", "index": 26, "name": "PROFILE_VISITS_RATE", "comment": null}, "AVERAGE_VIDEO_PLAY": {"type": "FLOAT", "index": 27, "name": "AVERAGE_VIDEO_PLAY", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 28, "name": "PROFILE_VISITS", "comment": null}, "CPM": {"type": "FLOAT", "index": 29, "name": "CPM", "comment": null}, "CTR": {"type": "FLOAT", "index": 30, "name": "CTR", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 31, "name": "VIDEO_WATCHED_2_S", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 32, "name": "FOLLOWS", "comment": null}, "RESULT_RATE": {"type": "FLOAT", "index": 33, "name": "RESULT_RATE", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 34, "name": "VIDEO_WATCHED_6_S", "comment": null}, "SECONDARY_GOAL_RESULT": {"type": "TEXT", "index": 35, "name": "SECONDARY_GOAL_RESULT", "comment": null}, "COST_PER_RESULT": {"type": "FLOAT", "index": 36, "name": "COST_PER_RESULT", "comment": null}, "AVERAGE_VIDEO_PLAY_PER_USER": {"type": "FLOAT", "index": 37, "name": "AVERAGE_VIDEO_PLAY_PER_USER", "comment": null}, "REAL_TIME_RESULT_RATE": {"type": "FLOAT", "index": 38, "name": "REAL_TIME_RESULT_RATE", "comment": null}, "SPEND": {"type": "FLOAT", "index": 39, "name": "SPEND", "comment": null}, "LIKES": {"type": "NUMBER", "index": 40, "name": "LIKES", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 41, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__CAMPAIGN_REPORT_HOURLY", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"CAMPAIGN_ID": {"type": "NUMBER", "index": 1, "name": "CAMPAIGN_ID", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 2, "name": "_FIVETRAN_SYNCED", "comment": null}, "STAT_TIME_HOUR": {"type": "TIMESTAMP_NTZ", "index": 3, "name": "STAT_TIME_HOUR", "comment": null}, "CPC": {"type": "FLOAT", "index": 4, "name": "CPC", "comment": null}, "CPM": {"type": "FLOAT", "index": 5, "name": "CPM", "comment": null}, "CTR": {"type": "FLOAT", "index": 6, "name": "CTR", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 7, "name": "IMPRESSIONS", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 8, "name": "CLICKS", "comment": null}, "SPEND": {"type": "FLOAT", "index": 9, "name": "SPEND", "comment": null}, "REACH": {"type": "NUMBER", "index": 10, "name": "REACH", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 11, "name": "CONVERSION", "comment": null}, "COST_PER_CONVERSION": {"type": "FLOAT", "index": 12, "name": "COST_PER_CONVERSION", "comment": null}, "CONVERSION_RATE": {"type": "FLOAT", "index": 13, "name": "CONVERSION_RATE", "comment": null}, "LIKES": {"type": "NUMBER", "index": 14, "name": "LIKES", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 15, "name": "COMMENTS", "comment": null}, "SHARES": {"type": "NUMBER", "index": 16, "name": "SHARES", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 17, "name": "PROFILE_VISITS", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 18, "name": "FOLLOWS", "comment": null}, "VIDEO_PLAY_ACTIONS": {"type": "NUMBER", "index": 19, "name": "VIDEO_PLAY_ACTIONS", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 20, "name": "VIDEO_WATCHED_2_S", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 21, "name": "VIDEO_WATCHED_6_S", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 22, "name": "VIDEO_VIEWS_P_25", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 23, "name": "VIDEO_VIEWS_P_50", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 24, "name": "VIDEO_VIEWS_P_75", "comment": null}, "AVERAGE_VIDEO_PLAY": {"type": "FLOAT", "index": 25, "name": "AVERAGE_VIDEO_PLAY", "comment": null}, "AVERAGE_VIDEO_PLAY_PER_USER": {"type": "FLOAT", "index": 26, "name": "AVERAGE_VIDEO_PLAY_PER_USER", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 735744.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 14302.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-17 21:46UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly_tmp": {"metadata": {"type": "VIEW", "schema": "DBT_TIKTOK_ADS_STG_TIKTOK_ADS", "name": "STG_TIKTOK_ADS__AD_REPORT_HOURLY_TMP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_ID": {"type": "NUMBER", "index": 1, "name": "AD_ID", "comment": null}, "STAT_TIME_HOUR": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "STAT_TIME_HOUR", "comment": null}, "COST_PER_CONVERSION": {"type": "FLOAT", "index": 3, "name": "COST_PER_CONVERSION", "comment": null}, "REAL_TIME_CONVERSION": {"type": "NUMBER", "index": 4, "name": "REAL_TIME_CONVERSION", "comment": null}, "CPC": {"type": "FLOAT", "index": 5, "name": "CPC", "comment": null}, "VIDEO_PLAY_ACTIONS": {"type": "NUMBER", "index": 6, "name": "VIDEO_PLAY_ACTIONS", "comment": null}, "CONVERSION_RATE": {"type": "FLOAT", "index": 7, "name": "CONVERSION_RATE", "comment": null}, "VIDEO_VIEWS_P_75": {"type": "NUMBER", "index": 8, "name": "VIDEO_VIEWS_P_75", "comment": null}, "RESULT": {"type": "NUMBER", "index": 9, "name": "RESULT", "comment": null}, "VIDEO_VIEWS_P_50": {"type": "NUMBER", "index": 10, "name": "VIDEO_VIEWS_P_50", "comment": null}, "IMPRESSIONS": {"type": "NUMBER", "index": 11, "name": "IMPRESSIONS", "comment": null}, "COMMENTS": {"type": "NUMBER", "index": 12, "name": "COMMENTS", "comment": null}, "REAL_TIME_COST_PER_RESULT": {"type": "FLOAT", "index": 13, "name": "REAL_TIME_COST_PER_RESULT", "comment": null}, "CONVERSION": {"type": "NUMBER", "index": 14, "name": "CONVERSION", "comment": null}, "REAL_TIME_RESULT": {"type": "NUMBER", "index": 15, "name": "REAL_TIME_RESULT", "comment": null}, "VIDEO_VIEWS_P_100": {"type": "NUMBER", "index": 16, "name": "VIDEO_VIEWS_P_100", "comment": null}, "SHARES": {"type": "NUMBER", "index": 17, "name": "SHARES", "comment": null}, "REAL_TIME_CONVERSION_RATE": {"type": "FLOAT", "index": 18, "name": "REAL_TIME_CONVERSION_RATE", "comment": null}, "COST_PER_SECONDARY_GOAL_RESULT": {"type": "TEXT", "index": 19, "name": "COST_PER_SECONDARY_GOAL_RESULT", "comment": null}, "SECONDARY_GOAL_RESULT_RATE": {"type": "TEXT", "index": 20, "name": "SECONDARY_GOAL_RESULT_RATE", "comment": null}, "CLICKS": {"type": "NUMBER", "index": 21, "name": "CLICKS", "comment": null}, "COST_PER_1000_REACHED": {"type": "FLOAT", "index": 22, "name": "COST_PER_1000_REACHED", "comment": null}, "VIDEO_VIEWS_P_25": {"type": "NUMBER", "index": 23, "name": "VIDEO_VIEWS_P_25", "comment": null}, "REACH": {"type": "NUMBER", "index": 24, "name": "REACH", "comment": null}, "REAL_TIME_COST_PER_CONVERSION": {"type": "FLOAT", "index": 25, "name": "REAL_TIME_COST_PER_CONVERSION", "comment": null}, "PROFILE_VISITS_RATE": {"type": "FLOAT", "index": 26, "name": "PROFILE_VISITS_RATE", "comment": null}, "AVERAGE_VIDEO_PLAY": {"type": "FLOAT", "index": 27, "name": "AVERAGE_VIDEO_PLAY", "comment": null}, "PROFILE_VISITS": {"type": "NUMBER", "index": 28, "name": "PROFILE_VISITS", "comment": null}, "CPM": {"type": "FLOAT", "index": 29, "name": "CPM", "comment": null}, "CTR": {"type": "FLOAT", "index": 30, "name": "CTR", "comment": null}, "VIDEO_WATCHED_2_S": {"type": "NUMBER", "index": 31, "name": "VIDEO_WATCHED_2_S", "comment": null}, "FOLLOWS": {"type": "NUMBER", "index": 32, "name": "FOLLOWS", "comment": null}, "RESULT_RATE": {"type": "FLOAT", "index": 33, "name": "RESULT_RATE", "comment": null}, "VIDEO_WATCHED_6_S": {"type": "NUMBER", "index": 34, "name": "VIDEO_WATCHED_6_S", "comment": null}, "SECONDARY_GOAL_RESULT": {"type": "TEXT", "index": 35, "name": "SECONDARY_GOAL_RESULT", "comment": null}, "COST_PER_RESULT": {"type": "FLOAT", "index": 36, "name": "COST_PER_RESULT", "comment": null}, "AVERAGE_VIDEO_PLAY_PER_USER": {"type": "FLOAT", "index": 37, "name": "AVERAGE_VIDEO_PLAY_PER_USER", "comment": null}, "REAL_TIME_RESULT_RATE": {"type": "FLOAT", "index": 38, "name": "REAL_TIME_RESULT_RATE", "comment": null}, "SPEND": {"type": "FLOAT", "index": 39, "name": "SPEND", "comment": null}, "LIKES": {"type": "NUMBER", "index": 40, "name": "LIKES", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 41, "name": "_FIVETRAN_SYNCED", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly_tmp"}, "model.tiktok_ads.int_tiktok_ads__most_recent_ad_group": {"metadata": {"type": "BASE TABLE", "schema": "DBT_TIKTOK_ADS_TIKTOK_ADS", "name": "INT_TIKTOK_ADS__MOST_RECENT_AD_GROUP", "database": "FIVETRAN_DBT_TESTING", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"AD_GROUP_ID": {"type": "NUMBER", "index": 1, "name": "AD_GROUP_ID", "comment": null}, "UPDATED_AT": {"type": "TIMESTAMP_TZ", "index": 2, "name": "UPDATED_AT", "comment": null}, "ADVERTISER_ID": {"type": "NUMBER", "index": 3, "name": "ADVERTISER_ID", "comment": null}, "CAMPAIGN_ID": {"type": "NUMBER", "index": 4, "name": "CAMPAIGN_ID", "comment": null}, "ACTION_DAYS": {"type": "NUMBER", "index": 5, "name": "ACTION_DAYS", "comment": null}, "AD_GROUP_NAME": {"type": "TEXT", "index": 6, "name": "AD_GROUP_NAME", "comment": null}, "AUDIENCE_TYPE": {"type": "TEXT", "index": 7, "name": "AUDIENCE_TYPE", "comment": null}, "CATEGORY": {"type": "NUMBER", "index": 8, "name": "CATEGORY", "comment": null}, "DISPLAY_NAME": {"type": "TEXT", "index": 9, "name": "DISPLAY_NAME", "comment": null}, "FREQUENCY": {"type": "NUMBER", "index": 10, "name": "FREQUENCY", "comment": null}, "FREQUENCY_SCHEDULE": {"type": "NUMBER", "index": 11, "name": "FREQUENCY_SCHEDULE", "comment": null}, "GENDER": {"type": "TEXT", "index": 12, "name": "GENDER", "comment": null}, "LANDING_PAGE_URL": {"type": "TEXT", "index": 13, "name": "LANDING_PAGE_URL", "comment": null}, "VIDEO_DOWNLOAD": {"type": "TEXT", "index": 14, "name": "VIDEO_DOWNLOAD", "comment": null}, "_FIVETRAN_SYNCED": {"type": "TIMESTAMP_TZ", "index": 15, "name": "_FIVETRAN_SYNCED", "comment": null}, "IS_MOST_RECENT_RECORD": {"type": "BOOLEAN", "index": 16, "name": "IS_MOST_RECENT_RECORD", "comment": null}}, "stats": {"bytes": {"id": "bytes", "label": "Approximate Size", "value": 6656.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "row_count": {"id": "row_count", "label": "Row Count", "value": 45.0, "include": true, "description": "An approximate count of rows in this table"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2021-12-13 23:08UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.int_tiktok_ads__most_recent_ad_group"}}, "sources": {}, "errors": null}
\ No newline at end of file
+{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.4", "generated_at": "2022-08-26T20:42:55.829002Z", "invocation_id": "96ff1660-b9c8-4ca3-997c-abd8607cbc7d", "env": {}}, "nodes": {"seed.tiktok_ads_integration_tests.tiktok_ad_history_data": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "adgroup_id": {"type": "integer", "index": 4, "name": "adgroup_id", "comment": null}, "campaign_id": {"type": "integer", "index": 5, "name": "campaign_id", "comment": null}, "create_time": {"type": "text", "index": 6, "name": "create_time", "comment": null}, "ad_name": {"type": "text", "index": 7, "name": "ad_name", "comment": null}, "call_to_action": {"type": "text", "index": 8, "name": "call_to_action", "comment": null}, "status": {"type": "text", "index": 9, "name": "status", "comment": null}, "opt_status": {"type": "text", "index": 10, "name": "opt_status", "comment": null}, "ad_text": {"type": "text", "index": 11, "name": "ad_text", "comment": null}, "video_id": {"type": "text", "index": 12, "name": "video_id", "comment": null}, "app_name": {"type": "integer", "index": 13, "name": "app_name", "comment": null}, "open_url": {"type": "integer", "index": 14, "name": "open_url", "comment": null}, "landing_page_url": {"type": "text", "index": 15, "name": "landing_page_url", "comment": null}, "display_name": {"type": "text", "index": 16, "name": "display_name", "comment": null}, "profile_image": {"type": "integer", "index": 17, "name": "profile_image", "comment": null}, "impression_tracking_url": {"type": "integer", "index": 18, "name": "impression_tracking_url", "comment": null}, "click_tracking_url": {"type": "integer", "index": 19, "name": "click_tracking_url", "comment": null}, "playable_url": {"type": "integer", "index": 20, "name": "playable_url", "comment": null}, "is_aco": {"type": "boolean", "index": 21, "name": "is_aco", "comment": null}, "is_creative_authorized": {"type": "boolean", "index": 22, "name": "is_creative_authorized", "comment": null}, "is_new_structure": {"type": "boolean", "index": 23, "name": "is_new_structure", "comment": null}, "image_ids": {"type": "text", "index": 24, "name": "image_ids", "comment": null}, "_fivetran_synced": {"type": "text", "index": 25, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.tiktok_ads_integration_tests.tiktok_ad_history_data"}, "seed.tiktok_ads_integration_tests.tiktok_ad_report_hourly_data": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_ad_report_hourly_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "integer", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "integer", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "integer", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "integer", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "integer", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.tiktok_ads_integration_tests.tiktok_ad_report_hourly_data"}, "seed.tiktok_ads_integration_tests.tiktok_adgroup_history_data": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_adgroup_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"adgroup_id": {"type": "integer", "index": 1, "name": "adgroup_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "create_time": {"type": "text", "index": 5, "name": "create_time", "comment": null}, "adgroup_name": {"type": "text", "index": 6, "name": "adgroup_name", "comment": null}, "placement_type": {"type": "text", "index": 7, "name": "placement_type", "comment": null}, "profile_image": {"type": "integer", "index": 8, "name": "profile_image", "comment": null}, "landing_page_url": {"type": "integer", "index": 9, "name": "landing_page_url", "comment": null}, "display_name": {"type": "integer", "index": 10, "name": "display_name", "comment": null}, "app_type": {"type": "integer", "index": 11, "name": "app_type", "comment": null}, "app_download_url": {"type": "integer", "index": 12, "name": "app_download_url", "comment": null}, "app_name": {"type": "integer", "index": 13, "name": "app_name", "comment": null}, "external_action": {"type": "text", "index": 14, "name": "external_action", "comment": null}, "deep_external_action": {"type": "integer", "index": 15, "name": "deep_external_action", "comment": null}, "creative_material_mode": {"type": "text", "index": 16, "name": "creative_material_mode", "comment": null}, "audience_type": {"type": "integer", "index": 17, "name": "audience_type", "comment": null}, "gender": {"type": "text", "index": 18, "name": "gender", "comment": null}, "android_osv": {"type": "integer", "index": 19, "name": "android_osv", "comment": null}, "ios_osv": {"type": "integer", "index": 20, "name": "ios_osv", "comment": null}, "budget_mode": {"type": "text", "index": 21, "name": "budget_mode", "comment": null}, "schedule_type": {"type": "text", "index": 22, "name": "schedule_type", "comment": null}, "dayparting": {"type": "integer", "index": 23, "name": "dayparting", "comment": null}, "optimize_goal": {"type": "text", "index": 24, "name": "optimize_goal", "comment": null}, "cpv_video_duration": {"type": "integer", "index": 25, "name": "cpv_video_duration", "comment": null}, "pacing": {"type": "text", "index": 26, "name": "pacing", "comment": null}, "billing_event": {"type": "text", "index": 27, "name": "billing_event", "comment": null}, "bid_type": {"type": "text", "index": 28, "name": "bid_type", "comment": null}, "deep_bid_type": {"type": "integer", "index": 29, "name": "deep_bid_type", "comment": null}, "impression_tracking_url": {"type": "integer", "index": 30, "name": "impression_tracking_url", "comment": null}, "click_tracking_url": {"type": "integer", "index": 31, "name": "click_tracking_url", "comment": null}, "status": {"type": "text", "index": 32, "name": "status", "comment": null}, "opt_status": {"type": "text", "index": 33, "name": "opt_status", "comment": null}, "statistic_type": {"type": "integer", "index": 34, "name": "statistic_type", "comment": null}, "video_download": {"type": "text", "index": 35, "name": "video_download", "comment": null}, "open_url": {"type": "integer", "index": 36, "name": "open_url", "comment": null}, "open_url_type": {"type": "integer", "index": 37, "name": "open_url_type", "comment": null}, "fallback_type": {"type": "integer", "index": 38, "name": "fallback_type", "comment": null}, "budget": {"type": "integer", "index": 39, "name": "budget", "comment": null}, "bid": {"type": "integer", "index": 40, "name": "bid", "comment": null}, "conversion_bid": {"type": "integer", "index": 41, "name": "conversion_bid", "comment": null}, "deep_cpabid": {"type": "integer", "index": 42, "name": "deep_cpabid", "comment": null}, "schedule_start_time": {"type": "text", "index": 43, "name": "schedule_start_time", "comment": null}, "schedule_end_time": {"type": "text", "index": 44, "name": "schedule_end_time", "comment": null}, "app_id": {"type": "integer", "index": 45, "name": "app_id", "comment": null}, "pixel_id": {"type": "integer", "index": 46, "name": "pixel_id", "comment": null}, "enable_inventory_filter": {"type": "boolean", "index": 47, "name": "enable_inventory_filter", "comment": null}, "is_hfss": {"type": "boolean", "index": 48, "name": "is_hfss", "comment": null}, "is_new_structure": {"type": "boolean", "index": 49, "name": "is_new_structure", "comment": null}, "category": {"type": "integer", "index": 50, "name": "category", "comment": null}, "is_comment_disable": {"type": "integer", "index": 51, "name": "is_comment_disable", "comment": null}, "skip_learning_phase": {"type": "integer", "index": 52, "name": "skip_learning_phase", "comment": null}, "frequency": {"type": "integer", "index": 53, "name": "frequency", "comment": null}, "frequency_schedule": {"type": "integer", "index": 54, "name": "frequency_schedule", "comment": null}, "action_days": {"type": "integer", "index": 55, "name": "action_days", "comment": null}, "audience": {"type": "text", "index": 56, "name": "audience", "comment": null}, "excluded_audience": {"type": "text", "index": 57, "name": "excluded_audience", "comment": null}, "location": {"type": "text", "index": 58, "name": "location", "comment": null}, "interest_category_v_2": {"type": "text", "index": 59, "name": "interest_category_v_2", "comment": null}, "pangle_block_app_list_id": {"type": "text", "index": 60, "name": "pangle_block_app_list_id", "comment": null}, "action_categories": {"type": "text", "index": 61, "name": "action_categories", "comment": null}, "placement": {"type": "text", "index": 62, "name": "placement", "comment": null}, "keywords": {"type": "integer", "index": 63, "name": "keywords", "comment": null}, "age": {"type": "text", "index": 64, "name": "age", "comment": null}, "languages": {"type": "text", "index": 65, "name": "languages", "comment": null}, "operation_system": {"type": "text", "index": 66, "name": "operation_system", "comment": null}, "connection_type": {"type": "text", "index": 67, "name": "connection_type", "comment": null}, "carriers": {"type": "text", "index": 68, "name": "carriers", "comment": null}, "video_actions": {"type": "text", "index": 69, "name": "video_actions", "comment": null}, "package": {"type": "integer", "index": 70, "name": "package", "comment": null}, "_fivetran_synced": {"type": "text", "index": 71, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.tiktok_ads_integration_tests.tiktok_adgroup_history_data"}, "seed.tiktok_ads_integration_tests.tiktok_adgroup_report_hourly_data": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_adgroup_report_hourly_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"adgroup_id": {"type": "integer", "index": 1, "name": "adgroup_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "double precision", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "double precision", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "double precision", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "double precision", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.tiktok_ads_integration_tests.tiktok_adgroup_report_hourly_data"}, "seed.tiktok_ads_integration_tests.tiktok_advertiser_data": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_advertiser_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "address": {"type": "text", "index": 3, "name": "address", "comment": null}, "company": {"type": "text", "index": 4, "name": "company", "comment": null}, "contacter": {"type": "integer", "index": 5, "name": "contacter", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "currency": {"type": "text", "index": 7, "name": "currency", "comment": null}, "description": {"type": "text", "index": 8, "name": "description", "comment": null}, "email": {"type": "text", "index": 9, "name": "email", "comment": null}, "industry": {"type": "integer", "index": 10, "name": "industry", "comment": null}, "license_no": {"type": "integer", "index": 11, "name": "license_no", "comment": null}, "license_url": {"type": "integer", "index": 12, "name": "license_url", "comment": null}, "promotion_area": {"type": "integer", "index": 13, "name": "promotion_area", "comment": null}, "reason": {"type": "integer", "index": 14, "name": "reason", "comment": null}, "role": {"type": "text", "index": 15, "name": "role", "comment": null}, "status": {"type": "text", "index": 16, "name": "status", "comment": null}, "telephone": {"type": "integer", "index": 17, "name": "telephone", "comment": null}, "timezone": {"type": "text", "index": 18, "name": "timezone", "comment": null}, "balance": {"type": "double precision", "index": 19, "name": "balance", "comment": null}, "create_time": {"type": "text", "index": 20, "name": "create_time", "comment": null}, "language": {"type": "text", "index": 21, "name": "language", "comment": null}, "phone_number": {"type": "text", "index": 22, "name": "phone_number", "comment": null}, "_fivetran_synced": {"type": "text", "index": 23, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.tiktok_ads_integration_tests.tiktok_advertiser_data"}, "seed.tiktok_ads_integration_tests.tiktok_campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_name": {"type": "text", "index": 4, "name": "campaign_name", "comment": null}, "campaign_type": {"type": "text", "index": 5, "name": "campaign_type", "comment": null}, "budget": {"type": "integer", "index": 6, "name": "budget", "comment": null}, "budget_mode": {"type": "text", "index": 7, "name": "budget_mode", "comment": null}, "opt_status": {"type": "text", "index": 8, "name": "opt_status", "comment": null}, "objective_type": {"type": "text", "index": 9, "name": "objective_type", "comment": null}, "is_new_structure": {"type": "boolean", "index": 10, "name": "is_new_structure", "comment": null}, "split_test_variable": {"type": "integer", "index": 11, "name": "split_test_variable", "comment": null}, "create_time": {"type": "text", "index": 12, "name": "create_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 13, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.tiktok_ads_integration_tests.tiktok_campaign_history_data"}, "seed.tiktok_ads_integration_tests.tiktok_campaign_report_hourly_data": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_campaign_report_hourly_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "double precision", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "double precision", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "double precision", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "double precision", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.tiktok_ads_integration_tests.tiktok_campaign_report_hourly_data"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "integer", "index": 1, "name": "ad_group_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "action_days": {"type": "integer", "index": 5, "name": "action_days", "comment": null}, "action_categories": {"type": "text", "index": 6, "name": "action_categories", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "age": {"type": "text", "index": 8, "name": "age", "comment": null}, "audience_type": {"type": "integer", "index": 9, "name": "audience_type", "comment": null}, "budget": {"type": "integer", "index": 10, "name": "budget", "comment": null}, "category": {"type": "integer", "index": 11, "name": "category", "comment": null}, "display_name": {"type": "integer", "index": 12, "name": "display_name", "comment": null}, "interest_category": {"type": "text", "index": 13, "name": "interest_category", "comment": null}, "frequency": {"type": "integer", "index": 14, "name": "frequency", "comment": null}, "frequency_schedule": {"type": "integer", "index": 15, "name": "frequency_schedule", "comment": null}, "gender": {"type": "text", "index": 16, "name": "gender", "comment": null}, "languages": {"type": "text", "index": 17, "name": "languages", "comment": null}, "landing_page_url": {"type": "integer", "index": 18, "name": "landing_page_url", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 19, "name": "is_most_recent_record", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"adgroup_id": {"type": "integer", "index": 1, "name": "adgroup_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "create_time": {"type": "text", "index": 5, "name": "create_time", "comment": null}, "adgroup_name": {"type": "text", "index": 6, "name": "adgroup_name", "comment": null}, "placement_type": {"type": "text", "index": 7, "name": "placement_type", "comment": null}, "profile_image": {"type": "integer", "index": 8, "name": "profile_image", "comment": null}, "landing_page_url": {"type": "integer", "index": 9, "name": "landing_page_url", "comment": null}, "display_name": {"type": "integer", "index": 10, "name": "display_name", "comment": null}, "app_type": {"type": "integer", "index": 11, "name": "app_type", "comment": null}, "app_download_url": {"type": "integer", "index": 12, "name": "app_download_url", "comment": null}, "app_name": {"type": "integer", "index": 13, "name": "app_name", "comment": null}, "external_action": {"type": "text", "index": 14, "name": "external_action", "comment": null}, "deep_external_action": {"type": "integer", "index": 15, "name": "deep_external_action", "comment": null}, "creative_material_mode": {"type": "text", "index": 16, "name": "creative_material_mode", "comment": null}, "audience_type": {"type": "integer", "index": 17, "name": "audience_type", "comment": null}, "gender": {"type": "text", "index": 18, "name": "gender", "comment": null}, "android_osv": {"type": "integer", "index": 19, "name": "android_osv", "comment": null}, "ios_osv": {"type": "integer", "index": 20, "name": "ios_osv", "comment": null}, "budget_mode": {"type": "text", "index": 21, "name": "budget_mode", "comment": null}, "schedule_type": {"type": "text", "index": 22, "name": "schedule_type", "comment": null}, "dayparting": {"type": "integer", "index": 23, "name": "dayparting", "comment": null}, "optimize_goal": {"type": "text", "index": 24, "name": "optimize_goal", "comment": null}, "cpv_video_duration": {"type": "integer", "index": 25, "name": "cpv_video_duration", "comment": null}, "pacing": {"type": "text", "index": 26, "name": "pacing", "comment": null}, "billing_event": {"type": "text", "index": 27, "name": "billing_event", "comment": null}, "bid_type": {"type": "text", "index": 28, "name": "bid_type", "comment": null}, "deep_bid_type": {"type": "integer", "index": 29, "name": "deep_bid_type", "comment": null}, "impression_tracking_url": {"type": "integer", "index": 30, "name": "impression_tracking_url", "comment": null}, "click_tracking_url": {"type": "integer", "index": 31, "name": "click_tracking_url", "comment": null}, "status": {"type": "text", "index": 32, "name": "status", "comment": null}, "opt_status": {"type": "text", "index": 33, "name": "opt_status", "comment": null}, "statistic_type": {"type": "integer", "index": 34, "name": "statistic_type", "comment": null}, "video_download": {"type": "text", "index": 35, "name": "video_download", "comment": null}, "open_url": {"type": "integer", "index": 36, "name": "open_url", "comment": null}, "open_url_type": {"type": "integer", "index": 37, "name": "open_url_type", "comment": null}, "fallback_type": {"type": "integer", "index": 38, "name": "fallback_type", "comment": null}, "budget": {"type": "integer", "index": 39, "name": "budget", "comment": null}, "bid": {"type": "integer", "index": 40, "name": "bid", "comment": null}, "conversion_bid": {"type": "integer", "index": 41, "name": "conversion_bid", "comment": null}, "deep_cpabid": {"type": "integer", "index": 42, "name": "deep_cpabid", "comment": null}, "schedule_start_time": {"type": "text", "index": 43, "name": "schedule_start_time", "comment": null}, "schedule_end_time": {"type": "text", "index": 44, "name": "schedule_end_time", "comment": null}, "app_id": {"type": "integer", "index": 45, "name": "app_id", "comment": null}, "pixel_id": {"type": "integer", "index": 46, "name": "pixel_id", "comment": null}, "enable_inventory_filter": {"type": "boolean", "index": 47, "name": "enable_inventory_filter", "comment": null}, "is_hfss": {"type": "boolean", "index": 48, "name": "is_hfss", "comment": null}, "is_new_structure": {"type": "boolean", "index": 49, "name": "is_new_structure", "comment": null}, "category": {"type": "integer", "index": 50, "name": "category", "comment": null}, "is_comment_disable": {"type": "integer", "index": 51, "name": "is_comment_disable", "comment": null}, "skip_learning_phase": {"type": "integer", "index": 52, "name": "skip_learning_phase", "comment": null}, "frequency": {"type": "integer", "index": 53, "name": "frequency", "comment": null}, "frequency_schedule": {"type": "integer", "index": 54, "name": "frequency_schedule", "comment": null}, "action_days": {"type": "integer", "index": 55, "name": "action_days", "comment": null}, "audience": {"type": "text", "index": 56, "name": "audience", "comment": null}, "excluded_audience": {"type": "text", "index": 57, "name": "excluded_audience", "comment": null}, "location": {"type": "text", "index": 58, "name": "location", "comment": null}, "interest_category_v_2": {"type": "text", "index": 59, "name": "interest_category_v_2", "comment": null}, "pangle_block_app_list_id": {"type": "text", "index": 60, "name": "pangle_block_app_list_id", "comment": null}, "action_categories": {"type": "text", "index": 61, "name": "action_categories", "comment": null}, "placement": {"type": "text", "index": 62, "name": "placement", "comment": null}, "keywords": {"type": "integer", "index": 63, "name": "keywords", "comment": null}, "age": {"type": "text", "index": 64, "name": "age", "comment": null}, "languages": {"type": "text", "index": 65, "name": "languages", "comment": null}, "operation_system": {"type": "text", "index": 66, "name": "operation_system", "comment": null}, "connection_type": {"type": "text", "index": 67, "name": "connection_type", "comment": null}, "carriers": {"type": "text", "index": 68, "name": "carriers", "comment": null}, "video_actions": {"type": "text", "index": 69, "name": "video_actions", "comment": null}, "package": {"type": "integer", "index": 70, "name": "package", "comment": null}, "_fivetran_synced": {"type": "text", "index": 71, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_history_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_group_report_hourly", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "integer", "index": 1, "name": "ad_group_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cpc": {"type": "double precision", "index": 3, "name": "cpc", "comment": null}, "cpm": {"type": "double precision", "index": 4, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 5, "name": "ctr", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "integer", "index": 9, "name": "reach", "comment": null}, "conversion": {"type": "integer", "index": 10, "name": "conversion", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 11, "name": "cost_per_conversion", "comment": null}, "conversion_rate": {"type": "integer", "index": 12, "name": "conversion_rate", "comment": null}, "likes": {"type": "integer", "index": 13, "name": "likes", "comment": null}, "comments": {"type": "integer", "index": 14, "name": "comments", "comment": null}, "shares": {"type": "integer", "index": 15, "name": "shares", "comment": null}, "profile_visits": {"type": "integer", "index": 16, "name": "profile_visits", "comment": null}, "follows": {"type": "integer", "index": 17, "name": "follows", "comment": null}, "video_play_actions": {"type": "integer", "index": 18, "name": "video_play_actions", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 19, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 20, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "integer", "index": 21, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "integer", "index": 22, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "integer", "index": 23, "name": "video_views_p_75", "comment": null}, "average_video_play": {"type": "double precision", "index": 24, "name": "average_video_play", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 25, "name": "average_video_play_per_user", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly_tmp": {"metadata": {"type": "VIEW", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_group_report_hourly_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"adgroup_id": {"type": "integer", "index": 1, "name": "adgroup_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "double precision", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "double precision", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "double precision", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "double precision", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_group_report_hourly_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_history": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 2, "name": "updated_at", "comment": null}, "ad_group_id": {"type": "integer", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "integer", "index": 4, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "integer", "index": 5, "name": "campaign_id", "comment": null}, "ad_name": {"type": "text", "index": 6, "name": "ad_name", "comment": null}, "call_to_action": {"type": "text", "index": 7, "name": "call_to_action", "comment": null}, "click_tracking_url": {"type": "integer", "index": 8, "name": "click_tracking_url", "comment": null}, "impression_tracking_url": {"type": "integer", "index": 9, "name": "impression_tracking_url", "comment": null}, "base_url": {"type": "text", "index": 10, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 11, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 12, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 13, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 14, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 15, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 16, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 17, "name": "utm_term", "comment": null}, "landing_page_url": {"type": "text", "index": 18, "name": "landing_page_url", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 19, "name": "is_most_recent_record", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_history"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_history_tmp": {"metadata": {"type": "VIEW", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "adgroup_id": {"type": "integer", "index": 4, "name": "adgroup_id", "comment": null}, "campaign_id": {"type": "integer", "index": 5, "name": "campaign_id", "comment": null}, "create_time": {"type": "text", "index": 6, "name": "create_time", "comment": null}, "ad_name": {"type": "text", "index": 7, "name": "ad_name", "comment": null}, "call_to_action": {"type": "text", "index": 8, "name": "call_to_action", "comment": null}, "status": {"type": "text", "index": 9, "name": "status", "comment": null}, "opt_status": {"type": "text", "index": 10, "name": "opt_status", "comment": null}, "ad_text": {"type": "text", "index": 11, "name": "ad_text", "comment": null}, "video_id": {"type": "text", "index": 12, "name": "video_id", "comment": null}, "app_name": {"type": "integer", "index": 13, "name": "app_name", "comment": null}, "open_url": {"type": "integer", "index": 14, "name": "open_url", "comment": null}, "landing_page_url": {"type": "text", "index": 15, "name": "landing_page_url", "comment": null}, "display_name": {"type": "text", "index": 16, "name": "display_name", "comment": null}, "profile_image": {"type": "integer", "index": 17, "name": "profile_image", "comment": null}, "impression_tracking_url": {"type": "integer", "index": 18, "name": "impression_tracking_url", "comment": null}, "click_tracking_url": {"type": "integer", "index": 19, "name": "click_tracking_url", "comment": null}, "playable_url": {"type": "integer", "index": 20, "name": "playable_url", "comment": null}, "is_aco": {"type": "boolean", "index": 21, "name": "is_aco", "comment": null}, "is_creative_authorized": {"type": "boolean", "index": 22, "name": "is_creative_authorized", "comment": null}, "is_new_structure": {"type": "boolean", "index": 23, "name": "is_new_structure", "comment": null}, "image_ids": {"type": "text", "index": 24, "name": "image_ids", "comment": null}, "_fivetran_synced": {"type": "text", "index": 25, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_history_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_report_hourly", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cpc": {"type": "double precision", "index": 3, "name": "cpc", "comment": null}, "cpm": {"type": "double precision", "index": 4, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 5, "name": "ctr", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "integer", "index": 9, "name": "reach", "comment": null}, "conversion": {"type": "integer", "index": 10, "name": "conversion", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 11, "name": "cost_per_conversion", "comment": null}, "conversion_rate": {"type": "integer", "index": 12, "name": "conversion_rate", "comment": null}, "likes": {"type": "integer", "index": 13, "name": "likes", "comment": null}, "comments": {"type": "integer", "index": 14, "name": "comments", "comment": null}, "shares": {"type": "integer", "index": 15, "name": "shares", "comment": null}, "profile_visits": {"type": "integer", "index": 16, "name": "profile_visits", "comment": null}, "follows": {"type": "integer", "index": 17, "name": "follows", "comment": null}, "video_play_actions": {"type": "integer", "index": 18, "name": "video_play_actions", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 19, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 20, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "integer", "index": 21, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "integer", "index": 22, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "integer", "index": 23, "name": "video_views_p_75", "comment": null}, "average_video_play": {"type": "double precision", "index": 24, "name": "average_video_play", "comment": null}, "average_video_play_per_user": {"type": "integer", "index": 25, "name": "average_video_play_per_user", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly"}, "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly_tmp": {"metadata": {"type": "VIEW", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__ad_report_hourly_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "integer", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "integer", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "integer", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "integer", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "integer", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__ad_report_hourly_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__advertiser": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__advertiser", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "integer", "index": 1, "name": "advertiser_id", "comment": null}, "address": {"type": "text", "index": 2, "name": "address", "comment": null}, "balance": {"type": "double precision", "index": 3, "name": "balance", "comment": null}, "company": {"type": "text", "index": 4, "name": "company", "comment": null}, "contacter": {"type": "integer", "index": 5, "name": "contacter", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "currency": {"type": "text", "index": 7, "name": "currency", "comment": null}, "description": {"type": "text", "index": 8, "name": "description", "comment": null}, "email": {"type": "text", "index": 9, "name": "email", "comment": null}, "industry": {"type": "integer", "index": 10, "name": "industry", "comment": null}, "language": {"type": "text", "index": 11, "name": "language", "comment": null}, "advertiser_name": {"type": "text", "index": 12, "name": "advertiser_name", "comment": null}, "phone_number": {"type": "text", "index": 13, "name": "phone_number", "comment": null}, "telephone": {"type": "integer", "index": 14, "name": "telephone", "comment": null}, "timezone": {"type": "text", "index": 15, "name": "timezone", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__advertiser"}, "model.tiktok_ads_source.stg_tiktok_ads__advertiser_tmp": {"metadata": {"type": "VIEW", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__advertiser_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "address": {"type": "text", "index": 3, "name": "address", "comment": null}, "company": {"type": "text", "index": 4, "name": "company", "comment": null}, "contacter": {"type": "integer", "index": 5, "name": "contacter", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "currency": {"type": "text", "index": 7, "name": "currency", "comment": null}, "description": {"type": "text", "index": 8, "name": "description", "comment": null}, "email": {"type": "text", "index": 9, "name": "email", "comment": null}, "industry": {"type": "integer", "index": 10, "name": "industry", "comment": null}, "license_no": {"type": "integer", "index": 11, "name": "license_no", "comment": null}, "license_url": {"type": "integer", "index": 12, "name": "license_url", "comment": null}, "promotion_area": {"type": "integer", "index": 13, "name": "promotion_area", "comment": null}, "reason": {"type": "integer", "index": 14, "name": "reason", "comment": null}, "role": {"type": "text", "index": 15, "name": "role", "comment": null}, "status": {"type": "text", "index": 16, "name": "status", "comment": null}, "telephone": {"type": "integer", "index": 17, "name": "telephone", "comment": null}, "timezone": {"type": "text", "index": 18, "name": "timezone", "comment": null}, "balance": {"type": "double precision", "index": 19, "name": "balance", "comment": null}, "create_time": {"type": "text", "index": 20, "name": "create_time", "comment": null}, "language": {"type": "text", "index": 21, "name": "language", "comment": null}, "phone_number": {"type": "text", "index": 22, "name": "phone_number", "comment": null}, "_fivetran_synced": {"type": "text", "index": 23, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__advertiser_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_name": {"type": "text", "index": 4, "name": "campaign_name", "comment": null}, "campaign_type": {"type": "text", "index": 5, "name": "campaign_type", "comment": null}, "split_test_variable": {"type": "integer", "index": 6, "name": "split_test_variable", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "name": "is_most_recent_record", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_history"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_name": {"type": "text", "index": 4, "name": "campaign_name", "comment": null}, "campaign_type": {"type": "text", "index": 5, "name": "campaign_type", "comment": null}, "budget": {"type": "integer", "index": 6, "name": "budget", "comment": null}, "budget_mode": {"type": "text", "index": 7, "name": "budget_mode", "comment": null}, "opt_status": {"type": "text", "index": 8, "name": "opt_status", "comment": null}, "objective_type": {"type": "text", "index": 9, "name": "objective_type", "comment": null}, "is_new_structure": {"type": "boolean", "index": 10, "name": "is_new_structure", "comment": null}, "split_test_variable": {"type": "integer", "index": 11, "name": "split_test_variable", "comment": null}, "create_time": {"type": "text", "index": 12, "name": "create_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 13, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_history_tmp"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__campaign_report_hourly", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cpc": {"type": "double precision", "index": 3, "name": "cpc", "comment": null}, "cpm": {"type": "double precision", "index": 4, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 5, "name": "ctr", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 8, "name": "spend", "comment": null}, "reach": {"type": "integer", "index": 9, "name": "reach", "comment": null}, "conversion": {"type": "integer", "index": 10, "name": "conversion", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 11, "name": "cost_per_conversion", "comment": null}, "conversion_rate": {"type": "integer", "index": 12, "name": "conversion_rate", "comment": null}, "likes": {"type": "integer", "index": 13, "name": "likes", "comment": null}, "comments": {"type": "integer", "index": 14, "name": "comments", "comment": null}, "shares": {"type": "integer", "index": 15, "name": "shares", "comment": null}, "profile_visits": {"type": "integer", "index": 16, "name": "profile_visits", "comment": null}, "follows": {"type": "integer", "index": 17, "name": "follows", "comment": null}, "video_play_actions": {"type": "integer", "index": 18, "name": "video_play_actions", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 19, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 20, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "integer", "index": 21, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "integer", "index": 22, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "integer", "index": 23, "name": "video_views_p_75", "comment": null}, "average_video_play": {"type": "double precision", "index": 24, "name": "average_video_play", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 25, "name": "average_video_play_per_user", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly"}, "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly_tmp": {"metadata": {"type": "VIEW", "schema": "tiktok_ads_integration_tests_1_stg_tiktok_ads", "name": "stg_tiktok_ads__campaign_report_hourly_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "double precision", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "double precision", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "double precision", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "double precision", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads_source.stg_tiktok_ads__campaign_report_hourly_tmp"}, "model.tiktok_ads.tiktok_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_tiktok_ads", "name": "tiktok_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "integer", "index": 2, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 3, "name": "advertiser_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "action_categories": {"type": "text", "index": 9, "name": "action_categories", "comment": null}, "category": {"type": "integer", "index": 10, "name": "category", "comment": null}, "gender": {"type": "text", "index": 11, "name": "gender", "comment": null}, "audience_type": {"type": "integer", "index": 12, "name": "audience_type", "comment": null}, "budget": {"type": "integer", "index": 13, "name": "budget", "comment": null}, "age": {"type": "text", "index": 14, "name": "age", "comment": null}, "languages": {"type": "text", "index": 15, "name": "languages", "comment": null}, "interest_category": {"type": "text", "index": 16, "name": "interest_category", "comment": null}, "impressions": {"type": "bigint", "index": 17, "name": "impressions", "comment": null}, "clicks": {"type": "bigint", "index": 18, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 19, "name": "spend", "comment": null}, "reach": {"type": "bigint", "index": 20, "name": "reach", "comment": null}, "conversion": {"type": "bigint", "index": 21, "name": "conversion", "comment": null}, "likes": {"type": "bigint", "index": 22, "name": "likes", "comment": null}, "comments": {"type": "bigint", "index": 23, "name": "comments", "comment": null}, "shares": {"type": "bigint", "index": 24, "name": "shares", "comment": null}, "profile_visits": {"type": "bigint", "index": 25, "name": "profile_visits", "comment": null}, "follows": {"type": "bigint", "index": 26, "name": "follows", "comment": null}, "video_watched_2_s": {"type": "bigint", "index": 27, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "bigint", "index": 28, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "bigint", "index": 29, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "bigint", "index": 30, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "bigint", "index": 31, "name": "video_views_p_75", "comment": null}, "daily_cpc": {"type": "double precision", "index": 32, "name": "daily_cpc", "comment": null}, "daily_cpm": {"type": "double precision", "index": 33, "name": "daily_cpm", "comment": null}, "daily_ctr": {"type": "bigint", "index": 34, "name": "daily_ctr", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__ad_group_report"}, "model.tiktok_ads.tiktok_ads__ad_report": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_tiktok_ads", "name": "tiktok_ads__ad_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "integer", "index": 2, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 3, "name": "advertiser_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "ad_id": {"type": "integer", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 9, "name": "ad_name", "comment": null}, "currency": {"type": "text", "index": 10, "name": "currency", "comment": null}, "category": {"type": "integer", "index": 11, "name": "category", "comment": null}, "action_categories": {"type": "text", "index": 12, "name": "action_categories", "comment": null}, "gender": {"type": "text", "index": 13, "name": "gender", "comment": null}, "audience_type": {"type": "integer", "index": 14, "name": "audience_type", "comment": null}, "budget": {"type": "integer", "index": 15, "name": "budget", "comment": null}, "age": {"type": "text", "index": 16, "name": "age", "comment": null}, "languages": {"type": "text", "index": 17, "name": "languages", "comment": null}, "interest_category": {"type": "text", "index": 18, "name": "interest_category", "comment": null}, "impressions": {"type": "bigint", "index": 19, "name": "impressions", "comment": null}, "clicks": {"type": "bigint", "index": 20, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 21, "name": "spend", "comment": null}, "reach": {"type": "bigint", "index": 22, "name": "reach", "comment": null}, "conversion": {"type": "bigint", "index": 23, "name": "conversion", "comment": null}, "likes": {"type": "bigint", "index": 24, "name": "likes", "comment": null}, "comments": {"type": "bigint", "index": 25, "name": "comments", "comment": null}, "shares": {"type": "bigint", "index": 26, "name": "shares", "comment": null}, "profile_visits": {"type": "bigint", "index": 27, "name": "profile_visits", "comment": null}, "follows": {"type": "bigint", "index": 28, "name": "follows", "comment": null}, "video_watched_2_s": {"type": "bigint", "index": 29, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "bigint", "index": 30, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "bigint", "index": 31, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "bigint", "index": 32, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "bigint", "index": 33, "name": "video_views_p_75", "comment": null}, "daily_cpc": {"type": "double precision", "index": 34, "name": "daily_cpc", "comment": null}, "daily_cpm": {"type": "double precision", "index": 35, "name": "daily_cpm", "comment": null}, "daily_ctr": {"type": "bigint", "index": 36, "name": "daily_ctr", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__ad_report"}, "model.tiktok_ads.tiktok_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_tiktok_ads", "name": "tiktok_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "integer", "index": 2, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 3, "name": "advertiser_name", "comment": null}, "currency": {"type": "text", "index": 4, "name": "currency", "comment": null}, "clicks": {"type": "bigint", "index": 5, "name": "clicks", "comment": null}, "impressions": {"type": "bigint", "index": 6, "name": "impressions", "comment": null}, "spend": {"type": "double precision", "index": 7, "name": "spend", "comment": null}, "reach": {"type": "bigint", "index": 8, "name": "reach", "comment": null}, "conversion": {"type": "bigint", "index": 9, "name": "conversion", "comment": null}, "likes": {"type": "bigint", "index": 10, "name": "likes", "comment": null}, "comments": {"type": "bigint", "index": 11, "name": "comments", "comment": null}, "shares": {"type": "bigint", "index": 12, "name": "shares", "comment": null}, "profile_visits": {"type": "bigint", "index": 13, "name": "profile_visits", "comment": null}, "follows": {"type": "bigint", "index": 14, "name": "follows", "comment": null}, "video_watched_2_s": {"type": "bigint", "index": 15, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "bigint", "index": 16, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "bigint", "index": 17, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "bigint", "index": 18, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "bigint", "index": 19, "name": "video_views_p_75", "comment": null}, "daily_cpc": {"type": "double precision", "index": 20, "name": "daily_cpc", "comment": null}, "daily_cpm": {"type": "double precision", "index": 21, "name": "daily_cpm", "comment": null}, "daily_ctr": {"type": "bigint", "index": 22, "name": "daily_ctr", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__advertiser_report"}, "model.tiktok_ads.tiktok_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_tiktok_ads", "name": "tiktok_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "integer", "index": 2, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 3, "name": "advertiser_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "currency": {"type": "text", "index": 6, "name": "currency", "comment": null}, "impressions": {"type": "bigint", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "bigint", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 9, "name": "spend", "comment": null}, "reach": {"type": "bigint", "index": 10, "name": "reach", "comment": null}, "conversion": {"type": "bigint", "index": 11, "name": "conversion", "comment": null}, "likes": {"type": "bigint", "index": 12, "name": "likes", "comment": null}, "comments": {"type": "bigint", "index": 13, "name": "comments", "comment": null}, "shares": {"type": "bigint", "index": 14, "name": "shares", "comment": null}, "profile_visits": {"type": "bigint", "index": 15, "name": "profile_visits", "comment": null}, "follows": {"type": "bigint", "index": 16, "name": "follows", "comment": null}, "video_watched_2_s": {"type": "bigint", "index": 17, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "bigint", "index": 18, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "bigint", "index": 19, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "bigint", "index": 20, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "bigint", "index": 21, "name": "video_views_p_75", "comment": null}, "daily_cpc": {"type": "double precision", "index": 22, "name": "daily_cpc", "comment": null}, "daily_cpm": {"type": "double precision", "index": 23, "name": "daily_cpm", "comment": null}, "daily_ctr": {"type": "bigint", "index": 24, "name": "daily_ctr", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__campaign_report"}, "model.tiktok_ads.tiktok_ads__url_report": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1_tiktok_ads", "name": "tiktok_ads__url_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "date", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "integer", "index": 2, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 3, "name": "advertiser_name", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 5, "name": "campaign_name", "comment": null}, "ad_group_id": {"type": "integer", "index": 6, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 7, "name": "ad_group_name", "comment": null}, "ad_id": {"type": "integer", "index": 8, "name": "ad_id", "comment": null}, "ad_name": {"type": "text", "index": 9, "name": "ad_name", "comment": null}, "base_url": {"type": "text", "index": 10, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 11, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 12, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 13, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 14, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 15, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 16, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 17, "name": "utm_term", "comment": null}, "currency": {"type": "text", "index": 18, "name": "currency", "comment": null}, "action_categories": {"type": "text", "index": 19, "name": "action_categories", "comment": null}, "category": {"type": "integer", "index": 20, "name": "category", "comment": null}, "gender": {"type": "text", "index": 21, "name": "gender", "comment": null}, "audience_type": {"type": "integer", "index": 22, "name": "audience_type", "comment": null}, "budget": {"type": "integer", "index": 23, "name": "budget", "comment": null}, "age": {"type": "text", "index": 24, "name": "age", "comment": null}, "languages": {"type": "text", "index": 25, "name": "languages", "comment": null}, "interest_category": {"type": "text", "index": 26, "name": "interest_category", "comment": null}, "impressions": {"type": "bigint", "index": 27, "name": "impressions", "comment": null}, "clicks": {"type": "bigint", "index": 28, "name": "clicks", "comment": null}, "spend": {"type": "double precision", "index": 29, "name": "spend", "comment": null}, "reach": {"type": "bigint", "index": 30, "name": "reach", "comment": null}, "conversion": {"type": "bigint", "index": 31, "name": "conversion", "comment": null}, "likes": {"type": "bigint", "index": 32, "name": "likes", "comment": null}, "comments": {"type": "bigint", "index": 33, "name": "comments", "comment": null}, "shares": {"type": "bigint", "index": 34, "name": "shares", "comment": null}, "profile_visits": {"type": "bigint", "index": 35, "name": "profile_visits", "comment": null}, "follows": {"type": "bigint", "index": 36, "name": "follows", "comment": null}, "video_watched_2_s": {"type": "bigint", "index": 37, "name": "video_watched_2_s", "comment": null}, "video_watched_6_s": {"type": "bigint", "index": 38, "name": "video_watched_6_s", "comment": null}, "video_views_p_25": {"type": "bigint", "index": 39, "name": "video_views_p_25", "comment": null}, "video_views_p_50": {"type": "bigint", "index": 40, "name": "video_views_p_50", "comment": null}, "video_views_p_75": {"type": "bigint", "index": 41, "name": "video_views_p_75", "comment": null}, "daily_cpc": {"type": "double precision", "index": 42, "name": "daily_cpc", "comment": null}, "daily_cpm": {"type": "double precision", "index": 43, "name": "daily_cpm", "comment": null}, "daily_ctr": {"type": "bigint", "index": 44, "name": "daily_ctr", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.tiktok_ads.tiktok_ads__url_report"}}, "sources": {"source.tiktok_ads_source.tiktok_ads.ad_history": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_ad_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "adgroup_id": {"type": "integer", "index": 4, "name": "adgroup_id", "comment": null}, "campaign_id": {"type": "integer", "index": 5, "name": "campaign_id", "comment": null}, "create_time": {"type": "text", "index": 6, "name": "create_time", "comment": null}, "ad_name": {"type": "text", "index": 7, "name": "ad_name", "comment": null}, "call_to_action": {"type": "text", "index": 8, "name": "call_to_action", "comment": null}, "status": {"type": "text", "index": 9, "name": "status", "comment": null}, "opt_status": {"type": "text", "index": 10, "name": "opt_status", "comment": null}, "ad_text": {"type": "text", "index": 11, "name": "ad_text", "comment": null}, "video_id": {"type": "text", "index": 12, "name": "video_id", "comment": null}, "app_name": {"type": "integer", "index": 13, "name": "app_name", "comment": null}, "open_url": {"type": "integer", "index": 14, "name": "open_url", "comment": null}, "landing_page_url": {"type": "text", "index": 15, "name": "landing_page_url", "comment": null}, "display_name": {"type": "text", "index": 16, "name": "display_name", "comment": null}, "profile_image": {"type": "integer", "index": 17, "name": "profile_image", "comment": null}, "impression_tracking_url": {"type": "integer", "index": 18, "name": "impression_tracking_url", "comment": null}, "click_tracking_url": {"type": "integer", "index": 19, "name": "click_tracking_url", "comment": null}, "playable_url": {"type": "integer", "index": 20, "name": "playable_url", "comment": null}, "is_aco": {"type": "boolean", "index": 21, "name": "is_aco", "comment": null}, "is_creative_authorized": {"type": "boolean", "index": 22, "name": "is_creative_authorized", "comment": null}, "is_new_structure": {"type": "boolean", "index": 23, "name": "is_new_structure", "comment": null}, "image_ids": {"type": "text", "index": 24, "name": "image_ids", "comment": null}, "_fivetran_synced": {"type": "text", "index": 25, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.tiktok_ads_source.tiktok_ads.ad_history"}, "source.tiktok_ads_source.tiktok_ads.ad_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_ad_report_hourly_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_id": {"type": "integer", "index": 1, "name": "ad_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "integer", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "integer", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "integer", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "integer", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "integer", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.tiktok_ads_source.tiktok_ads.ad_report_hourly"}, "source.tiktok_ads_source.tiktok_ads.adgroup_history": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_adgroup_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"adgroup_id": {"type": "integer", "index": 1, "name": "adgroup_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "integer", "index": 4, "name": "campaign_id", "comment": null}, "create_time": {"type": "text", "index": 5, "name": "create_time", "comment": null}, "adgroup_name": {"type": "text", "index": 6, "name": "adgroup_name", "comment": null}, "placement_type": {"type": "text", "index": 7, "name": "placement_type", "comment": null}, "profile_image": {"type": "integer", "index": 8, "name": "profile_image", "comment": null}, "landing_page_url": {"type": "integer", "index": 9, "name": "landing_page_url", "comment": null}, "display_name": {"type": "integer", "index": 10, "name": "display_name", "comment": null}, "app_type": {"type": "integer", "index": 11, "name": "app_type", "comment": null}, "app_download_url": {"type": "integer", "index": 12, "name": "app_download_url", "comment": null}, "app_name": {"type": "integer", "index": 13, "name": "app_name", "comment": null}, "external_action": {"type": "text", "index": 14, "name": "external_action", "comment": null}, "deep_external_action": {"type": "integer", "index": 15, "name": "deep_external_action", "comment": null}, "creative_material_mode": {"type": "text", "index": 16, "name": "creative_material_mode", "comment": null}, "audience_type": {"type": "integer", "index": 17, "name": "audience_type", "comment": null}, "gender": {"type": "text", "index": 18, "name": "gender", "comment": null}, "android_osv": {"type": "integer", "index": 19, "name": "android_osv", "comment": null}, "ios_osv": {"type": "integer", "index": 20, "name": "ios_osv", "comment": null}, "budget_mode": {"type": "text", "index": 21, "name": "budget_mode", "comment": null}, "schedule_type": {"type": "text", "index": 22, "name": "schedule_type", "comment": null}, "dayparting": {"type": "integer", "index": 23, "name": "dayparting", "comment": null}, "optimize_goal": {"type": "text", "index": 24, "name": "optimize_goal", "comment": null}, "cpv_video_duration": {"type": "integer", "index": 25, "name": "cpv_video_duration", "comment": null}, "pacing": {"type": "text", "index": 26, "name": "pacing", "comment": null}, "billing_event": {"type": "text", "index": 27, "name": "billing_event", "comment": null}, "bid_type": {"type": "text", "index": 28, "name": "bid_type", "comment": null}, "deep_bid_type": {"type": "integer", "index": 29, "name": "deep_bid_type", "comment": null}, "impression_tracking_url": {"type": "integer", "index": 30, "name": "impression_tracking_url", "comment": null}, "click_tracking_url": {"type": "integer", "index": 31, "name": "click_tracking_url", "comment": null}, "status": {"type": "text", "index": 32, "name": "status", "comment": null}, "opt_status": {"type": "text", "index": 33, "name": "opt_status", "comment": null}, "statistic_type": {"type": "integer", "index": 34, "name": "statistic_type", "comment": null}, "video_download": {"type": "text", "index": 35, "name": "video_download", "comment": null}, "open_url": {"type": "integer", "index": 36, "name": "open_url", "comment": null}, "open_url_type": {"type": "integer", "index": 37, "name": "open_url_type", "comment": null}, "fallback_type": {"type": "integer", "index": 38, "name": "fallback_type", "comment": null}, "budget": {"type": "integer", "index": 39, "name": "budget", "comment": null}, "bid": {"type": "integer", "index": 40, "name": "bid", "comment": null}, "conversion_bid": {"type": "integer", "index": 41, "name": "conversion_bid", "comment": null}, "deep_cpabid": {"type": "integer", "index": 42, "name": "deep_cpabid", "comment": null}, "schedule_start_time": {"type": "text", "index": 43, "name": "schedule_start_time", "comment": null}, "schedule_end_time": {"type": "text", "index": 44, "name": "schedule_end_time", "comment": null}, "app_id": {"type": "integer", "index": 45, "name": "app_id", "comment": null}, "pixel_id": {"type": "integer", "index": 46, "name": "pixel_id", "comment": null}, "enable_inventory_filter": {"type": "boolean", "index": 47, "name": "enable_inventory_filter", "comment": null}, "is_hfss": {"type": "boolean", "index": 48, "name": "is_hfss", "comment": null}, "is_new_structure": {"type": "boolean", "index": 49, "name": "is_new_structure", "comment": null}, "category": {"type": "integer", "index": 50, "name": "category", "comment": null}, "is_comment_disable": {"type": "integer", "index": 51, "name": "is_comment_disable", "comment": null}, "skip_learning_phase": {"type": "integer", "index": 52, "name": "skip_learning_phase", "comment": null}, "frequency": {"type": "integer", "index": 53, "name": "frequency", "comment": null}, "frequency_schedule": {"type": "integer", "index": 54, "name": "frequency_schedule", "comment": null}, "action_days": {"type": "integer", "index": 55, "name": "action_days", "comment": null}, "audience": {"type": "text", "index": 56, "name": "audience", "comment": null}, "excluded_audience": {"type": "text", "index": 57, "name": "excluded_audience", "comment": null}, "location": {"type": "text", "index": 58, "name": "location", "comment": null}, "interest_category_v_2": {"type": "text", "index": 59, "name": "interest_category_v_2", "comment": null}, "pangle_block_app_list_id": {"type": "text", "index": 60, "name": "pangle_block_app_list_id", "comment": null}, "action_categories": {"type": "text", "index": 61, "name": "action_categories", "comment": null}, "placement": {"type": "text", "index": 62, "name": "placement", "comment": null}, "keywords": {"type": "integer", "index": 63, "name": "keywords", "comment": null}, "age": {"type": "text", "index": 64, "name": "age", "comment": null}, "languages": {"type": "text", "index": 65, "name": "languages", "comment": null}, "operation_system": {"type": "text", "index": 66, "name": "operation_system", "comment": null}, "connection_type": {"type": "text", "index": 67, "name": "connection_type", "comment": null}, "carriers": {"type": "text", "index": 68, "name": "carriers", "comment": null}, "video_actions": {"type": "text", "index": 69, "name": "video_actions", "comment": null}, "package": {"type": "integer", "index": 70, "name": "package", "comment": null}, "_fivetran_synced": {"type": "text", "index": 71, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.tiktok_ads_source.tiktok_ads.adgroup_history"}, "source.tiktok_ads_source.tiktok_ads.adgroup_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_adgroup_report_hourly_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"adgroup_id": {"type": "integer", "index": 1, "name": "adgroup_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "double precision", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "double precision", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "double precision", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "double precision", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.tiktok_ads_source.tiktok_ads.adgroup_report_hourly"}, "source.tiktok_ads_source.tiktok_ads.advertiser": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_advertiser_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "address": {"type": "text", "index": 3, "name": "address", "comment": null}, "company": {"type": "text", "index": 4, "name": "company", "comment": null}, "contacter": {"type": "integer", "index": 5, "name": "contacter", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "currency": {"type": "text", "index": 7, "name": "currency", "comment": null}, "description": {"type": "text", "index": 8, "name": "description", "comment": null}, "email": {"type": "text", "index": 9, "name": "email", "comment": null}, "industry": {"type": "integer", "index": 10, "name": "industry", "comment": null}, "license_no": {"type": "integer", "index": 11, "name": "license_no", "comment": null}, "license_url": {"type": "integer", "index": 12, "name": "license_url", "comment": null}, "promotion_area": {"type": "integer", "index": 13, "name": "promotion_area", "comment": null}, "reason": {"type": "integer", "index": 14, "name": "reason", "comment": null}, "role": {"type": "text", "index": 15, "name": "role", "comment": null}, "status": {"type": "text", "index": 16, "name": "status", "comment": null}, "telephone": {"type": "integer", "index": 17, "name": "telephone", "comment": null}, "timezone": {"type": "text", "index": 18, "name": "timezone", "comment": null}, "balance": {"type": "double precision", "index": 19, "name": "balance", "comment": null}, "create_time": {"type": "text", "index": 20, "name": "create_time", "comment": null}, "language": {"type": "text", "index": 21, "name": "language", "comment": null}, "phone_number": {"type": "text", "index": 22, "name": "phone_number", "comment": null}, "_fivetran_synced": {"type": "text", "index": 23, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.tiktok_ads_source.tiktok_ads.advertiser"}, "source.tiktok_ads_source.tiktok_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "updated_at": {"type": "text", "index": 2, "name": "updated_at", "comment": null}, "advertiser_id": {"type": "integer", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_name": {"type": "text", "index": 4, "name": "campaign_name", "comment": null}, "campaign_type": {"type": "text", "index": 5, "name": "campaign_type", "comment": null}, "budget": {"type": "integer", "index": 6, "name": "budget", "comment": null}, "budget_mode": {"type": "text", "index": 7, "name": "budget_mode", "comment": null}, "opt_status": {"type": "text", "index": 8, "name": "opt_status", "comment": null}, "objective_type": {"type": "text", "index": 9, "name": "objective_type", "comment": null}, "is_new_structure": {"type": "boolean", "index": 10, "name": "is_new_structure", "comment": null}, "split_test_variable": {"type": "integer", "index": 11, "name": "split_test_variable", "comment": null}, "create_time": {"type": "text", "index": 12, "name": "create_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 13, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.tiktok_ads_source.tiktok_ads.campaign_history"}, "source.tiktok_ads_source.tiktok_ads.campaign_report_hourly": {"metadata": {"type": "BASE TABLE", "schema": "tiktok_ads_integration_tests_1", "name": "tiktok_campaign_report_hourly_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "integer", "index": 1, "name": "campaign_id", "comment": null}, "stat_time_hour": {"type": "timestamp without time zone", "index": 2, "name": "stat_time_hour", "comment": null}, "cost_per_conversion": {"type": "double precision", "index": 3, "name": "cost_per_conversion", "comment": null}, "real_time_conversion": {"type": "integer", "index": 4, "name": "real_time_conversion", "comment": null}, "cpc": {"type": "double precision", "index": 5, "name": "cpc", "comment": null}, "video_play_actions": {"type": "integer", "index": 6, "name": "video_play_actions", "comment": null}, "conversion_rate": {"type": "integer", "index": 7, "name": "conversion_rate", "comment": null}, "video_views_p_75": {"type": "integer", "index": 8, "name": "video_views_p_75", "comment": null}, "result": {"type": "integer", "index": 9, "name": "result", "comment": null}, "video_views_p_50": {"type": "integer", "index": 10, "name": "video_views_p_50", "comment": null}, "impressions": {"type": "integer", "index": 11, "name": "impressions", "comment": null}, "comments": {"type": "integer", "index": 12, "name": "comments", "comment": null}, "real_time_cost_per_result": {"type": "double precision", "index": 13, "name": "real_time_cost_per_result", "comment": null}, "conversion": {"type": "integer", "index": 14, "name": "conversion", "comment": null}, "real_time_result": {"type": "integer", "index": 15, "name": "real_time_result", "comment": null}, "video_views_p_100": {"type": "integer", "index": 16, "name": "video_views_p_100", "comment": null}, "shares": {"type": "integer", "index": 17, "name": "shares", "comment": null}, "real_time_conversion_rate": {"type": "double precision", "index": 18, "name": "real_time_conversion_rate", "comment": null}, "cost_per_secondary_goal_result": {"type": "text", "index": 19, "name": "cost_per_secondary_goal_result", "comment": null}, "secondary_goal_result_rate": {"type": "text", "index": 20, "name": "secondary_goal_result_rate", "comment": null}, "clicks": {"type": "integer", "index": 21, "name": "clicks", "comment": null}, "cost_per_1000_reached": {"type": "double precision", "index": 22, "name": "cost_per_1000_reached", "comment": null}, "video_views_p_25": {"type": "integer", "index": 23, "name": "video_views_p_25", "comment": null}, "reach": {"type": "integer", "index": 24, "name": "reach", "comment": null}, "real_time_cost_per_conversion": {"type": "double precision", "index": 25, "name": "real_time_cost_per_conversion", "comment": null}, "profile_visits_rate": {"type": "integer", "index": 26, "name": "profile_visits_rate", "comment": null}, "average_video_play": {"type": "double precision", "index": 27, "name": "average_video_play", "comment": null}, "profile_visits": {"type": "integer", "index": 28, "name": "profile_visits", "comment": null}, "cpm": {"type": "double precision", "index": 29, "name": "cpm", "comment": null}, "ctr": {"type": "double precision", "index": 30, "name": "ctr", "comment": null}, "video_watched_2_s": {"type": "integer", "index": 31, "name": "video_watched_2_s", "comment": null}, "follows": {"type": "integer", "index": 32, "name": "follows", "comment": null}, "result_rate": {"type": "double precision", "index": 33, "name": "result_rate", "comment": null}, "video_watched_6_s": {"type": "integer", "index": 34, "name": "video_watched_6_s", "comment": null}, "secondary_goal_result": {"type": "text", "index": 35, "name": "secondary_goal_result", "comment": null}, "cost_per_result": {"type": "double precision", "index": 36, "name": "cost_per_result", "comment": null}, "average_video_play_per_user": {"type": "double precision", "index": 37, "name": "average_video_play_per_user", "comment": null}, "real_time_result_rate": {"type": "double precision", "index": 38, "name": "real_time_result_rate", "comment": null}, "spend": {"type": "double precision", "index": 39, "name": "spend", "comment": null}, "likes": {"type": "integer", "index": 40, "name": "likes", "comment": null}, "_fivetran_synced": {"type": "text", "index": 41, "name": "_fivetran_synced", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.tiktok_ads_source.tiktok_ads.campaign_report_hourly"}}, "errors": null}
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index fa8b08b..0c4d0ec 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -70,7 +70,7 @@
* (c) 2010-2020 Google LLC. http://angularjs.org
* License: MIT
*/
-!function(e){"use strict";var t={objectMaxDepth:5,urlErrorParamsEnabled:!0};function n(e){if(!L(e))return t;z(e.objectMaxDepth)&&(t.objectMaxDepth=r(e.objectMaxDepth)?e.objectMaxDepth:NaN),z(e.urlErrorParamsEnabled)&&Z(e.urlErrorParamsEnabled)&&(t.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function r(e){return q(e)&&e>0}function i(e,n){n=n||Error;var r="https://errors.angularjs.org/1.8.2/",i=r.replace(".","\\.")+"[\\s\\S]*",o=new RegExp(i,"g");return function(){var i,a,s=arguments[0],l=arguments[1],c="["+(e?e+":":"")+s+"] ",u=de(arguments,2).map((function(e){return Ve(e,t.objectMaxDepth)}));if(c+=l.replace(/\{\d+\}/g,(function(e){var t=+e.slice(1,-1);return t=0&&t-1 in e||"function"==typeof e.item)}function k(e,t,n){var r,i;if(e)if(G(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else if(U(e)||w(e)){var o="object"!=typeof e;for(r=0,i=e.length;r=0&&e.splice(n,1),n}function oe(e,t,n){var i,o,a=[],s=[];if(n=r(n)?n:NaN,t){if((o=t)&&q(o.length)&&J.test(v.call(o))||(i=t,"[object ArrayBuffer]"===v.call(i)))throw b("cpta","Can't copy! TypedArray destination cannot be mutated.");if(e===t)throw b("cpi","Can't copy! Source and destination are identical.");return U(t)?t.length=0:k(t,(function(e,n){"$$hashKey"!==n&&delete t[n]})),a.push(e),s.push(t),l(e,t,n)}return c(e,n);function l(e,t,n){if(--n<0)return"...";var r,i=t.$$hashKey;if(U(e))for(var o=0,a=e.length;o2?de(arguments,2):[];return!G(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,ue(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function pe(t,n){var r=n;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?r=void 0:Y(n)?r="$WINDOW":n&&e.document===n?r="$DOCUMENT":X(n)&&(r="$SCOPE"),r}function he(e,t){if(!M(e))return q(t)||(t=t?2:null),JSON.stringify(e,pe,t)}function ge(e){return F(e)?JSON.parse(e):e}var ve=/:/g;function me(e,t){e=e.replace(ve,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return j(n)?t:n}function be(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}function ye(e,t,n){n=n?-1:1;var r=e.getTimezoneOffset();return be(e,n*(me(t,r)-r))}function xe(e){e=a(e).clone().empty();var t=a("").append(e).html();try{return e[0].nodeType===Fe?d(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,(function(e,t){return"<"+d(t)}))}catch(e){return d(t)}}function we(e){try{return decodeURIComponent(e)}catch(e){}}function ke(e){var t={};return k((e||"").split("&"),(function(e){var n,r,i;e&&(r=e=e.replace(/\+/g,"%20"),-1!==(n=e.indexOf("="))&&(r=e.substring(0,n),i=e.substring(n+1)),z(r=we(r))&&(i=!z(i)||we(i),u.call(t,r)?U(t[r])?t[r].push(i):t[r]=[t[r],i]:t[r]=i))})),t}function Ae(e){return Ee(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ee(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}var Se=["ng-","data-ng-","ng:","x-ng-"];var Ce=function(t){var n=t.currentScript;if(!n)return!0;if(!(n instanceof e.HTMLScriptElement||n instanceof e.SVGScriptElement))return!1;var r=n.attributes;return[r.getNamedItem("src"),r.getNamedItem("href"),r.getNamedItem("xlink:href")].every((function(e){if(!e)return!0;if(!e.value)return!1;var n=t.createElement("a");if(n.href=e.value,t.location.origin===n.origin)return!0;switch(n.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}}))}(e.document);function $e(t,n){var r,i,o={};if(k(Se,(function(e){var n=e+"app";!r&&t.hasAttribute&&t.hasAttribute(n)&&(r=t,i=t.getAttribute(n))})),k(Se,(function(e){var n,o=e+"app";!r&&(n=t.querySelector("["+o.replace(":","\\:")+"]"))&&(r=n,i=n.getAttribute(o))})),r){if(!Ce)return void e.console.error("AngularJS: disabling automatic bootstrap.