Standard Events and Parameters

Events are defined as actions a website visitor takes to achieve a business goal, like adding an item to a cart, filling out a form, or making a purchase. Events can result from a TikTok ad (paid), or can come organically (unpaid). Events help you build marketing audiences, optimize ad delivery, and measure campaign performance.

Example:

For E-commerce clients, we recommend creating an event for each step along the customer journey on your website. This means one event is created for when a visitor browses the product details page and one event is created for when a visitor completes a purchase. You can then set your most-valued event as the Optimization Goal to measure and optimize the effectiveness of your ads.

Tracking Methods

Tracking methods help you set up and assign rules to events that you want to track, like "add to cart" or "complete payment". For each event, there are 2 types of tracking methods to choose from:

  • Click Events: Count every time someone clicks on a specific element on your website as an event. This could be adding something to a cart, submitting a form, or downloading an app. Click events use web elements of the buttons or links that you want to track.

  • URL Events: Count user visits to specific pages on your website as events. This could include the confirmation page after a "complete payment" or a "thank you" page. URL events use keywords contained in the URL of the page you want to track.

How to create events in Events Manager


Supported Standard Events

Below is a list of Standard Events currently supported with our web attribution solutions such as TikTok Pixel or Events API. With any of the standard events, you can send parameters, or additional information about the visitor's actions, like total price of an order or product name and category. If you're unsure of what parameters to use, refer to our 'recommended parameters' in the table.

Event type

Description

Recommended parameters

Event Codes

Add Payment Info

When a visitor adds their payment information at checkout.


ttq.track('AddPaymentInfo')

Add to Cart

When a visitor adds an item to the cart.

content_type, quantity, description, content_id, currency, value

ttq.track('AddToCart')

Add to Wishlist

When a visitor adds an item to the wishlist.


ttq.track('AddToWishlist')

Click Button

When a visitor taps a button. TikTok recommends tracking website buttons important to your business, such as social media buttons.


ttq.track('ClickButton')

Complete Payment

When a visitor makes a payment. TikTok recommends using this event when placing an order and making a payment are the same.

content_type, quantity, description, content_id, currency, value

ttq.track('CompletePayment')

Complete Registration

When a visitor signs up for something such as account registration.


ttq.track('CompleteRegistration')

Contact

When a visitor contacts you.


ttq.track('Contact')

Download

When a visitor downloads something from your website.


ttq.track('Download')

Initiate Checkout

When a visitor proceeds to checkout.


ttq.track('InitiateCheckout')

Place an Order

When a visitor places an order. TikTok recommends using this event when placing an order and making a payment are not the same.

content_type, quantity, description, content_id, currency, value

ttq.track('PlaceAnOrder')

Search

When a visitor searches.

query

ttq.track('Search')

Submit Form

When a visitor submits a form.


ttq.track('SubmitForm')

Subscribe

When a visitor subscribes to your website including follows, content, or paid subscriptions.


ttq.track('Subscribe')

View Content

When a visitor views a specific page. TikTok recommends tracking pages important to your business such as product comparison, announcement, or release pages.

content_type, quantity, description, content_id, currency, value

ttq.track('ViewContent')

Note: By default, the pixel base code will always include 'page view' events which tracks when a visitor lands on your website.

Parameters

Below is a list of parameters supported with pixel. For more information about implementing parameters, please review our developer documentation.

Parameter name

Description

Value type

JavaScript

Required for Return on Ad Spend (ROAS)

Required for Dynamic Showcase Ads (DSA)

Required for Value-based Optimization (VBO)

content_type

The content_type object property's value must be set to either product, or product_group, depending on how you will configure your data feed when you set up your product catalog. If you will be tracking events associated with individual products, set the value to product. If you are tracking events associated with product groups, set it to product_group instead.

Must be either 'product' or 'product_group'

{ "content_type" : "product" }



content_id or contents

