Skip to main content

TikTok Pixel Event Tracking

A
Written by Alexander Karpovich
Updated over 3 weeks ago

Why are the events showing as "custom" in TikTok Pixel?

When you use ttq.track(event, args);, TikTok Pixel receives the event exactly as sent, without any automatic mapping to standard TikTok events. If your event names don’t match TikTok’s predefined events (e.g., AddToCart, CompletePayment, ViewContent), TikTok will treat them as custom events.

How can I ensure TikTok recognizes my events correctly?

To have TikTok properly categorize your events (such as AddToCart, CompletePayment, ViewContent), you need to manually map your internal event names to TikTok’s supported standard events.

List of the Events:

  • StartOnboarding

  • AbTestLoaded

  • ScreenDidAppear

  • LeftNavbarButtonPressed

  • RightNavbarButtonPressed

  • CloseNavbarButtonPressed

  • FirstFooterButtonPressed

  • SecondFooterButtonPressed

  • PurchaseFooterButtonPressed

  • StripePaymentElementButtonPressed

  • StripePaymentElementConfirmButtonPressed

  • StripePaymentElementWidgetShown

  • StripePaymentElementWidgetHidden

  • RestoreFooterLabelPressed

  • RestoreHeaderLabelPressed

  • FieldInputValueError

  • UserUpdatedValue

  • ProductSelected

  • ScreenDisappeared

  • SwitchedToNewScreenOnTimer

  • OnboardingFinished

  • HookEvent

  • HookEventResult

  • HookEventError

  • CustomScreenCallback

  • StripeCheckoutSessionCreated

  • StripeCustomerCreated

  • StripeSubscriptionCreated

  • StripeSubscriptionSuccess

  • StripePaymentIntentCreated

  • StripePaymentIntentSuccess

  • StripeSetupIntentCreated

  • StripeSetupIntentSuccess

  • StripeCheckoutSessionRedirectError

  • StripeExpressCheckoutError

  • StripePaymentElementError

  • StripePaymentElementMethodSet

  • StripeCheckoutSessionSuccess

  • StripeCheckoutSessionCancel

  • AcceptCookiesPressed

  • DeclineCookiesPressed

Example of Mapping to TikTok Standard Events

To ensure TikTok recognizes key events, map them like this:

const tikTokEventMap = {
StartOnboarding: 'InitiateCheckout',
ProductSelected: 'ViewContent',
PurchaseFooterButtonPressed: 'CompletePayment',
StripeSubscriptionSuccess: 'Subscribe',
// Other events remain custom
};
function trackToTikTok(event, args) {
const mappedEvent = tikTokEventMap[event] || event;
if (typeof ttq === 'function') {
ttq.track(mappedEvent, args);
}
}

Did this answer your question?