[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-en-\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads":3},{"id":4,"title":5,"body":6,"category":435,"code_examples":436,"demos":436,"description":437,"extension":438,"meta":439,"navigation":436,"order":440,"path":441,"seo":442,"sitemap":451,"stem":453,"tags":454,"toc":460,"videos":436,"__hash__":461},"docsEn\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads.md","Setup TikTok Events API",{"type":7,"value":8,"toc":425},"minimark",[9,14,27,46,51,54,60,82,86,97,107,114,198,202,256,260,286,323,327,330,396,400,407,411],[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,117,118],"details",{},"View TikTok Macros\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",[119,120,121,134],"table",{},[122,123,124],"thead",{},[125,126,127,131],"tr",{},[128,129,130],"th",{},"Macro",[128,132,133],{},"Description",[135,136,137,148,158,168,178,188],"tbody",{},[125,138,139,145],{},[140,141,142],"td",{},[19,143,144],{},"__CAMPAIGN_NAME__",[140,146,147],{},"Campaign Name",[125,149,150,155],{},[140,151,152],{},[19,153,154],{},"__AID_NAME__",[140,156,157],{},"Ad Group Name",[125,159,160,165],{},[140,161,162],{},[19,163,164],{},"__CID_NAME__",[140,166,167],{},"Ad\u002FCreative Name",[125,169,170,175],{},[140,171,172],{},[19,173,174],{},"__AID__",[140,176,177],{},"Ad Group ID",[125,179,180,185],{},[140,181,182],{},[19,183,184],{},"__CID__",[140,186,187],{},"Ad\u002FCreative ID",[125,189,190,195],{},[140,191,192],{},[19,193,194],{},"__CLICKID__",[140,196,197],{},"TikTok Click ID",[47,199,201],{"id":200},"how-to-get-token-pixel-code","How to Get Token & Pixel Code",[61,203,204,215,221,228,235,241,247,250],{},[64,205,206,207,214],{},"Open ",[208,209,213],"a",{"href":210,"rel":211},"https:\u002F\u002Fads.tiktok.com",[212],"nofollow","TikTok Ads Manager",".",[64,216,217,218,214],{},"Go to ",[57,219,220],{},"Tools > Events",[64,222,223,224,227],{},"Select ",[57,225,226],{},"Web Events"," and click the Pixel you want to use.",[64,229,230,231,234],{},"Go to the ",[57,232,233],{},"Settings"," tab.",[64,236,237,238,214],{},"Scroll to ",[57,239,240],{},"Events API",[64,242,243,244,214],{},"Click ",[57,245,246],{},"Generate Access Token",[64,248,249],{},"Copy that Token.",[64,251,252,253,214],{},"On the same tab, also copy your ",[57,254,255],{},"Pixel ID",[47,257,259],{"id":258},"integration-in-konektor","Integration in Konektor",[61,261,262,265,270,278,283],{},[64,263,264],{},"Login to Konektor Dashboard.",[64,266,217,267,214],{},[57,268,269],{},"Integrations > TikTok Ads",[64,271,272,273,37,275,214],{},"Enter ",[57,274,255],{},[57,276,277],{},"Access Token",[64,279,243,280,214],{},[57,281,282],{},"Test Connection",[64,284,285],{},"Save.",[287,288,290,297],"info",{"title":289},"Sync log statuses",[15,291,292,293,296],{},"When Konektor sends events to TikTok, it records detailed results in ",[57,294,295],{},"Sync Logs",":",[298,299,300,306,312,318],"ul",{},[64,301,302,305],{},[19,303,304],{},"accepted",": TikTok accepted the payload.",[64,307,308,311],{},[19,309,310],{},"partial_failure",": the request was accepted, but some data needs review.",[64,313,314,317],{},[19,315,316],{},"failed",": the request failed before TikTok accepted it.",[64,319,320,322],{},[19,321,44],{},": Konektor did not send the event because the minimum identifier or configuration was not sufficient.",[47,324,326],{"id":325},"event-mapping","Event Mapping",[15,328,329],{},"Konektor automatically maps lead status to standard TikTok events:",[119,331,332,343],{},[122,333,334],{},[125,335,336,340],{},[128,337,339],{"align":338},"left","Lead Status",[128,341,342],{"align":338},"TikTok Event",[135,344,345,357,369,381],{},[125,346,347,352],{},[140,348,349],{"align":338},[19,350,351],{},"new",[140,353,354],{"align":338},[19,355,356],{},"ViewContent",[125,358,359,364],{},[140,360,361],{"align":338},[19,362,363],{},"contacted",[140,365,366],{"align":338},[19,367,368],{},"Contact",[125,370,371,376],{},[140,372,373],{"align":338},[19,374,375],{},"qualified",[140,377,378],{"align":338},[19,379,380],{},"InitiateCheckout",[125,382,383,388],{},[140,384,385],{"align":338},[19,386,387],{},"won",[140,389,390,392,393],{"align":338},[19,391,21],{}," \u002F ",[19,394,395],{},"PlaceAnOrder",[47,397,399],{"id":398},"deduplication","Deduplication",[15,401,402,403,406],{},"Konektor sends a unique ",[19,404,405],{},"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,408,410],{"id":409},"next-steps","Next Steps",[298,412,413,419],{},[64,414,415],{},[208,416,418],{"href":417},"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-pangle","Pangle Placement Optimization",[64,420,421],{},[208,422,424],{"href":423},"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Fcustomer-journey","View Customer Journey",{"title":106,"searchDepth":426,"depth":426,"links":427},2,[428,429,430,431,432,433,434],{"id":49,"depth":426,"text":50},{"id":84,"depth":426,"text":85},{"id":200,"depth":426,"text":201},{"id":258,"depth":426,"text":259},{"id":325,"depth":426,"text":326},{"id":398,"depth":426,"text":399},{"id":409,"depth":426,"text":410},"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":443,"description":444,"keywords":445,"canonical":441,"image":450},"TikTok Events API Setup - Server-Side Tracking Guide","Improve TikTok Ads performance with Events API. Send server-to-server conversion data for maximum accuracy.",[446,447,448,449],"tiktok events api","tiktok pixel","how to setup tiktok ads","server side tracking","\u002Fog-tiktok-ads.png",{"loc":441,"lastmod":452},"2026-03-04","en\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads",[455,456,457,458,459],"tiktok","events api","server-side","tracking","pixel",true,"X0rljWwGw2r7UyMe-XK7OFldtmY1F9HgFwDNMIFxyNQ"]