Bytedance Ads China Traffic campaign configuration

At a glance: Bytedance Ads - China Traffic, an AppsFlyer integrated partner, is an Internet technology company operating several machine learning-enabled content platforms.


If you want to promote your Android Apps with Bytedance Ads - China Traffic, you are required to send your IMEI to AppsFlyer SDK according to the instructions in the AppsFlyer SDK Integration - Android. Google Play service is blocked in China, IMEI is the most popular Android Device ID for ad attribution.

In addition to click-based mobile attribution, Bytedance Ads - China Traffic also offers view-through attribution, which you can record with AppsFlyer.

To configure your campaigns with Bytedance Ads - China Traffic, follow the steps below.

Setting up Bytedance Ads - China traffic

Go to the dashboard of your app and click on Integrated Partners on the left bar.


Enter "Bytedance" in the search field and click on the logo next to Bytedance Ads - China Traffic to open Bytedance's configuration window.


  • The General Settings step in the Integration tab is mandatory for all partners
  • All the rest of the steps are either descriptive or optional

Integration tab

The Integration Tab is divided into different sections as described below.

Activate partners

On the first visit here, you will need to toggle ON the Activate Partner button to enable setup of the integration tab's parameters. The toggle MUST be ON for as long as you work with the partner.
For more details about partner activation please click here.

General Settings

Enable View-Through attribution

Toggle this to ON if you want to attribute view-through installs from Bytedance. The view-through lookback slider is available on the attribution link tab (described below).

Default postbacks

AppsFlyer can send automatic postbacks to Bytedance following user installs and re-engagements. Use this section to define the source of the users that allow sending these postbacks.


In-app events settings

In this section you can map your AppsFlyer events with Bytedance via postbacks.

bytedance in-app events

  1. Toggle In-App Event Postbacks to ON
  2. Select the Sending Option for all SDK defined events.
    - Only events attributed to this partner for events coming only from users attributed to this partner
    - Events attributed to any partner or organic to have your entire user base available to be reported to the partner
  3. Click Add Event to add an SDK Event to the list
  4. Complete the following parameters:
Parameter Name Description
SDK Event Name The name of the event, as received by AppsFlyer either from the SDK integrated in your app, or from server to server events.
Bytedance accepts only 3 types of events:
  • registration
  • purchase
  • first day retention: a user opens the app the day after the install date (this event can happen only once)
Tip - If you don't see the event you want in the list, make sure to activate the event on a device with a non-organic installation and recheck.
Partner Event Identifier

The unique name or ID of each event as defined on Bytedance's side. Use the following values:

Bytedance event identifier Event type
0 Install (First launch)
1 Register
2 Purchase
3 Form
4 Consultation
5 Successful consultation
6 Day 1 retention
19 Successful user acquisition
20 In-app order
21 In-app visit
22 In-app add to cart
23 In-app purchase
25 Key action
29 In-app detail page unique view
35 Submit form


If you are not sure which event type you should use, get in touch with your assigned point of contact at Bytedance.

Send Revenue When unchecked - AppsFlyer sends all the parameters of the rich in-app event to the partner, except for the revenue parameter, which is contained in the af_revenue parameter.
When checked - AppsFlyer sends all the parameters including the revenue value (if it exists in the event).

Attribution link tab

In this tab, you can create the attribution links you want to send to Bytedance for attributing Bytedance's campaigns, ad sets or even single ads. Note that AppsFlyer DOES NOT save your generated partner's attribution links.

This tab is divided into different sections:

Attribution link parameters

In this section, select which parameters you want to add to the attribution link.

Adding parameters to the attribution link here enables you to later perform thorough drill-down analyses. Parameters that are already defined on the attribution link can be edited by adding them and their new values here.

  • Campaign - add it to compare different campaigns running with Bytedance.
    Attribution link parameter: c
  • Adset - set ad set names to compare different ad sets within specific Bytedance campaigns.
    Attribution link parameter: af_adset
  • Ad Name - set ad set names to compare different creatives within specific ad sets within specific campaigns Bytedance.
    Attribution link parameter: af_ad
  • Site ID and Sub Site ID - set Site ID parameter to attribute installs to specific publishers. If many publishers exist, we advise on limiting the number of used site IDs and using the sub site ID parameter, to avoid exceeding the site ID limitations.
    Attribution link parameters: af_siteid and af_sub_siteid
  • Subscriber Parameters - use any of the 5 subscriber parameters to insert useful values. Note that these parameters get parsed and appear in the raw data report, which makes them very handy for performing data aggregation or filtering.
    Attribution link parameters: af_sub1, af_sub2, af_sub3, af_sub4, af_sub5

