---
title: "TikTok Ads"
slug: "tiktok"
description: "Get all the metrics you need for your data integration with Dataddo's TikTok connector. Easy, secure, and reliable data pipelines created in just 3 steps."
updated: 2024-02-19T14:52:44Z
published: 2024-02-19T14:52:44Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dataddo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# TikTok Ads

**TikTok** is a social media platform known for its short-form videos. It allows users to create and share creative and engaging videos, often incorporating music, filters, and various effects, fostering a vibrant community of content creators and consumers.

Refer to TikTok's official documentation to see [all available endpoints from the TikTok API](https://business-api.tiktok.com/portal/docs?id=1740579480076290).

## Authorize Connection to TikTok

To authorize this service, use **OAuth 2.0** to share specific data with Dataddo while keeping usernames, passwords, and other information private.

1. On the **Authorizers** page, click on [Authorize New Service](https://app.dataddo.com/service/new) and select your service.
2. Follow the on-screen prompts to grant Dataddo the necessary permissions to **access and retrieve** your data.
3. **[Optional]** Once your ***authorizer*** is created, click on it to **change the label** for easier identification.

Ensure that the account you're granting access to holds at least **admin-level permissions**. If necessary, assign a team member with the required permissions with the [authorizer role](https://docs.dataddo.com/docs/user-roles#authorizer) to authenticate the service for you.

For more information, see our article on [***authorizers***](https://docs.dataddo.com/docs/authorized-services).

## How to Create a TikTok Data Source

1. On the **Sources** page, click on the [**Create Source**](https://app.dataddo.com/sources/new) button.
2. Select the connector from the list and name your ***data source***.
3. On the **Dataset** step, select your **dataset**.
          **DATADDO TIP**

          

If you're unsure which dataset to select, use the search bar to look for datasets with the desired attributes or metrics.
4. On the **Account** step select your ***authorizer*** from the drop-down menu.
          **Didn't find your authorizer?**

          

Click on **Add new Account** at the bottom of the drop-down and follow the on-screen prompts. You can also go to the **Authorizers** tab and click on [**Add New Service**](https://app.dataddo.com/service/new).
5. On the **Attributes and Metrics** step, select the **metrics and attributes** you want to extract.  

![Create a source using a custom-schema connector.](https://cdn.document360.io/084ed225-3f99-4644-a2da-39ca0cd5ef45/Images/Documentation/Create%20Source%20-%20Custom-Schema%20Connector.png)
6. On the **Metadata** step, select which [**metadata fields**](/docs/metadata-inclusion) such as extraction time to add to your data.
7. On the **Snapshot** step:
  1. Configure your [**sync frequency**](/docs/extraction#extraction-frequency) or click **Show advanced settings** to set the exact synchronization time.
          **DATADDO TIP**

          

If you need to **load historical data**, refer to the [**Data Backfilling**](https://docs.dataddo.com/docs/data-backfilling) article.
  2. [Optional] Enable the **Allow Empty Data Extractions** toggle to allow the extraction when no data is available.
8. In the top-right corner, click **Test Data** button to preview extracted data. You can **adjust the date range** for a specific time frame.
9. Click on **Save** and **congratulations, your new data source is ready!**

---

## Limitations

### Different Date Range

Depending on the **dimension** and **report type**, the date range may vary significantly. As such, when configuring the connector, take the following into consideration:

| Time Dimension | Query Time Range |
| --- | --- |
| Contains `stat_time_day` | Cannot exceed 30 days |
| Contains `stat_time_hour` | Cannot exceed 1 day |

### Dimensions Limitation

Keep in mind that you can choose **up to 1 dimension** per category (ID, Time, Audience) for your ***data source***.

### Audience Report Data Delay

Due to the TikTok API's limitations, there is a 6-12 hours delay for fresh data. We recommend setting your date range to **yesterday**.

### Organic Data

The official TikTok API does not support the extraction of organic data. However, there is a roundabout:

1. Create a Tiktok Business ***authorizer***.
2. Create a ***source*** using the [JSON universal connector](/docs/json-universal-connector) to retrieve:
  1. [Profile data](https://business-api.tiktok.com/portal/docs?id=1762228399168514): `likes`, `comments`, `shares`, `followers_count`, `profile_views`, `video_views`, `audience_activity` etc.
  2. [Video data](https://business-api.tiktok.com/portal/docs?id=1762228421622786): `likes`, `comments`, `shares`, `reach`, `full_video_watched_rate`, `average_video_watched_rate` etc. for individual videos

## Troubleshooting

### Data Preview Unavailable

No data preview when you click on **Test Data** might be caused by an issue with your ***source*** configuration. The most common causes are:

- **Date range**: Try a smaller date range. You can load the rest of your data afterward using [manual data load](https://docs.dataddo.com/docs/data-backfilling).
- **Insufficient permissions**: Please make sure your authorized account has at least admin-level permissions.
- **Invalid metrics, attributes, or breakdowns**: You may not have any data for the selected metrics, attributes, or breakdowns.
- **Incompatible combination of metrics, attributes, or breakdowns**: Your selected combination cannot be queried together. Please refer to the service's documentation to view a full list of metrics that can be included in the same ***data source***.

  

### Metric and Ad Recall Data Don't Match

The **Reach** and **Recall** metrics cannot be summed to get the totals for longer time periods. As these metrics measure the **daily unique users** who view your ad (= reach) or will remember the ad (=ad recall), it is **not possible to get data for a specific time period and/or aggregate the data**.

To avoid this, you can

1. Get **daily** breakdowns: The daily values will match, but not when summed up over a longer time period.
2. Extract data **weekly or monthly**: These weekly/monthly values will match.

Simply create a **new source** and a **new flow** with the particular breakdown (for example, a source and a flow with daily breakdowns/synchronizations).

          
          

Read more about the metrics, and why the data may not be matching [here](https://blog.dataddo.com/why-the-numbers-in-your-bi-tool-dont-always-match-your-source-data?_gl=1*ipsbl8*_ga*MjAwMjE2NTU4NC4xNjUxNzM0NTI4*_ga_NQ4TN4KP4V*MTY1MTc2NzQwMC40LjEuMTY1MTc2Nzg4OS4z).

  

## Related Articles

Now that you have successfully created a ***data source***, see how you can connect your data to a dashboarding app or a data storage.

**Sending Data to Dashboarding Apps**

- [Simple Data Integration to Dashboards](https://docs.dataddo.com/docs/simple-data-integration-to-dashboards)
- [Data Backfilling to Dashboarding Apps](https://docs.dataddo.com/docs/data-backfilling-to-dashboarding-apps)

**Sending Data to Data Storages**

- [Batch Ingestion to Data Warehouses](https://docs.dataddo.com/docs/ingestion-to-data-warehouses)
- [Data Backfilling to Storages](https://docs.dataddo.com/docs/data-backfilling-to-storages)

**Other Resources**

- [Troubleshooting](https://docs.dataddo.com/docs/troubleshooting)
- [Extraction Logs](https://docs.dataddo.com/docs/extraction-logs)
- [Data Duplication](https://docs.dataddo.com/docs/data-duplication)

Authorizers act as credentials for external services (e.g. Facebook or Google). To enable Dataddo to access and retrieve your data, you need to grant access to accounts that possess admin-level permissions or higher within these services.

A source is a collection of data from an authorized service that's been connected via a Dataddo connector. Data within the source is automatically refreshed based on the source's configuration.
