TikTok Marketing
This page guides you through the process of setting up the TikTok Marketing source connector.
Prerequisites
For Airbyte Cloud:
- A Tiktok Ads Business account with permission to access data from accounts you want to sync
For Airbyte Open Source:
For the Production environment:
- Access token
- Secret
- App ID
To access the Sandbox environment:
- Access token
- Advertiser ID
Setup guide
Step 1: Set up TikTok
- Create a TikTok For Business account: Link
- Create developer application: Link
- For a sandbox environment: create a Sandbox Ad Account Link
Step 2: Set up the source connector in Airbyte
For Airbyte Cloud:
- Log into your Airbyte Cloud account.
- In the left navigation bar, click Sources. In the top-right corner, click + new source.
- On the source setup page, select Tiktok Marketing from the Source type dropdown and enter a name for this connector.
- Select
OAuth2.0
Authorization method, then clickAuthenticate your account
. - Log in and Authorize to the Tiktok account
- Choose required Start date
- click
Set up source
.
For Airbyte Open Source:
- Go to local Airbyte page.
- In the left navigation bar, click Sources. In the top-right corner, click + new source.
- On the Set up the source page, enter the name for the connector and select Tiktok Marketing from the Source type dropdown.
- Select
Production Access Token
orSandbox Access Token
Authorization method, then copy and paste info from step 1. - Choose required Start date
- Click
Set up source
.
Supported streams and sync modes
Stream | Environment | Key | Incremental |
---|---|---|---|
Advertisers | Prod,Sandbox | advertiser_id | No |
AdGroups | Prod,Sandbox | adgroup_id | Yes |
Ads | Prod,Sandbox | ad_id | Yes |
Campaigns | Prod,Sandbox | campaign_id | Yes |
AdsReportsHourly | Prod,Sandbox | ad_id, stat_time_hour | Yes |
AdsReportsDaily | Prod,Sandbox | ad_id, stat_time_day | Yes |
AdsReportsLifetime | Prod,Sandbox | ad_id | No |
AdvertisersReportsHourly | Prod | advertiser_id, stat_time_hour | Yes |
AdvertisersReportsDaily | Prod | advertiser_id, stat_time_day | Yes |
AdvertisersReportsLifetime | Prod | advertiser_id | No |
AdGroupsReportsHourly | Prod,Sandbox | adgroup_id, stat_time_hour | Yes |
AdGroupsReportsDaily | Prod,Sandbox | adgroup_id, stat_time_day | Yes |
AdGroupsReportsLifetime | Prod,Sandbox | adgroup_id | No |
Audiences | Prod,Sandbox | audience_id | No |
CampaignsReportsHourly | Prod,Sandbox | campaign_id, stat_time_hour | Yes |
CampaignsReportsDaily | Prod,Sandbox | campaign_id, stat_time_day | Yes |
CampaignsReportsLifetime | Prod,Sandbox | campaign_id | No |
CreativeAssetsImages | Prod,Sandbox | image_id | Yes |
CreativeAssetsMusic | Prod,Sandbox | music_id | Yes |
CreativeAssetsPortfolios | Prod,Sandbox | creative_portfolio_id | No |
CreativeAssetsVideos | Prod,Sandbox | video_id | Yes |
AdvertiserIds | Prod | advertiser_id | Yes |
AdvertisersAudienceReportsDaily | Prod | advertiser_id, stat_time_day, gender, age | Yes |
AdvertisersAudienceReportsByCountryDaily | Prod | advertiser_id, stat_time_day, country_code | Yes |
AdvertisersAudienceReportsByPlatformDaily | Prod | advertiser_id, stat_time_day, platform | Yes |
AdvertisersAudienceReportsLifetime | Prod | advertiser_id, gender, age | No |
AdGroupAudienceReportsDaily | Prod,Sandbox | adgroup_id, stat_time_day, gender, age | Yes |
AdGroupAudienceReportsByCountryDaily | Prod,Sandbox | adgroup_id, stat_time_day, country_code | Yes |
AdGroupAudienceReportsByPlatformDaily | Prod,Sandbox | adgroup_id, stat_time_day, platform | Yes |
AdsAudienceReportsDaily | Prod,Sandbox | ad_id, stat_time_day, gender, age | Yes |
AdsAudienceReportsByCountryDaily | Prod,Sandbox | ad_id, stat_time_day, country_code | Yes |
AdsAudienceReportsByPlatformDaily | Prod,Sandbox | ad_id, stat_time_day, platform | Yes |
AdsAudienceReportsByProvinceDaily | Prod,Sandbox | ad_id, stat_time_day, province_id | Yes |
CampaignsAudienceReportsDaily | Prod,Sandbox | campaign_id, stat_time_day, gender, age | Yes |
CampaignsAudienceReportsByCountryDaily | Prod,Sandbox | campaign_id, stat_time_day, country_code | Yes |
CampaignsAudienceReportsByPlatformDaily | Prod,Sandbox | campaign_id, stat_time_day, platform | Yes |
TikTok Reporting API has some Data Latency, usually of about 11 hours. It is recommended to use higher values of attribution window (used in Incremental Syncs), at least 3 days, to ensure that the connector updates metrics in already presented records.
Report Aggregation
Reports synced by this connector can use either hourly, daily, or lifetime granularities for aggregating performance data. For example, if you select the daily-aggregation flavor of a report, the report will contain a row for each day for the duration of the report. Each row will indicate the number of impressions recorded on that day.
Performance considerations
The connector is restricted by requests limitation. This connector should not run into TikTok Marketing API limitations under normal usage. Please create an issue if you see any rate limit issues that are not automatically retried successfully.