[{"data":1,"prerenderedAt":519},["ShallowReactive",2],{"docs-navigation":3,"docs:\u002Fdocs\u002Fdata-capture\u002Fstruggle-signals":331,"docs-area:\u002Fdocs\u002Fdata-capture":514,"docs-surround:\u002Fdocs\u002Fdata-capture\u002Fstruggle-signals":516},[4],{"title":5,"path":6,"stem":7,"children":8,"page":330},"Docs","\u002Fdocs","docs",[9,58,123,189,204,218,232,259,293,315],{"title":10,"path":11,"stem":12,"children":13,"icon":52,"summary":53,"section":18,"highlights":54},"Get started","\u002Fdocs\u002Fget-started","docs\u002F01.get-started\u002Findex",[14,21,26,31,37,42,47],{"title":15,"path":16,"stem":17,"icon":18,"summary":19,"section":20,"highlights":18,"children":-1},"Quickstart","\u002Fdocs\u002Fget-started\u002Fquickstart","docs\u002F01.get-started\u002F01.quickstart",null,"Create a property, add the tag to your site and see your first visits in Analytics.","Start here",{"title":22,"path":23,"stem":24,"icon":18,"summary":25,"section":20,"highlights":18,"children":-1},"Set up your organisation","\u002Fdocs\u002Fget-started\u002Fset-up-your-organisation","docs\u002F01.get-started\u002F02.set-up-your-organisation","Sign in, turn on two-step verification, choose where data is stored and invite your team.",{"title":27,"path":28,"stem":29,"icon":18,"summary":30,"section":20,"highlights":18,"children":-1},"Core concepts","\u002Fdocs\u002Fget-started\u002Fcore-concepts","docs\u002F01.get-started\u002F03.core-concepts","Organisations, properties, events, visits, page and click types, and how Publish reaches Analytics.",{"title":32,"path":33,"stem":34,"icon":18,"summary":35,"section":36,"highlights":18,"children":-1},"Guide for marketers","\u002Fdocs\u002Fget-started\u002Ffor-marketers","docs\u002F01.get-started\u002F04.for-marketers","Read the dashboards, explore your own questions and see where visitors struggle.","Guides by role",{"title":38,"path":39,"stem":40,"icon":18,"summary":41,"section":36,"highlights":18,"children":-1},"Guide for engineers","\u002Fdocs\u002Fget-started\u002Ffor-engineers","docs\u002F01.get-started\u002F05.for-engineers","Install the tag, set up consent and identify, and keep capture safe on your pages.",{"title":43,"path":44,"stem":45,"icon":18,"summary":46,"section":36,"highlights":18,"children":-1},"Guide for data teams","\u002Fdocs\u002Fget-started\u002Ffor-data-teams","docs\u002F01.get-started\u002F06.for-data-teams","Map your data layer to standard fields, publish, and build on the explores.",{"title":48,"path":49,"stem":50,"icon":18,"summary":51,"section":36,"highlights":18,"children":-1},"Guide for ecommerce teams","\u002Fdocs\u002Fget-started\u002Ffor-ecommerce-teams","docs\u002F01.get-started\u002F07.for-ecommerce-teams","Carts, checkouts, orders, revenue and attribution for your store.","i-lucide-rocket","Set up your organisation, add the tag and see your first visits in Analytics.",[55,56,57],{"title":15,"to":16},{"title":22,"to":23},{"title":27,"to":28},{"title":59,"path":60,"stem":61,"children":62,"icon":116,"summary":117,"section":18,"highlights":118},"Data Capture","\u002Fdocs\u002Fdata-capture","docs\u002F02.data-capture\u002Findex",[63,69,74,79,84,90,95,100,105,111],{"title":64,"path":65,"stem":66,"icon":18,"summary":67,"section":68,"highlights":18,"children":-1},"Install the website tag","\u002Fdocs\u002Fdata-capture\u002Finstall-the-website-tag","docs\u002F02.data-capture\u002F01.install-the-website-tag","Add the install snippet to every page, allow it in your CSP, and check that it works.","Set up",{"title":70,"path":71,"stem":72,"icon":18,"summary":73,"section":68,"highlights":18,"children":-1},"Turn capture features on","\u002Fdocs\u002Fdata-capture\u002Fturn-features-on","docs\u002F02.data-capture\u002F02.turn-features-on","What each capture card on a property does, and which are on from the start.",{"title":75,"path":76,"stem":77,"icon":18,"summary":78,"section":68,"highlights":18,"children":-1},"Existing tags and data layers","\u002Fdocs\u002Fdata-capture\u002Fexisting-tags-and-data-layers","docs\u002F02.data-capture\u002F03.existing-tags-and-data-layers","Read your tag manager data layer and the analytics tools you already run, without re-tagging.",{"title":80,"path":81,"stem":82,"icon":18,"summary":83,"section":68,"highlights":18,"children":-1},"Shopify checkout","\u002Fdocs\u002Fdata-capture\u002Fshopify-checkout","docs\u002F02.data-capture\u002F04.shopify-checkout","Count a Shopify store's carts, checkouts and orders, line by line, with Kontala's pixel.",{"title":85,"path":86,"stem":87,"icon":18,"summary":88,"section":89,"highlights":18,"children":-1},"Page and click types","\u002Fdocs\u002Fdata-capture\u002Fpage-and-click-types","docs\u002F02.data-capture\u002F05.page-and-click-types","The 11 page types and 30 click types, and how Kontala decides each one.","What gets captured",{"title":91,"path":92,"stem":93,"icon":18,"summary":94,"section":89,"highlights":18,"children":-1},"Struggle signals","\u002Fdocs\u002Fdata-capture\u002Fstruggle-signals","docs\u002F02.data-capture\u002F06.struggle-signals","Rage clicks, dead clicks, errors, page speed and quick backs, and how each is detected.",{"title":96,"path":97,"stem":98,"icon":18,"summary":99,"section":89,"highlights":18,"children":-1},"Revenue and campaigns","\u002Fdocs\u002Fdata-capture\u002Frevenue-and-campaigns","docs\u002F02.data-capture\u002F07.revenue-and-campaigns","Orders and revenue, the campaign parameters Kontala keeps, channels, attribution and ad spend.",{"title":101,"path":102,"stem":103,"icon":18,"summary":104,"section":89,"highlights":18,"children":-1},"Identify visitors","\u002Fdocs\u002Fdata-capture\u002Fidentify-visitors","docs\u002F02.data-capture\u002F08.identify-visitors","Tell Kontala who signed in, and how visits and visitors are counted.",{"title":106,"path":107,"stem":108,"icon":18,"summary":109,"section":110,"highlights":18,"children":-1},"Consent","\u002Fdocs\u002Fdata-capture\u002Fconsent","docs\u002F02.data-capture\u002F09.consent","How the tag behaves before and after a visitor answers your consent banner, and how to wire it up.","Privacy and control",{"title":112,"path":113,"stem":114,"icon":18,"summary":115,"section":110,"highlights":18,"children":-1},"Privacy and governance","\u002Fdocs\u002Fdata-capture\u002Fprivacy-and-governance","docs\u002F02.data-capture\u002F10.privacy-and-governance","What is kept and what is removed, page URLs, cookies, IP addresses, bots and how to leave parts of a page out.","i-lucide-mouse-pointer-click","One line of code captures page views, clicks, scrolling and struggle, classified in business terms.",[119,120,121,122],{"title":64,"to":65},{"title":70,"to":71},{"title":85,"to":86},{"title":106,"to":107},{"title":124,"path":125,"stem":126,"children":127,"icon":182,"summary":183,"section":18,"highlights":184},"Analytics","\u002Fdocs\u002Fanalytics","docs\u002F03.analytics\u002Findex",[128,134,139,145,150,155,160,166,171,177],{"title":129,"path":130,"stem":131,"icon":18,"summary":132,"section":133,"highlights":18,"children":-1},"Dashboards","\u002Fdocs\u002Fanalytics\u002Fdashboards","docs\u002F03.analytics\u002F01.dashboards","Open Kontala Analytics and find your way around the nine dashboards Kontala builds for you.","Get around",{"title":135,"path":136,"stem":137,"icon":18,"summary":138,"section":133,"highlights":18,"children":-1},"Explores, metrics and the semantic layer","\u002Fdocs\u002Fanalytics\u002Fsemantic-layer","docs\u002F03.analytics\u002F02.semantic-layer","The 20 explores Kontala maintains, what is in them, and how your Data Capture settings shape them.",{"title":140,"path":141,"stem":142,"icon":18,"summary":143,"section":144,"highlights":18,"children":-1},"How explores, dimensions and metrics work","\u002Fdocs\u002Fanalytics\u002Fexplores-dimensions-and-metrics","docs\u002F03.analytics\u002F03.explores-dimensions-and-metrics","Where a question starts, what you group it by, and what you measure.","Concepts",{"title":146,"path":147,"stem":148,"icon":18,"summary":149,"section":144,"highlights":18,"children":-1},"Explores","\u002Fdocs\u002Fanalytics\u002Fexplores","docs\u002F03.analytics\u002F04.explores","Open an explore, pick dimensions and metrics, then filter, sort and run your query.",{"title":151,"path":152,"stem":153,"icon":18,"summary":154,"section":144,"highlights":18,"children":-1},"Dimensions","\u002Fdocs\u002Fanalytics\u002Fdimensions","docs\u002F03.analytics\u002F05.dimensions","What you group and filter by: dimension types, dates and time intervals, filters and bins.",{"title":156,"path":157,"stem":158,"icon":18,"summary":159,"section":144,"highlights":18,"children":-1},"Metrics","\u002Fdocs\u002Fanalytics\u002Fmetrics","docs\u002F03.analytics\u002F06.metrics","What you measure: metric types, custom metrics, table calculations and the Metrics Catalog.",{"title":161,"path":162,"stem":163,"icon":18,"summary":164,"section":165,"highlights":18,"children":-1},"Explore and visualise","\u002Fdocs\u002Fanalytics\u002Fexplore-and-visualise","docs\u002F03.analytics\u002F07.explore-and-visualise","Build your own charts from the explores: filters, table calculations, custom fields and chart types.","Analyse",{"title":167,"path":168,"stem":169,"icon":18,"summary":170,"section":165,"highlights":18,"children":-1},"Ask AI and agents","\u002Fdocs\u002Fanalytics\u002Fask-ai-and-agents","docs\u002F03.analytics\u002F08.ask-ai-and-agents","AI assistants are not yet available in Kontala Analytics.",{"title":172,"path":173,"stem":174,"icon":18,"summary":175,"section":176,"highlights":18,"children":-1},"Share and export","\u002Fdocs\u002Fanalytics\u002Fshare-and-export","docs\u002F03.analytics\u002F09.share-and-export","Share links, comment on dashboards, export results and duplicate dashboards.","Share and govern",{"title":178,"path":179,"stem":180,"icon":18,"summary":181,"section":176,"highlights":18,"children":-1},"Security and governance","\u002Fdocs\u002Fanalytics\u002Fsecurity-and-governance","docs\u002F03.analytics\u002F10.security-and-governance","How you sign in to Analytics, what each role can do, and how your data is kept apart.","i-lucide-chart-line","Ready-made dashboards and 20 explores over your events, on a semantic layer Kontala maintains.",[185,186,187,188],{"title":129,"to":130},{"title":135,"to":136},{"title":140,"to":141},{"title":161,"to":162},{"title":190,"path":191,"stem":192,"children":193,"icon":200,"summary":201,"section":18,"highlights":202},"CDP","\u002Fdocs\u002Fcdp","docs\u002F04.cdp\u002Findex",[194],{"title":195,"path":196,"stem":197,"icon":18,"summary":198,"section":199,"highlights":18,"children":-1},"CDP overview","\u002Fdocs\u002Fcdp\u002Foverview","docs\u002F04.cdp\u002F01.overview","Identity resolution, consent, real-time audiences and warehouse-native sync.","Overview","i-lucide-users","One resolved, consented profile that every module reads and writes.",[203],{"title":195,"to":196},{"title":205,"path":206,"stem":207,"children":208,"icon":214,"summary":215,"section":18,"highlights":216},"Personalisation","\u002Fdocs\u002Fpersonalisation","docs\u002F05.personalisation\u002Findex",[209],{"title":210,"path":211,"stem":212,"icon":18,"summary":213,"section":199,"highlights":18,"children":-1},"Personalisation overview","\u002Fdocs\u002Fpersonalisation\u002Foverview","docs\u002F05.personalisation\u002F01.overview","Next best action, decisioning, bandits, recommendations and journey experiments.","i-lucide-sparkles","The next best content, offer and channel for each person.",[217],{"title":210,"to":211},{"title":219,"path":220,"stem":221,"children":222,"icon":228,"summary":229,"section":18,"highlights":230},"CVM","\u002Fdocs\u002Fcvm","docs\u002F06.cvm\u002Findex",[223],{"title":224,"path":225,"stem":226,"icon":18,"summary":227,"section":199,"highlights":18,"children":-1},"CVM overview","\u002Fdocs\u002Fcvm\u002Foverview","docs\u002F06.cvm\u002F01.overview","Churn and lifetime value prediction, lifecycle orchestration and offer guardrails.","i-lucide-trending-up","Lifecycle value, optimised for margin rather than vanity metrics.",[231],{"title":224,"to":225},{"title":233,"path":234,"stem":235,"children":236,"icon":253,"summary":254,"section":18,"highlights":255},"Autonomy","\u002Fdocs\u002Fautonomy","docs\u002F07.autonomy\u002Findex",[237,243,248],{"title":238,"path":239,"stem":240,"icon":18,"summary":241,"section":242,"highlights":18,"children":-1},"Goals and guardrails","\u002Fdocs\u002Fautonomy\u002Fgoals-and-guardrails","docs\u002F07.autonomy\u002F01.goals-and-guardrails","Optimise for value, within limits the models cannot cross.","Control",{"title":244,"path":245,"stem":246,"icon":18,"summary":247,"section":242,"highlights":18,"children":-1},"Autonomy levels","\u002Fdocs\u002Fautonomy\u002Fautonomy-levels","docs\u002F07.autonomy\u002F02.autonomy-levels","Approve, suggest-only or fully autonomous, set per journey.",{"title":249,"path":250,"stem":251,"icon":18,"summary":252,"section":242,"highlights":18,"children":-1},"Explainability","\u002Fdocs\u002Fautonomy\u002Fexplainability","docs\u002F07.autonomy\u002F03.explainability","Every action is logged with the signals and reasoning behind it.","i-lucide-shield-check","Goals, guardrails and approval levels: you decide how much runs on its own.",[256,257,258],{"title":238,"to":239},{"title":244,"to":245},{"title":249,"to":250},{"title":260,"path":261,"stem":262,"children":263,"icon":287,"summary":288,"section":18,"highlights":289},"Developers","\u002Fdocs\u002Fdevelopers","docs\u002F08.developers\u002Findex",[264,270,276,281],{"title":265,"path":266,"stem":267,"icon":18,"summary":268,"section":269,"highlights":18,"children":-1},"Tag reference","\u002Fdocs\u002Fdevelopers\u002Ftag-reference","docs\u002F08.developers\u002F01.tag-reference","Every script attribute, JavaScript function, HTML attribute and cookie of Kontala's website tag.","Website",{"title":271,"path":272,"stem":273,"icon":18,"summary":274,"section":275,"highlights":18,"children":-1},"App SDKs","\u002Fdocs\u002Fdevelopers\u002Fsdks","docs\u002F08.developers\u002F02.sdks","Native SDKs for Flutter, Android and iOS are in development and not yet available.","Apps and servers",{"title":277,"path":278,"stem":279,"icon":18,"summary":280,"section":275,"highlights":18,"children":-1},"Events API","\u002Fdocs\u002Fdevelopers\u002Fevents-api","docs\u002F08.developers\u002F03.events-api","The Events API, for sending events from your servers, is not yet available.",{"title":282,"path":283,"stem":284,"icon":18,"summary":285,"section":286,"highlights":18,"children":-1},"MCP server","\u002Fdocs\u002Fdevelopers\u002Fmcp","docs\u002F08.developers\u002F04.mcp","The MCP server for AI tools is not yet available.","AI tools","i-lucide-code-xml","The tag JavaScript API and attributes, and the status of the app SDKs and Events API.",[290,291,292],{"title":265,"to":266},{"title":271,"to":272},{"title":277,"to":278},{"title":294,"path":295,"stem":296,"children":297,"icon":310,"summary":311,"section":18,"highlights":312},"Security and privacy","\u002Fdocs\u002Fsecurity-and-privacy","docs\u002F09.security-and-privacy\u002Findex",[298,304],{"title":299,"path":300,"stem":301,"icon":18,"summary":302,"section":303,"highlights":18,"children":-1},"Data protection","\u002Fdocs\u002Fsecurity-and-privacy\u002Fdata-protection","docs\u002F09.security-and-privacy\u002F01.data-protection","Where events are stored, how long they are kept, and how visitors are protected.","Data",{"title":305,"path":306,"stem":307,"icon":18,"summary":308,"section":309,"highlights":18,"children":-1},"Access control","\u002Fdocs\u002Fsecurity-and-privacy\u002Faccess-control","docs\u002F09.security-and-privacy\u002F02.access-control","Sign-in, two-step verification, roles and write keys.","Access","i-lucide-lock","Where your data is stored, how long it is kept, and who in your team can do what.",[313,314],{"title":299,"to":300},{"title":305,"to":306},{"title":316,"path":317,"stem":318,"children":319,"icon":326,"summary":327,"section":18,"highlights":328},"Help and support","\u002Fdocs\u002Fsupport","docs\u002F10.support\u002Findex",[320],{"title":321,"path":322,"stem":323,"icon":18,"summary":324,"section":325,"highlights":18,"children":-1},"Contact us","\u002Fdocs\u002Fsupport\u002Fcontact-us","docs\u002F10.support\u002F01.contact-us","Talk to the Kontala team about setup, access or anything else.","Support","i-lucide-life-buoy","Get help from the Kontala team.",[329],{"title":321,"to":322},false,{"path":92,"title":91,"description":94,"summary":94,"icon":18,"section":89,"sections":18,"lastUpdated":332,"body":333},"2026-10-12",{"type":334,"value":335,"toc":503},"minimark",[336,345,350,353,357,360,364,367,371,374,378,381,459,466,470,473,477,500],[337,338,339,340,344],"p",{},"Turn on ",[341,342,343],"strong",{},"Friction"," for a property to see where its pages make visitors struggle.\nEvery signal is captured only with a visitor's consent.",[346,347,349],"h2",{"id":348},"rage-clicks","Rage clicks",[337,351,352],{},"Three or more clicks, each within one second and 30 pixels of the one before.\nA triple-click that selects text does not count.",[346,354,356],{"id":355},"dead-clicks","Dead clicks",[337,358,359],{},"A click on something that looks clickable that nothing answered within one second.\nAn answer is anything the page does in response: a change on the page, a scroll, a field gaining focus, or a navigation.\nClicks on fields, labels, media, downloads, new-tab links, and email and phone links are left out.",[346,361,363],{"id":362},"error-clicks","Error clicks",[337,365,366],{},"A click followed within one second by a JavaScript error.",[346,368,370],{"id":369},"javascript-errors","JavaScript errors",[337,372,373],{},"Errors and unhandled promise rejections that visitors hit while the page is visible.\nEach error sends its type and its message, with numbers, addresses and quoted text taken out, and where in your scripts it happened.\nIt never sends the trail of code that led to it.\nErrors from browser extensions are left out.",[346,375,377],{"id":376},"page-speed","Page speed",[337,379,380],{},"Each page view records its Core Web Vitals, rated at web.dev's thresholds:",[382,383,384,400],"table",{},[385,386,387],"thead",{},[388,389,390,394,397],"tr",{},[391,392,393],"th",{},"Measure",[391,395,396],{},"Good",[391,398,399],{},"Poor",[401,402,403,415,426,437,448],"tbody",{},[388,404,405,409,412],{},[406,407,408],"td",{},"Largest Contentful Paint (LCP)",[406,410,411],{},"2.5 s or less",[406,413,414],{},"over 4 s",[388,416,417,420,423],{},[406,418,419],{},"Interaction to Next Paint (INP)",[406,421,422],{},"200 ms or less",[406,424,425],{},"over 500 ms",[388,427,428,431,434],{},[406,429,430],{},"Cumulative Layout Shift (CLS)",[406,432,433],{},"0.1 or less",[406,435,436],{},"over 0.25",[388,438,439,442,445],{},[406,440,441],{},"First Contentful Paint (FCP)",[406,443,444],{},"1.8 s or less",[406,446,447],{},"over 3 s",[388,449,450,453,456],{},[406,451,452],{},"Time to First Byte (TTFB)",[406,454,455],{},"0.8 s or less",[406,457,458],{},"over 1.8 s",[337,460,461,462,465],{},"A page view's ",[341,463,464],{},"Speed rating"," is the worst of its LCP, INP and CLS.\nEach measure also names the element it was about, by its tag, id and class names, never its text.",[346,467,469],{"id":468},"quick-backs","Quick backs",[337,471,472],{},"A visitor who returns to the page they came from within 10 seconds.",[346,474,476],{"id":475},"where-to-see-them","Where to see them",[478,479,480,487,493],"ul",{},[481,482,483,484,486],"li",{},"The ",[341,485,343],{}," explore, with a signal for each of Error, Error click, Rage click, Dead click and Quick back.",[481,488,483,489,492],{},[341,490,491],{},"Product and app usage"," dashboard, on its Friction and Speed tabs.",[481,494,495,496,499],{},"In the Visits explore, a visit is ",[341,497,498],{},"frustrated"," when it met an error click, a rage click, a dead click or a quick back.",[337,501,502],{},"Rates are worked out over the page views that were measured, so pages from before Friction was turned on are not counted against you.",{"title":504,"searchDepth":505,"depth":505,"links":506},"",2,[507,508,509,510,511,512,513],{"id":348,"depth":505,"text":349},{"id":355,"depth":505,"text":356},{"id":362,"depth":505,"text":363},{"id":369,"depth":505,"text":370},{"id":376,"depth":505,"text":377},{"id":468,"depth":505,"text":469},{"id":475,"depth":505,"text":476},{"sections":515},[68,89,110],[517,518],{"title":85,"path":86,"stem":87,"summary":88,"children":-1},{"title":96,"path":97,"stem":98,"summary":99,"children":-1},1791815163559]