TikTok Ads

Send advertising events directly to TikTok Ads

Freshpaint can send Events to your TikTok account for a specified Pixel ID. These server-side Events are sent via the TikTok Events API.

The TikTok Events API enables you to measure events that may not happen in the browser, and improve accuracy by tracking events both in the browser (if you're already using TikTok Pixel) and on the server.

Destination Info

Getting Started

To set up the TikTok Ads integration, follow these steps:

  • Click on the Pixel you want to use and generate an Access Token. Copy this value into your TikTok Ads configuration.

Events

TikTok Event API: Web Event types

Each event sent to the TikTok Event API is categorized as a specific TikTok Event, derived from either the Freshpaint Event Definition name or a Destination Transformation (described further below).

Below are the TikTok Events, as defined in TikTok Events API Reference, with the corresponding Freshpaint Event Definition names which automatically map to them:

Notes:

  • TikTok Events are case-sensitive

  • Any of the space-delimited names above are case-insensitive and may be alternatively delimited by an underscore or no separation. For example, "product added" can also be expressed as:

    • Product_added

    • productAdded

  • These non-TikTok-specific names can be useful when sending to multiple destinations, such as Facebook Conversion API and TikTok Ads, without requiring a Rename Transformation for one or both.

Supported TikTok parameters

Several Freshpaint Built-in Properties are automatically sent to TikTok. To maximize the effectiveness of what is sent, you should define a number of Freshpaint Custom Properties, as described below.

Freshpaint Custom Properties include Dynamic Properties and Data Layer Properties, described at Setting up Properties, and Transformation Constant Properties, described in Transformations.

User Traits

User traits you can define as Custom Properties to improve match rate are:

  • email

  • phone_number

Other ways you can optimize user match rate:

  • Ensure Freshpaint User Identification is being used in your application, so the external_id field gets sent (hashed from Freshpaint Built-in Property distinct_id).

  • If you are already using the Pixel SDK with enabled cookie, capture the ttp property as described at TikTok Click ID and Cookies section.

TikTok Field to Freshpaint Property Mapping Reference

Below is the full list of what Freshpaint sends to the TikTok Events API (beyond Pixel ID and Access Token).

In some cases, there are 1 or more alias properties for a field (e.g., for value, aliases are: total, revenue).

Fields mapped to Freshpaint Custom Properties are optional, but some are recommended:

  • The User Traits properties described above are always recommended.

  • See the Events Section above for recommended TikTok properties-object fields to be sent for specific TikTok Events.

See also the TikTok Events API Reference.

Sending the same events from TikTok Pixel and TikTok Events API

If you are already using TikTok Pixel, sending the same events from both the browser and the server can improve the accuracy of browser events by providing redundancy. Events that previously would have been lost (e.g. due to the TikTok Pixel being blocked or network errors) can still be captured using the TikTok Events API via the Freshpaint TikTok Ads integration.

However, the event_id used by TikTok Pixel to deduplicate events is generated differently than that used by the Freshpaint TikTok Ads destination, so if you gather the same events with both TikTok Pixel and Freshpaint, they are likely to not be deduplicated by TikTok, and you may get diagnostic warning messages related to this. To minimize the chance of duplication, ensure the TikTok Event is set properly and the recommended match fields described above are included. For further details see TikTok Event Deduplication.

Check whether it's working

You can use the Freshpaint Event Tester to quickly verify events from Freshpaint are received properly by TikTok. To do so, follow these steps:

  • Go to the TikTok Ads configuration page in Freshpaint and click "Test Event"

  • Choose a TikTok-enabled event

  • Paste the test_event_code from above

  • Optionally, enter test values for $current_url, $ip, $user_agent, value, currency, contents, etc., preserving the distinct_id, token, time values. Here are some test values to use:

    "test_event_code": "YOURTESTCODE",
    
    "$current_url": "https://mysite.com",
    "$ip": "1.2.3.4",
    "$user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
    
    "value": 22,
    "currency": "USD",
    "description": "necessities",
    
    "content_type": "product",
      
    "contents": [
      {
        "content_id": "a1",
        "quantity": 2
      }
    ]
  • Click "Test Event"

  • In TikTok Ads Manager, look for the event under "Event Activity"

Transformations

Freshpaint Transformations allow you to customize how Freshpaint Events map to TikTok Events:

  • Map any Freshpaint Event Definition name to a TikTok Event

  • Rename Freshpaint Custom Properties mapped to supported TikTok property-object fields

  • Rename any Freshpaint Property mapped to a supported TikTok Field

  • Define a Constant Property when a Custom Property is not available

  • Suppress a Freshpaint Property from being sent to TikTok

To create a TikTok Ads Transformation, go to Transformations or the TikTok Ads configuration page in Freshpaint and click "Event Transformations".

Map any Freshpaint Event Definition name to a TikTok Event

Select Standard Event

In the example below, the Event Definition named "TikTok event" is mapped to a TikTok Search Event:

Rename Freshpaint Custom properties mapped to supported TikTok Property Object fields

Select Standard Event

In this example, the "order_total" Freshpaint Custom Property is renamed to the mapped value name.

Rename any Freshpaint Property mapped to a supported TikTok Field

Select Modify Data

Here, the "phone_nbr" Freshpaint Custom Property is renamed to the mapped phone_number name.

Define a Constant Property when a Custom Property is not available

Select Modify Data

In this case, there is no Freshpaint Custom Property currency defined, so we set a Transformation Constant Property:

Suppress a Freshpaint Property from being sent to TikTok

Select Modify Data

Finally, we might want to ensure that no search information is sent, so we suppress the Freshpaint Custom Property query if it's present:

Last updated