[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-en-\u002Fen\u002Fdocs\u002Ftracking-installation":3},{"id":4,"title":5,"body":6,"category":849,"code_examples":850,"demos":850,"description":851,"extension":852,"meta":853,"navigation":850,"order":826,"path":854,"seo":855,"sitemap":861,"stem":865,"tags":866,"toc":871,"videos":850,"__hash__":872},"docsEn\u002Fen\u002Fdocs\u002Ftracking-installation.md","Install and Verify the Konektor Tracking Script",{"type":7,"value":8,"toc":824},"minimark",[9,14,18,23,26,42,54,58,94,101,104,108,111,116,132,139,143,183,186,190,193,210,221,225,228,258,267,271,285,288,292,299,316,323,326,329,363,376,391,395,400,420,423,443,446,450,483,542,545,549,552,585,588,603,607,611,614,641,644,648,654,658,791,794,798],[10,11,13],"h1",{"id":12},"install-and-verify-the-tracking-script","Install and Verify the Tracking Script",[15,16,17],"p",{},"The tracking script connects website visits to events in Konektor. Follow this order: copy the workspace code, install it on every page, open the website, and confirm that Konektor receives a real event. Ad-platform delivery is a separate, optional step.",[19,20,22],"h2",{"id":21},"before-you-start","Before you start",[15,24,25],{},"You need:",[27,28,29,33,36,39],"ul",{},[30,31,32],"li",{},"owner or admin access to the Konektor workspace;",[30,34,35],{},"permission to change the website header or Google Tag Manager container;",[30,37,38],{},"a website page that you can open for testing;",[30,40,41],{},"ad-platform credentials if you also want to send events to Meta, Google, or TikTok.",[43,44,46],"warning",{"title":45},"Do not expose credentials",[15,47,48,49,53],{},"Never put an access token, API secret, or password in the website script. Enter platform credentials only in the ",[50,51,52],"strong",{},"Add Ad Platform"," form in the Konektor dashboard.",[19,55,57],{"id":56},"_1-copy-code-from-the-correct-workspace","1. Copy code from the correct workspace",[59,60,61,64,71,78,84],"ol",{},[30,62,63],{},"Enter the workspace that you want to track.",[30,65,66,67,70],{},"Open ",[50,68,69],{},"Website Tracking",".",[30,72,73,74,77],{},"Find the ",[50,75,76],{},"Unified Tracking Code"," card.",[30,79,80,81,70],{},"If an ID is not available, click ",[50,82,83],{},"Generate tracking code",[30,85,86,87,90,91,70],{},"Click ",[50,88,89],{},"View Code",", then click ",[50,92,93],{},"Copy Code",[15,95,96],{},[97,98],"img",{"alt":99,"src":100},"The Website Tracking page with the Unified Tracking Code card and the View Code button","\u002Fimages\u002Fdocs\u002Ftracking-kode-unified.webp",[15,102,103],{},"Always use the complete code generated by the dashboard. Do not copy a sample ID from documentation or replace the workspace ID manually.",[19,105,107],{"id":106},"_2-choose-one-installation-method","2. Choose one installation method",[15,109,110],{},"The script must load on every page that you want to track. Install it once through a method that applies site-wide.",[112,113,115],"h3",{"id":114},"html-manual","HTML manual",[59,117,118,121,129],{},[30,119,120],{},"Open the website's main layout template.",[30,122,123,124,128],{},"Paste the complete code before the closing ",[125,126,127],"code",{},"\u003C\u002Fhead>"," tag.",[30,130,131],{},"Save, build, and publish the website.",[15,133,134,135,138],{},"If the website navigates without loading a new page, make sure the app also records ",[125,136,137],{},"PageView"," after each route change. Ask a developer to check this when the URL changes without a full page reload.",[112,140,142],{"id":141},"google-tag-manager","Google Tag Manager",[59,144,145,148,154,159,162,172],{},[30,146,147],{},"Open the website container in Google Tag Manager.",[30,149,150,151,70],{},"Select ",[50,152,153],{},"Tags > New",[30,155,150,156,70],{},[50,157,158],{},"Tag Configuration > Custom HTML",[30,160,161],{},"Paste the complete Konektor code.",[30,163,164,165,168,169,70],{},"Under ",[50,166,167],{},"Triggering",", select ",[50,170,171],{},"Initialization - All Pages",[30,173,174,175,178,179,182],{},"Save, use ",[50,176,177],{},"Preview"," to test, then ",[50,180,181],{},"Submit"," to publish the container.",[15,184,185],{},"Make sure the Google Tag Manager container itself is installed on the website. A tag that is only saved and not published does not run for visitors.",[112,187,189],{"id":188},"wordpress","WordPress",[15,191,192],{},"Use a trusted feature or plugin that inserts code into the site-wide header.",[59,194,195,198,204,207],{},[30,196,197],{},"Open the header-code settings in WordPress.",[30,199,200,201,70],{},"Paste the complete Konektor code into ",[50,202,203],{},"Header",[30,205,206],{},"Save the change.",[30,208,209],{},"Clear the WordPress, caching-plugin, and CDN caches if used.",[15,211,212,213,220],{},"On WordPress.com, the ability to install JavaScript depends on the site's plan. See the ",[214,215,219],"a",{"href":216,"rel":217},"https:\u002F\u002Fwordpress.com\u002Fsupport\u002Fadding-code-to-headers\u002F",[218],"nofollow","WordPress header-code guide"," if you cannot find a code installation option.",[112,222,224],{"id":223},"shopify","Shopify",[15,226,227],{},"Back up or duplicate the theme before editing code.",[59,229,230,235,241,247,252],{},[30,231,66,232,70],{},[50,233,234],{},"Online Store > Themes",[30,236,237,238,70],{},"Open the action menu for the active theme, then select ",[50,239,240],{},"Edit code",[30,242,243,244,70],{},"Open the main layout file, usually ",[125,245,246],{},"theme.liquid",[30,248,249,250,70],{},"Paste the complete Konektor code before ",[125,251,127],{},[30,253,86,254,257],{},[50,255,256],{},"Save",", then open the published storefront.",[15,259,260,261,266],{},"See the ",[214,262,265],{"href":263,"rel":264},"https:\u002F\u002Fhelp.shopify.com\u002Fen\u002Fmanual\u002Fonline-store\u002Fthemes\u002Fextend\u002Ftheme-code",[218],"Shopify theme-code guide"," if your theme has a different structure.",[112,268,270],{"id":269},"landing-page-builder","Landing-page builder",[15,272,273,274,277,278,277,281,284],{},"Look for a setting named ",[50,275,276],{},"Custom Code",", ",[50,279,280],{},"Tracking Script",[50,282,283],{},"Header Script",", or something similar. Paste the code into the global header area, not into a single page element.",[15,286,287],{},"If the platform has separate public and checkout pages, check whether the code must be installed in both areas. Use the platform's official help because menu names can differ.",[112,289,291],{"id":290},"custom-backend-app-php-laravel-nodejs-and-similar","Custom backend app (PHP, Laravel, Node.js, and similar)",[15,293,294,295,298],{},"The Konektor tracking code is a plain HTML ",[125,296,297],{},"\u003Cscript>"," tag. It does not depend on the backend language, so the same steps apply to a website rendered by PHP, Laravel, Node.js, or another framework.",[59,300,301,308,313],{},[30,302,303,304,307],{},"Open the shared layout template every page uses, for example ",[125,305,306],{},"header.php"," or a Blade layout file.",[30,309,310,311,70],{},"Paste the whole code before the closing ",[125,312,127],{},[30,314,315],{},"Confirm that template is used by every route or page you want to track, including pages rendered from a different controller.",[15,317,318,319,322],{},"Follow the same verification steps in ",[50,320,321],{},"3. Send and verify a website event"," below.",[19,324,321],{"id":325},"_3-send-and-verify-a-website-event",[15,327,328],{},"Run this test on the published website, not only inside its editor.",[59,330,331,334,337,340,350,356],{},[30,332,333],{},"Open the website in a private or incognito window.",[30,335,336],{},"Open a page that contains the Konektor code.",[30,338,339],{},"Return to the Konektor member dashboard.",[30,341,342,343,346,347,70],{},"In the ",[50,344,345],{},"Activate one thing first"," panel, click ",[50,348,349],{},"Check again",[30,351,352,353,355],{},"Confirm that the website step says an event, such as ",[125,354,137],{},", was received.",[30,357,358,359,362],{},"Confirm that the header shows ",[50,360,361],{},"Event verified",". The header updates with the panel.",[15,364,365,366,369,370,373,374,70],{},"Before an event arrives, the header can show ",[50,367,368],{},"Tracking not tested"," or ",[50,371,372],{},"Waiting for event",". The successful website-tracking status is ",[50,375,361],{},[377,378,380],"info",{"title":379},"A real event is the required evidence",[15,381,382,383,386,387,390],{},"A loaded ",[125,384,385],{},"tracker.min.js"," file only proves that the browser found the script. Konektor marks website tracking as verified after receiving a real event. ",[50,388,389],{},"Test platform"," does not replace this website test.",[19,392,394],{"id":393},"_4-optional-add-an-ad-platform","4. Optional: add an ad platform",[15,396,397,398,70],{},"Skip this section if you only need to confirm that website tracking works. Add an ad platform after the header shows ",[50,399,361],{},[59,401,402,406,410,413,416],{},[30,403,66,404,70],{},[50,405,69],{},[30,407,86,408,70],{},[50,409,52],{},[30,411,412],{},"Select a platform.",[30,414,415],{},"Enter the values from that platform account.",[30,417,86,418,70],{},[50,419,256],{},[15,421,422],{},"Use these guides for credentials and event mapping:",[27,424,425,431,437],{},[30,426,427],{},[214,428,430],{"href":429},"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Fmeta-capi","Meta Conversions API",[30,432,433],{},[214,434,436],{"href":435},"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Fgoogle-ads","Google Ads",[30,438,439],{},[214,440,442],{"href":441},"\u002Fen\u002Fdocs\u002Fplatform-guides\u002Ftiktok-ads","TikTok Events API",[15,444,445],{},"By default, the Konektor script does not automatically load an ad platform's browser tag. If you already manage Meta Pixel, Google tag, or TikTok Pixel through Google Tag Manager or website code, keep the browser tag there to avoid duplicate installation.",[19,447,449],{"id":448},"_5-optional-test-platform-delivery","5. Optional: test platform delivery",[59,451,452,457,464,475,480],{},[30,453,454,455,70],{},"On the platform card in Konektor, click ",[50,456,389],{},[30,458,459,460,463],{},"Enter the ",[50,461,462],{},"Event Name"," and any required test data.",[30,465,466,467,470,471,474],{},"For Meta, enter a ",[50,468,469],{},"Test Event Code"," from ",[50,472,473],{},"Test Events"," when the test requires it.",[30,476,86,477,70],{},[50,478,479],{},"Send Test Event",[30,481,482],{},"Check the result in Konektor and the platform's test tool.",[484,485,486,500],"table",{},[487,488,489],"thead",{},[490,491,492,497],"tr",{},[493,494,496],"th",{"align":495},"left","Result",[493,498,499],{"align":495},"Meaning",[501,502,503,514,524,534],"tbody",{},[490,504,505,511],{},[506,507,508],"td",{"align":495},[125,509,510],{},"accepted",[506,512,513],{"align":495},"The platform accepted the test event.",[490,515,516,521],{},[506,517,518],{"align":495},[125,519,520],{},"partial_failure",[506,522,523],{"align":495},"Some data was accepted, but part of the payload needs attention.",[490,525,526,531],{},[506,527,528],{"align":495},[125,529,530],{},"skipped",[506,532,533],{"align":495},"The event was not sent because an identifier or required field is missing.",[490,535,536,539],{},[506,537,538],{"align":495},"Error",[506,540,541],{"align":495},"Check the credentials, ID, account permissions, and error message.",[15,543,544],{},"A saved platform configuration does not prove that delivery works. Platform delivery is verified after the destination accepts a test event. This result does not change the required website-tracking evidence.",[19,546,548],{"id":547},"move-or-remove-a-pixel-from-an-old-workspace","Move or remove a pixel from an old workspace",[15,550,551],{},"One pixel ID can be in only one workspace. If the ID is still in an old workspace, Konektor offers a way to move it to the new workspace.",[59,553,554,559,564,568,579,582],{},[30,555,556,557,70],{},"Open the new workspace, then open ",[50,558,69],{},[30,560,86,561,563],{},[50,562,52],{},", then enter the same platform and pixel ID as the old workspace.",[30,565,86,566,70],{},[50,567,256],{},[30,569,570,571,574,575,578],{},"If your account is an owner or admin in the old workspace, Konektor shows the message ",[50,572,573],{},"This pixel is in the workspace {old workspace name}",". Click ",[50,576,577],{},"Move to this workspace",". This still works even when the old workspace has no active plan.",[30,580,581],{},"If your account is not an owner or admin in the old workspace, Konektor shows a message that another workspace already uses this pixel. Ask the owner or admin of the old workspace to do the step above, or ask them to invite your account as an admin in this new workspace.",[30,583,584],{},"After the pixel moves, replace your website tracking code with the code from this new workspace.",[15,586,587],{},"Notes:",[27,589,590,593,596],{},[30,591,592],{},"Only a workspace owner or admin can move or delete a pixel.",[30,594,595],{},"Moving a pixel does not delete the leads in the old workspace.",[30,597,598,599,602],{},"You can also delete the pixel directly from its card in the old workspace, with the ",[50,600,601],{},"Delete"," button, if you do not want to move it.",[19,604,606],{"id":605},"optional-settings","Optional settings",[112,608,610],{"id":609},"tracking-host-allowlist","Tracking Host Allowlist",[15,612,613],{},"Use the allowlist when only specific domains should be allowed to send events.",[59,615,616,623,633,638],{},[30,617,342,618,620,621,70],{},[50,619,76],{}," card, open ",[50,622,610],{},[30,624,625,626,629,630,70],{},"Enter one host per line, such as ",[125,627,628],{},"example.com"," and ",[125,631,632],{},"www.example.com",[30,634,86,635,70],{},[50,636,637],{},"Save Allowlist",[30,639,640],{},"Test the website again.",[15,642,643],{},"When the list is empty, all hosts are allowed. When it contains entries, a website domain that is not listed is rejected.",[112,645,647],{"id":646},"custom-domain","Custom domain",[15,649,650,651,653],{},"After adding or changing a custom domain in Konektor, open ",[50,652,76],{}," again and copy the latest code. This is safer than editing domain options inside the script manually.",[19,655,657],{"id":656},"troubleshooting","Troubleshooting",[484,659,660,670],{},[487,661,662],{},[490,663,664,667],{},[493,665,666],{"align":495},"Symptom",[493,668,669],{"align":495},"What to check",[501,671,672,682,692,706,714,725,733,747,761,771,779],{},[490,673,674,677],{},[506,675,676],{"align":495},"The activation panel does not say an event was received",[506,678,679,680,70],{"align":495},"Open a published website page, wait briefly, then click ",[50,681,349],{},[490,683,684,687],{},[506,685,686],{"align":495},"The panel is complete but the header has not changed",[506,688,86,689,691],{"align":495},[50,690,349],{}," once. The panel and header fetch the latest evidence together.",[490,693,694,703],{},[506,695,696,698,699,702],{"align":495},[125,697,385],{}," does not appear in the browser ",[50,700,701],{},"Network"," tab",[506,704,705],{"align":495},"Confirm that the code is in the global header, the change is published, and caches are cleared.",[490,707,708,711],{},[506,709,710],{"align":495},"The script request is blocked",[506,712,713],{"align":495},"Test without a blocking extension, check Content Security Policy, and confirm that the website does not block the CDN domain.",[490,715,716,719],{},[506,717,718],{"align":495},"A domain-not-allowed message appears",[506,720,721,722,724],{"align":495},"Add the exact website host to ",[50,723,610],{},", or clear the list if you do not need the restriction yet.",[490,726,727,730],{},[506,728,729],{"align":495},"Events appear twice",[506,731,732],{"align":495},"Look for duplicate Konektor installation in the theme, plugins, and Google Tag Manager. Also check for platform browser tags installed through more than one method.",[490,734,735,738],{},[506,736,737],{"align":495},"No website event arrives even though the script loads",[506,739,740,741,743,744,70],{"align":495},"Check browser errors, the domain allowlist, and whether ",[125,742,137],{}," runs after ",[125,745,746],{},"init",[490,748,749,752],{},[506,750,751],{"align":495},"The platform does not receive the test event",[506,753,754,755,757,758,760],{"align":495},"Fix the configuration under ",[50,756,69],{},", then run ",[50,759,389],{}," again.",[490,762,763,768],{},[506,764,765,766],{"align":495},"A test event is ",[125,767,530],{},[506,769,770],{"align":495},"Add the identifier and required data described in the result message.",[490,772,773,776],{},[506,774,775],{"align":495},"A change is not visible",[506,777,778],{"align":495},"Publish the container or website, then clear browser, website, and CDN caches.",[490,780,781,784],{},[506,782,783],{"align":495},"The pixel ID is refused because it is in use",[506,785,786,787,790],{"align":495},"Read ",[214,788,548],{"href":789},"#move-or-remove-a-pixel-from-an-old-workspace",", then move that pixel to this workspace.",[15,792,793],{},"If the problem continues, record the test-page URL, test time, and error message. Hide access tokens, API secrets, customer identities, and personal data before sharing screenshots.",[19,795,797],{"id":796},"next-steps","Next steps",[27,799,800,806,812,818],{},[30,801,802,70],{},[214,803,805],{"href":804},"\u002Fen\u002Fdocs\u002Fwhatsapp","Create a WhatsApp Rotator",[30,807,808,70],{},[214,809,811],{"href":810},"\u002Fen\u002Fdocs\u002Fbusiness\u002Fconversion-strategy","Configure your conversion strategy",[30,813,814,70],{},[214,815,817],{"href":816},"\u002Fen\u002Fdocs\u002Fanalytics","Review Analytics",[30,819,820,70],{},[214,821,823],{"href":822},"\u002Fen\u002Fdocs\u002Fadvanced\u002Fgtm-setup","Install through Google Tag Manager",{"title":825,"searchDepth":826,"depth":826,"links":827},"",2,[828,829,830,839,840,841,842,843,847,848],{"id":21,"depth":826,"text":22},{"id":56,"depth":826,"text":57},{"id":106,"depth":826,"text":107,"children":831},[832,834,835,836,837,838],{"id":114,"depth":833,"text":115},3,{"id":141,"depth":833,"text":142},{"id":188,"depth":833,"text":189},{"id":223,"depth":833,"text":224},{"id":269,"depth":833,"text":270},{"id":290,"depth":833,"text":291},{"id":325,"depth":826,"text":321},{"id":393,"depth":826,"text":394},{"id":448,"depth":826,"text":449},{"id":547,"depth":826,"text":548},{"id":605,"depth":826,"text":606,"children":844},[845,846],{"id":609,"depth":833,"text":610},{"id":646,"depth":833,"text":647},{"id":656,"depth":826,"text":657},{"id":796,"depth":826,"text":797},"tracking",null,"Copy the script from the dashboard, install it on a website, and prove that Konektor receives a real event.","md",{},"\u002Fen\u002Fdocs\u002Ftracking-installation",{"keywords":856,"canonical":854,"title":5,"description":851},[857,858,859,860],"install konektor script","wordpress tracking","gtm tracking","shopify tracking",{"loc":854,"images":862,"lastmod":864},[863],{"loc":100},"2026-09-24","en\u002Fdocs\u002Ftracking-installation",[849,867,868,869,188,870,223],"script","pixel","installation","gtm",true,"cVAi4qS5pJ4yi2uncM_oaYbD0Sj18cI-P62ExRvsoZw"]