Tick Tok APIConversion: Data pay load

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

                                                }

                                            ]

                                        };

Leave a comment

Your email address will not be published. Required fields are marked *