Search documentation...



Empower your marketing team by utilizing web events in TikTok


With Hightouch and the TikTok marketing API, you can send data from your warehouse to events and custom audiences in TikTok. Deliver relevant ads by utilizing data from various sources within your data warehouse.

Supported syncing

Object TypeDescriptionSupported Sync Modes
Web eventsSync data from any source to TikTok's pixel events.Insert
Custom audiencesCreate audience list and keep them up-to-date in TikTok.File upload, Segment

Getting started

Setting up the TikTok destination in Hightouch requires you to authorize the connection via OAuth with your TikTok business account.

Syncing data

Web events

Syncing to TikTok's web events lets you report different events from your source model.

To ensure syncs send each event, use a hash function for the event model's primary key . The hash should combine all columns, including member ID, timestamp, etc. See the event sync documentation for more information.

Pixel code

You need to provide your TikTok pixel code to sync web events. To find the pixel code, navigate to your TikTok Marketing Dashboard and go to Assets menu > Manage Web Events. Select the pixel you want to sync to and copy the ID.

Event name

You can specify the event name or type, by a static value or based on a column in your model. The name must be one of these accepted values: AddPaymentInfo, AddToCart, AddToWishlist, ClickButton, CompletePayment, CompleteRegistration, Contact, Download, InitiateCheckout, PlaceAnOrder, Search, SubmitForm, Subscribe, or ViewContent.

Field mapping

You can send additional details on your web events such as the timestamp, event (object) properties, and context (customer) properties. TikTok recommends that you provide as much context information as possible to increase probability of matching web events with TikTok ads.

Batch size

You can increase the TikTok events API batch size up to 1,000 per call. This can improve your sync's speed performance. The default is one event per API call. Keep in mind that TikTok fails an entire batch if it detects an erroneous row. If you suspect that you could have erroring rows, don't use a high batch size.

PII hashing

TikTok requires customer identity information (email, external_id, and phone_number) to be hashed using a SHA256 hash. By default, Hightouch automatically hashes these properties for you but you can choose to opt out of this and hash the identity information yourself.

Custom audiences

Hightouch lets you create and maintain custom audiences via the File upload API or Segment API. You can read more on the different APIs and decide which is best for your use case here.

File upload API mode

TikTok lets you upload an entire audience through their file upload API. Hightouch uploads the entire model query results for each sync run. These results effectively replaces the previous file upload.

Record matching

The File upload mode lets you match on any one of these hashed user properties: IDFA_SHA256, IDFA_MD5, GAID_SHA256, GAID_MD5, EMAIL_SHA256, or PHONE_SHA256. The property contains the name of what type of hash TikTok expects. Hightouch automatically hashes the selected property for you unless you specify otherwise. Hightouch also creates the audience list, if it doesn't exist yet, with the selected property's hash type.

Segment API mode

TikTok also lets you make real-time batch update of data through the API. Hightouch sends data to the selected audience list as data gets added in your source model.

Record matching

The Segment mode lets you match customers with multiple identifiers. You can map to any of these hashed user properties: IDFA_SHA256, IDFA_MD5, GAID_SHA256, GAID_MD5, EMAIL_SHA256, or PHONE_SHA256. Hightouch automatically hashes the selected properties for you unless you specify otherwise.

Advertiser account

For both modes, you need to select the advertiser account you want to sync to.

Custom audience list

Hightouch lets you use an existing audience in TikTok or create a new one for both modes. Note that if you're using Segment mode, you can't change your audience list name once your sync has run, instead, you will have to create a new sync.

Tips and troubleshooting

Common errors

Web events

Most errors customers encounters are validation errors, like an invalid currency code or phone number. TikTok rejects any request with invalid currency codes or phone number so Hightouch preemptively reject these rows before making the request to make the sync run more efficiently. Please refer to TikTok's documentation on what the expected currency codes are and what format the phone number should be in. Note: the currency code list may get updated from time to time.

Custom audiences

If you want to switch your custom audience sync mode from File upload API to Segment API, you will need to run a full resync after saving the new configuration.

File upload API mode

Audiences with fewer than 1000 users are invalid and won't be available in TikTok. For more information, please refer to TikTok's documentation.

TikTok allows one file-based audience upload per day per audience. See TikTok's docs for more information on their limits.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your Tiktok sync runs, except for syncs in custom audience file upload mode. In this mode, Hightouch syncs the full query results set, and therefore doesn't make a change data capture computation. As a result, you won't see any payload details in the Live debugger.

For the web event and custom audience segment mode syncs, we recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

On this page

OverviewSupported syncingGetting startedSyncing dataWeb eventsCustom audiencesFile upload API modeSegment API modeAdvertiser accountCustom audience listTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?