Use contents when you have multiple content IDs. If you use contents in your parameter, you must also include the following in a sub-object: the product id or ids, and the quantity (number of items added to cart or purchased).

Must be a string if using 'content_id'Must be an array of objects (content parameter, id sub-object and quantity sub-object) if using 'contents'

{ "content_id" : "401"}



content_category

Category of the page/product.

string

{ "content_category" : "apparel"}




content_name

Name of the page/product.

string

{ "content_name" : "shirt"}




currency

ISO 4217 code. Examples: "EUR", "USD", "JPY"List of currencies currently supported:AED, ARS, AUD, BDT, BHD, BIF, BOB, BRL, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DZD, EGP, EUR, GBP, GTQ, HKD, HNL, HUF, IDR, ILS, INR, ISK, JPY, KES, KHR, KRW, KWD, KZT, MAD, MOP, MXN, MYR, NGN, NIO, NOK, NZD, OMR, PEN, PHP, PHP, PKR, PLN, PYG, QAR, RON, RUB, SAR, SEK, SGD, THB, TRY, TWD, UAH, USD, VES, VND, ZAR

enum(string)

{ "currency" : "USD"}



value

Value of the order or items sold.


Note: Price is the price for a single item, and value is the total price of the order. For example, if you have two items each sold for ten dollars, the price parameter would pass 10.00 and the value parameter would pass 20.00.

Values should always be formatted as an integer or decimal (ex: 0.00) regardless of the location, currency, etc. It cannot contain any currency signs, special characters, letters, or commas.


{ "value" : 0.00}


price

The price of the item. Note: Price is the price for a single item, and value is the total price of the order. For example, if you have two items each sold for $10, the price parameter would pass 10 and the value parameter would pass 20.

number

{ "price" : 25}




quantity

The number of the item

number

{ "quantity": 4}




query

The text string that was input by a user. For instance, if a person searches for a product on your website, you can forward the keyword being searched. If a person enters a coupon code at check out, you can forward the code.

string

{ "query" : "SAVE10COUPON"}




description

Description of the item or page.

string

{ "description" : "Lightweight cotton"}




status

Status of an order, item, or service.Note: Depending on your use of 'status', Events API may be required in order to share status changes to TikTok.

string

{ "status" : "submitted" }




Note: Price is the price for a single item, and value is the total price of the order. For example, if you have two items each sold for $10, the price parameter would pass 10 and the value parameter would pass 20.

List of currencies currently supported

AED, ARS, AUD, BDT, BHD, BIF, BOB, BRL, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DZD, EGP, EUR, GBP, GTQ, HKD, HNL, HUF, IDR, ILS, INR, ISK, JPY, KES, KHR, KRW, KWD, KZT, MAD, MOP, MXN, MYR, NGN, NIO, NOK, NZD, OMR, PEN, PHP, PHP, PKR, PLN, PYG, QAR, RON, RUB, SAR, SEK, SGD, THB, TRY, TWD, UAH, USD, VES, VND, ZAR.

If you plan to use DSA, these parameters can either be set at the root level or be set under each item of the contents array. See the required events and parameters in this document.

Using dynamic values in your parameters

You can set up dynamic values which pass dynamic event-related values to TikTok. Check with your website developer to set up dynamic values for your events. By doing so, this dynamic code will automatically determine the correct values of your event, such as the price of purchase, instead of using a set value.

For example, if a visitor lands on your website and adds a book to their cart. This is what static or set value will look like:

1.​ttq.track('AddToCart', {2.​ content_name: 'book',3.​ value: 10.0,4.​ currency: 'USD',5.​});

To make these values dynamic, replace set values with code that will automatically pass correct values like 'book' or '10.0'.

1.​ttq.track('AddToCart', {2.​ content_name: DYNAMIC_PRODUCT_NAME_COMES_HERE,3.​ value: DYNAMIC_ORDER_VALUE_COMES_HERE,4.​ currency: 'USD',5.​});


Content