The TikTok API for conversion refers to the set of tools and endpoints provided by TikTok that allow advertisers and developers to track and measure specific user actions or events that occur as a result of their advertising campaigns or interactions with TikTok content.
For the API conversion We can use the below function for creating the API Event data Payload
createAPIEventData(dataObject) {
return new Promise((resolve, reject) => {
try {
var eventData = dataObject.data[0];
var properties = {};
var baseEvent = {
“event”: eventData.event_name,
“event_time”: eventData.event_time,
“event_id”: eventData.event_id,
“properties”: properties
};
switch (eventData.event_name) {
case ‘ViewContent’:
properties.currency = eventData.currency;
properties.value = eventData.value;
properties.content_type = “product”;
properties.contents = [
{
“price”: eventData.price,
“content_id”: eventData.content_id,
“content_name”: eventData.content_name,
}
];
break;
case ‘AddToCart’:
properties.currency = eventData.currency;
properties.value = eventData.value;
properties.content_type = eventData.content_type;
properties.quantity = eventData.quantity;
break;
case ‘ClickButton’:
case ‘InitiateCheckout’:
case ‘PlaceAnOrder’:
case ‘CompleteRegistration’:
case ‘Search’:
break;
default:
throw new Error(`Unsupported event_name: ${eventData.event_name}`);
}
var apiEventData = {
“event_source”: “web”,
“event_source_id”: SC.CONFIGURATION.TicktokPixel.ID,
“data”: [baseEvent]
};
resolve(apiEventData);
} catch (err) {
console.error(“error in createAPIEventData”, err);
reject(err);
}
});
},
where dataObject contains the parameters tracked based on the user actions
var dataObject = {
“data”: [
{
“event_name”: ‘ViewContent’,
“event_id”: eventData.sha256Hash,
“content_id”: sku,
“content_name”: itemName,
“currency”: “USD”,
“value”: itemPrice,
“content_type”: “product”,
“price”: itemPrice,
“content_id”: sku,
“content_name”: itemName,
‘event_time’: eventData.timeStamp
}
]
};