[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-en-\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads":3},{"id":4,"title":5,"body":6,"category":439,"code_examples":440,"demos":440,"description":441,"extension":442,"meta":443,"navigation":440,"order":444,"path":445,"seo":446,"sitemap":454,"stem":456,"tags":457,"toc":463,"videos":440,"__hash__":464},"docsEn\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads.md","Setup TikTok Events API",{"type":7,"value":8,"toc":426},"minimark",[9,14,27,46,51,54,60,82,86,97,107,114,119,199,203,257,261,287,324,328,331,397,401,408,412],[10,11,13],"h1",{"id":12},"tiktok-events-api","TikTok Events API",[15,16,17,18,22,23,26],"p",{},"TikTok Events API allows you to send event data (like ",[19,20,21],"code",{},"CompletePayment",", ",[19,24,25],{},"SubmitForm",") directly from Konektor server to TikTok Ads Manager.",[28,29,31],"warning",{"title":30},"Minimum Identifier Requirement",[15,32,33,34,37,38,41,42,45],{},"Konektor prioritizes ",[19,35,36],{},"ttclid"," and ",[19,39,40],{},"ttp"," for TikTok matching. If those identifiers are missing and user data is still insufficient, the event will be marked as ",[19,43,44],{},"skipped"," instead of being reported as a false success.",[47,48,50],"h2",{"id":49},"why-events-api","Why Events API?",[15,52,53],{},"Browser-based TikTok Pixel is vulnerable to network issues and ad blockers. With Events API, data is sent via a stable server-to-server channel.",[15,55,56],{},[57,58,59],"strong",{},"Benefits:",[61,62,63,70,76],"ol",{},[64,65,66,69],"li",{},[57,67,68],{},"Real-time Data",": Events sent instantly when lead status changes.",[64,71,72,75],{},[57,73,74],{},"Anti Ad-Blocker",": Not affected by browser extensions.",[64,77,78,81],{},[57,79,80],{},"Advanced Matching",": Send email\u002Fphone for better user matching.",[47,83,85],{"id":84},"url-parameters-template-tiktok-ads","URL Parameters Template (TikTok Ads)",[15,87,88,89,92,93,96],{},"Paste this into the ",[57,90,91],{},"Tracking Parameters"," field or append it to your landing page URL. Ensure there is only one ",[19,94,95],{},"?"," in the final URL.",[98,99,104],"pre",{"className":100,"code":102,"language":103},[101],"language-text","?utm_source=tiktok&utm_medium=paid&utm_campaign=__CAMPAIGN_NAME__&utm_term=__AID_NAME__&utm_content=__CID_NAME__&campaign_id=__CAMPAIGN_ID__&campaign_name=__CAMPAIGN_NAME__&ad_group_name=__AID_NAME__&ad_name=__CID_NAME__&ad_group_id=__AID__&ad_id=__CID__&ttclid=__CLICKID__&ad_account_id=YOUR_AD_ACCOUNT_ID\n","text",[19,105,102],{"__ignoreMap":106},"",[15,108,109,110,113],{},"Fill ",[19,111,112],{},"ad_account_id"," with your TikTok ad account ID.",[115,116,118],"h3",{"id":117},"tiktok-macros","TikTok Macros",[120,121,122,135],"table",{},[123,124,125],"thead",{},[126,127,128,132],"tr",{},[129,130,131],"th",{},"Macro",[129,133,134],{},"Description",[136,137,138,149,159,169,179,189],"tbody",{},[126,139,140,146],{},[141,142,143],"td",{},[19,144,145],{},"__CAMPAIGN_NAME__",[141,147,148],{},"Campaign Name",[126,150,151,156],{},[141,152,153],{},[19,154,155],{},"__AID_NAME__",[141,157,158],{},"Ad Group Name",[126,160,161,166],{},[141,162,163],{},[19,164,165],{},"__CID_NAME__",[141,167,168],{},"Ad\u002FCreative Name",[126,170,171,176],{},[141,172,173],{},[19,174,175],{},"__AID__",[141,177,178],{},"Ad Group ID",[126,180,181,186],{},[141,182,183],{},[19,184,185],{},"__CID__",[141,187,188],{},"Ad\u002FCreative ID",[126,190,191,196],{},[141,192,193],{},[19,194,195],{},"__CLICKID__",[141,197,198],{},"TikTok Click ID",[47,200,202],{"id":201},"how-to-get-token-pixel-code","How to Get Token & Pixel Code",[61,204,205,216,222,229,236,242,248,251],{},[64,206,207,208,215],{},"Open ",[209,210,214],"a",{"href":211,"rel":212},"https:\u002F\u002Fads.tiktok.com",[213],"nofollow","TikTok Ads Manager",".",[64,217,218,219,215],{},"Go to ",[57,220,221],{},"Tools > Events",[64,223,224,225,228],{},"Select ",[57,226,227],{},"Web Events"," and click the Pixel you want to use.",[64,230,231,232,235],{},"Go to the ",[57,233,234],{},"Settings"," tab.",[64,237,238,239,215],{},"Scroll to ",[57,240,241],{},"Events API",[64,243,244,245,215],{},"Click ",[57,246,247],{},"Generate Access Token",[64,249,250],{},"Copy that Token.",[64,252,253,254,215],{},"On the same tab, also copy your ",[57,255,256],{},"Pixel ID",[47,258,260],{"id":259},"integration-in-konektor","Integration in Konektor",[61,262,263,266,271,279,284],{},[64,264,265],{},"Login to Konektor Dashboard.",[64,267,218,268,215],{},[57,269,270],{},"Integrations > TikTok Ads",[64,272,273,274,37,276,215],{},"Enter ",[57,275,256],{},[57,277,278],{},"Access Token",[64,280,244,281,215],{},[57,282,283],{},"Test Connection",[64,285,286],{},"Save.",[288,289,291,298],"info",{"title":290},"Sync log statuses",[15,292,293,294,297],{},"When Konektor sends events to TikTok, it records detailed results in ",[57,295,296],{},"Sync Logs",":",[299,300,301,307,313,319],"ul",{},[64,302,303,306],{},[19,304,305],{},"accepted",": TikTok accepted the payload.",[64,308,309,312],{},[19,310,311],{},"partial_failure",": the request was accepted, but some data needs review.",[64,314,315,318],{},[19,316,317],{},"failed",": the request failed before TikTok accepted it.",[64,320,321,323],{},[19,322,44],{},": Konektor did not send the event because the minimum identifier or configuration was not sufficient.",[47,325,327],{"id":326},"event-mapping","Event Mapping",[15,329,330],{},"Konektor automatically maps lead status to standard TikTok events:",[120,332,333,344],{},[123,334,335],{},[126,336,337,341],{},[129,338,340],{"align":339},"left","Lead Status",[129,342,343],{"align":339},"TikTok Event",[136,345,346,358,370,382],{},[126,347,348,353],{},[141,349,350],{"align":339},[19,351,352],{},"new",[141,354,355],{"align":339},[19,356,357],{},"ViewContent",[126,359,360,365],{},[141,361,362],{"align":339},[19,363,364],{},"contacted",[141,366,367],{"align":339},[19,368,369],{},"Contact",[126,371,372,377],{},[141,373,374],{"align":339},[19,375,376],{},"qualified",[141,378,379],{"align":339},[19,380,381],{},"InitiateCheckout",[126,383,384,389],{},[141,385,386],{"align":339},[19,387,388],{},"won",[141,390,391,393,394],{"align":339},[19,392,21],{}," \u002F ",[19,395,396],{},"PlaceAnOrder",[47,398,400],{"id":399},"deduplication","Deduplication",[15,402,403,404,407],{},"Konektor sends a unique ",[19,405,406],{},"event_id"," parameter for each event. If you also manually install TikTok Pixel on your website, TikTok will automatically deduplicate events with the same ID between browser and server.",[47,409,411],{"id":410},"next-steps","Next Steps",[299,413,414,420],{},[64,415,416],{},[209,417,419],{"href":418},"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-pangle","Pangle Placement Optimization",[64,421,422],{},[209,423,425],{"href":424},"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Fcustomer-journey","View Customer Journey",{"title":106,"searchDepth":427,"depth":427,"links":428},2,[429,430,434,435,436,437,438],{"id":49,"depth":427,"text":50},{"id":84,"depth":427,"text":85,"children":431},[432],{"id":117,"depth":433,"text":118},3,{"id":201,"depth":427,"text":202},{"id":259,"depth":427,"text":260},{"id":326,"depth":427,"text":327},{"id":399,"depth":427,"text":400},{"id":410,"depth":427,"text":411},"platform-guides",null,"How to integrate TikTok Events API for server-side tracking, anti-adblock, and high accuracy.","md",{},7,"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads",{"title":447,"description":448,"keywords":449,"canonical":445},"TikTok Events API Setup","Improve TikTok Ads performance with Events API. Send server-to-server conversion data for maximum accuracy.",[450,451,452,453],"tiktok events api","tiktok pixel","how to setup tiktok ads","server side tracking",{"loc":445,"lastmod":455},"2026-09-06","en\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads",[458,459,460,461,462],"tiktok","events api","server-side","tracking","pixel",true,"-tAmu4Yb1IGetpNx_HO2V1BL_c1hr9YdSdveJrIOMsM"]