Table of contents
Quick summary
- The base code sits in the head of every page, not at the end of the body, so events survive a visitor who leaves fast
- Seven standard events get mapped: ViewContent, ClickButton, Contact, SubmitForm, AddToCart, InitiateCheckout, CompletePayment
- CompletePayment always carries a value and the IDR currency, because ROAS cannot be calculated without both
- WhatsApp taps are logged as a Contact event before the visitor is handed over to the app
- One event_id is shared by the browser path and the server path, so an order is never counted twice
What a TikTok pixel install actually involves
The base code is a few lines and belongs in the head of every page, but on its own it records nothing beyond a visit. Events are what make a pixel useful, and each one has to fire from the right element on the right page.
The real work is the mapping: walking the buying flow from entry page to thank you page, then wiring each trigger by hand. Event names follow TikTok's own list exactly, capital letters included, because one wrong character files the event as a custom event that cannot be used to find new buyers.
Which events are worth wiring, and which are decoration
Plenty of installs fail from too many events rather than too few. Log a 25 percent scroll and every menu click, and the report fills up without one signal worth bidding on. TikTok needs events frequent enough to learn from and close enough to revenue to matter.
For an online store the ladder is obvious: ViewContent, AddToCart, InitiateCheckout, then CompletePayment. For a service business that closes over chat, Contact and SubmitForm matter most, because that is where a reader turns into someone you can follow up.
- SubmitForm fires when the server accepts the data, not when the send button is clicked
- Contact fires on a WhatsApp tap, the most valuable event for Indonesian service businesses
- AddToCart and InitiateCheckout belong only to sites with a real cart
What usually goes wrong on sites already running ads
Most sites that reach us already have a pixel. The problem is rarely a missing pixel, it is one recording the wrong thing, or the right thing twice, and none of that leaves a visible trace.
The most common is a conversion event attached to a button instead of to the outcome. A send button pressed three times because the form keeps failing still produces three conversions, while nothing reaches the inbox. The reverse is as frequent: a reloaded thank you page sends CompletePayment again, so one order counts twice.
- The pixel installed twice, once in the theme and once through Google Tag Manager, doubling every number
- A single page app that never calls ttq.page again when the route changes
- The ttclid parameter stripped by a non www to www redirect
- A checkout finishing on the payment provider's domain, so CompletePayment never fires
How to check your own pixel in five minutes
Start with the TikTok Pixel Helper extension in Chrome. Open the home page, then a detail page, then run one test conversion through to the thank you page. Each step should show exactly one event, not zero and not two. A pixel ID appearing twice means your site loads it twice.
The Test Events tab in Events Manager shows which events TikTok actually received and with what parameters, so a missing value stands out at once. The last check sits in your own records: set a week of CompletePayment counts beside the real order count, because a gap above ten percent is rarely a coincidence.
Why the browser pixel needs a server path beside it
A pixel runs in the visitor's browser, and browsers are no longer friendly ground for third party scripts. Ad blockers stop them, iOS limits shorten their cookies, and some visitors decline cookies at the first banner. Your ad report then sits below real sales by a margin that keeps moving.
So the same events also leave from the server through the TikTok Events API, carrying one shared event_id on both paths, usually the order number, so TikTok merges the pair. Work in that order: get the pixel right first, then add the server, because a bad mapping is not fixed by a second path.
Pixel work inside a Metanotech package
When we build the site, the pixel is live before the pages are: a Landing Page at IDR 2,000,000 per year is ready in 3 to 5 working days, a Company Profile site at IDR 3,000,000 per year in 7 to 14 working days. Every package covers hosting, SSL, the server, a WhatsApp group, and a year of unlimited revisions, so new events get wired with no separate invoice. The domain is bought separately and stays in your name.
Metanotech works out of Gunung Putri, Bogor, West Java, and most of our tracking jobs arrive on sites somebody else built. There we start by auditing the pixel already running, because the need is usually not a fresh install but cleaning up the events that already fire.
Standard TikTok events, their triggers, and the fields each needs
| Event | Fires when | Required fields |
|---|---|---|
| ViewContent | A product detail page opens | content_id, content_type |
| ClickButton | An enquiry button is pressed | content_name |
| Contact | WhatsApp or the phone link opens | content_name |
| SubmitForm | The server accepts the form | content_name |
| AddToCart | A product lands in the cart | content_id, value, currency |
| CompletePayment | Payment is confirmed | value, currency, event_id |
Frequently asked questions
What is a TikTok pixel and why do ads need one?
A TikTok pixel is code on your site that reports back to TikTok Ads Manager whenever a visitor does something valuable, such as opening a product page or completing a payment. Without one, TikTok knows who clicked the ad but never learns who bought.
How long does a TikTok pixel setup take?
Pixel work runs alongside the website build, so it follows the package schedule: 3 to 5 working days for a landing page, 7 to 14 working days for a company profile site. On a site already live, the timing depends on how many events need mapping.
Is TikTok pixel setup charged on top of the website package?
Pixel work belongs to the website package, from IDR 2,000,000 per year for a Landing Page and IDR 3,000,000 per year for a Company Profile site, with hosting, SSL, the server, a WhatsApp group, and a year of unlimited revisions. The domain is bought separately, in your name.
How do I confirm a TikTok pixel is installed correctly?
The quickest check uses the TikTok Pixel Helper extension: run one test purchase and confirm each step produces exactly one event, not zero and not two. The Test Events tab in Events Manager then shows which events reached TikTok, and whether value and currency came along.
Can a TikTok pixel track WhatsApp button taps?
WhatsApp taps can be logged as a Contact event, and for Indonesian service businesses that event matters most, since nearly every deal closes in a chat. The event has to leave before the browser abandons the page, and the count still needs checking against real messages.
What is the difference between the TikTok pixel and the Events API?
The pixel runs in the visitor's browser, while the Events API sends the same events from your server. Ad blockers and cookie limits can stop a pixel but not a server, though a server cannot see on page behaviour. The two run together on one shared event_id, usually the order number.