Add any other parameter to the attribution link simply by typing it in a new parameter box. For more information about AppsFlyer's Attribution Link Structure and Parameters.

Click-through attribution

This slider allows you to set the maximum time from click to install. Only installs (first launches) that take place within the lookback window may be attributed to Bytedance.

Attribution link parameter: af_click_lookback

More details about the click lookback window here.

Click attribution link

This is the attribution link that contains all the setup information you have set for it. Send it to Bytedance to be activated when leads click on a corresponding ad.

Once you have generated the attribution link, complete the campaign setup process on Bytedance's site.

1. Create Conversion Rule in Bytedance Ads

Login to Bytedance Ads ( <> Tool Box > Click Conversion


Click to create a new conversion.


Select the Conversion Source: App Install


To define the conversion name, go to App Download Link (iTunes page/ Android App download page) >> Enter AppsFlyer Attribution Link.

Click Submit.


2. Process the Install Test

Click Start Test


Enter userid.

Click Next Step.


If you receive the below notification, change a test device and repeat last step.


When you see the page shown below, go to Open 今日头条 App >> Find the testing ad in the news feed >> Click the Ad >> Download and open the App


When you finish the steps above, you are directed to the next page automatically.

Wait for the progress bar to be 100% completed and click Next Step.


You have now created the successful conversion.

Click Confirm to complete the test.


3. Create an Ad Campaign with the Newly Created Conversion

Go to New Ad >> Set Budget and Bid select the conversion you created for this app.


4. Send In-App events to Bytedance

Enter Bytedance (Toutiao) Configuration >> In-App Events tab, select register and(or) purchase event to postback, and save your setting.

Register-------- populate “1”

Purchase--------populate ”2”


On the Bytedance Ads dashboard, you can choose register or purchase event as the conversion type:


View-through attribution lookback window

This slider allows you to set the maximum time from impression to install. Only installs (first launches) that take place within this lookback window, following an ad impression, are attributed to Bytedance, providing there was no other relevant ad click.

You can customize this value to 1-23 hours or 1-7 days.

Attribution link parameter: af_viewthrough_lookback

More details about the view-through attribution here.

Impressions attribution link

The impression attribution link contains similar attribution data to the click recording link (besides the different lookback window). Send it to Bytedance to be activated when a corresponding ad is watched, usually for 1 second or more.

Cost tab

AppsFlyer gets cost details by API.

Geo Media source Campaign Adset Ad Other
Yes - Yes Yes  Yes -
API dimensions supported

To enable Bytedance cost API

  1. In the integrated partner Cost tab, enable Get Cost Data.
  2. Log in to Bytedance. 
  3. Click Save Cost.
    • You have successfully completed the procedure. API is active. AppsFlyer collects data from the partner 6 times a day, on average once every four hours.
    • The cost tab shows the status of your cost integration and the last time AppsFlyer managed to pull matching cost data.

Ad revenue tab

Ad Revenue data is not supported by this partner.

Permissions tab

In this tab, you can select the permissions to grant Bytedance, whether the partner acts as an ad network, agency or even both. Note that even if attribution is disabled for Bytedance, the permissions tab is active and you can grant control to Bytedance.

Use these toggles to give the ad network permissions to handle its own configuration for your app:

Ad network permissions

  • Allow to configure integration - permit the partner to setup the integration tab (except in-app event postbacks)
  • Allow to configure in-app event postbacks - permit the partner to setup in-app event postbacks mapping to itself on the integration tab
  • Allow access to your retention report - only to the partner's own retention data
  • Allow access to your aggregate loyal user data - only to the partner's own loyal user data
  • Allow access to your aggregate in-app events data - only to the partner's own in-app events data
  • Allow access to your aggregate revenue data - only to the revenue data attributed to the partner
  • Allow access to your Protect360 dashboard - only to the partner's own Protect360 data, and providing the feature is enabled for the advertiser

Learn more about granting ad network permissions.

Was this article helpful?