[{"data":1,"prerenderedAt":1225},["ShallowReactive",2],{"docs-navigation":3,"docs:\u002Fdocs\u002Fanalytics\u002Ffriction":505,"docs-area:\u002Fdocs\u002Fanalytics":1220,"docs-surround:\u002Fdocs\u002Fanalytics\u002Ffriction":1222},[4],{"title":5,"path":6,"stem":7,"children":8,"page":504},"Docs","\u002Fdocs","docs",[9,58,123,349,363,377,391,418,467,489],{"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":342,"summary":343,"section":18,"highlights":344},"Analytics","\u002Fdocs\u002Fanalytics","docs\u002F03.analytics\u002Findex",[128,134,139,145,150,155,160,165,171,176,182,187,193,198,203,208,213,218,223,228,233,238,243,248,253,258,263,268,273,278,283,288,293,299,304,309,314,318,323,328,333,338],{"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 ready-made 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 21 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":144,"highlights":18,"children":-1},"Attribution modelling","\u002Fdocs\u002Fanalytics\u002Fattribution-modelling","docs\u002F03.analytics\u002F07.attribution-modelling","How conversions are credited to channels and campaigns: journeys, touchpoints, the three models and the switches.",{"title":166,"path":167,"stem":168,"icon":18,"summary":169,"section":170,"highlights":18,"children":-1},"Explore and visualise","\u002Fdocs\u002Fanalytics\u002Fexplore-and-visualise","docs\u002F03.analytics\u002F08.explore-and-visualise","Build your own charts from the explores: filters, table calculations, custom fields and chart types.","Analyse",{"title":172,"path":173,"stem":174,"icon":18,"summary":175,"section":170,"highlights":18,"children":-1},"Ask AI and agents","\u002Fdocs\u002Fanalytics\u002Fask-ai-and-agents","docs\u002F03.analytics\u002F09.ask-ai-and-agents","AI assistants are not yet available in Kontala Analytics.",{"title":177,"path":178,"stem":179,"icon":18,"summary":180,"section":181,"highlights":18,"children":-1},"Share and export","\u002Fdocs\u002Fanalytics\u002Fshare-and-export","docs\u002F03.analytics\u002F10.share-and-export","Share links, comment on dashboards, export results and duplicate dashboards.","Share and govern",{"title":183,"path":184,"stem":185,"icon":18,"summary":186,"section":181,"highlights":18,"children":-1},"Security and governance","\u002Fdocs\u002Fanalytics\u002Fsecurity-and-governance","docs\u002F03.analytics\u002F11.security-and-governance","How you sign in to Analytics, what each role can do, and how your data is kept apart.",{"title":188,"path":189,"stem":190,"icon":18,"summary":191,"section":192,"highlights":18,"children":-1},"Page views","\u002Fdocs\u002Fanalytics\u002Fpage-views","docs\u002F03.analytics\u002F12.page-views","Every page view, with its page, page type, visit, location, device, scroll depth and speed.","Explore reference",{"title":194,"path":195,"stem":196,"icon":18,"summary":197,"section":192,"highlights":18,"children":-1},"Visits","\u002Fdocs\u002Fanalytics\u002Fvisits","docs\u002F03.analytics\u002F13.visits","Every visit, as it arrived: channel, landing page, conversions and revenue.",{"title":199,"path":200,"stem":201,"icon":18,"summary":202,"section":192,"highlights":18,"children":-1},"Clicks","\u002Fdocs\u002Fanalytics\u002Fclicks","docs\u002F03.analytics\u002F14.clicks","Every click on a link, button or control, and every form sent, with its click type.",{"title":204,"path":205,"stem":206,"icon":18,"summary":207,"section":192,"highlights":18,"children":-1},"Swipes","\u002Fdocs\u002Fanalytics\u002Fswipes","docs\u002F03.analytics\u002F15.swipes","Every sideways swipe, such as through a carousel or gallery.",{"title":209,"path":210,"stem":211,"icon":18,"summary":212,"section":192,"highlights":18,"children":-1},"Friction","\u002Fdocs\u002Fanalytics\u002Ffriction","docs\u002F03.analytics\u002F16.friction","Every JavaScript error, rage click, dead click and quick back, and where it happened.",{"title":214,"path":215,"stem":216,"icon":18,"summary":217,"section":192,"highlights":18,"children":-1},"Checkout","\u002Fdocs\u002Fanalytics\u002Fcheckout","docs\u002F03.analytics\u002F17.checkout","Every Shopify checkout opened, step submitted and order paid.",{"title":219,"path":220,"stem":221,"icon":18,"summary":222,"section":192,"highlights":18,"children":-1},"Carts","\u002Fdocs\u002Fanalytics\u002Fcarts","docs\u002F03.analytics\u002F18.carts","Every visit with a cart, and whether it was bought, abandoned or recovered later.",{"title":224,"path":225,"stem":226,"icon":18,"summary":227,"section":192,"highlights":18,"children":-1},"Items","\u002Fdocs\u002Fanalytics\u002Fitems","docs\u002F03.analytics\u002F19.items","Every item of every product list, cart, checkout and order.",{"title":229,"path":230,"stem":231,"icon":18,"summary":232,"section":192,"highlights":18,"children":-1},"Products","\u002Fdocs\u002Fanalytics\u002Fproducts","docs\u002F03.analytics\u002F20.products","Every product listed, viewed, added to a cart, bought or refunded.",{"title":234,"path":235,"stem":236,"icon":18,"summary":237,"section":192,"highlights":18,"children":-1},"Data layer events","\u002Fdocs\u002Fanalytics\u002Fdata-layer-events","docs\u002F03.analytics\u002F21.data-layer-events","Every event your site pushes to its data layer, with your own fields.",{"title":239,"path":240,"stem":241,"icon":18,"summary":242,"section":192,"highlights":18,"children":-1},"Campaigns","\u002Fdocs\u002Fanalytics\u002Fcampaigns","docs\u002F03.analytics\u002F22.campaigns","Each day of each campaign: visits, credited conversions, ad spend, cost per conversion and ROAS.",{"title":244,"path":245,"stem":246,"icon":18,"summary":247,"section":192,"highlights":18,"children":-1},"Campaign trends","\u002Fdocs\u002Fanalytics\u002Fcampaign-trends","docs\u002F03.analytics\u002F23.campaign-trends","Spend, cost per visit, cost per conversion and ROAS, against earlier weeks and the usual.",{"title":249,"path":250,"stem":251,"icon":18,"summary":252,"section":192,"highlights":18,"children":-1},"Attribution","\u002Fdocs\u002Fanalytics\u002Fattribution","docs\u002F03.analytics\u002F24.attribution","Every touchpoint of every conversion's 90-day journey, with each model's credit.",{"title":254,"path":255,"stem":256,"icon":18,"summary":257,"section":192,"highlights":18,"children":-1},"Cohorts","\u002Fdocs\u002Fanalytics\u002Fcohorts","docs\u002F03.analytics\u002F25.cohorts","Each new visitor in each week and month after their first visit: return rates and value.",{"title":259,"path":260,"stem":261,"icon":18,"summary":262,"section":192,"highlights":18,"children":-1},"Activity","\u002Fdocs\u002Fanalytics\u002Factivity","docs\u002F03.analytics\u002F26.activity","Active visitors by day, week and month, with growth accounting and stickiness.",{"title":264,"path":265,"stem":266,"icon":18,"summary":267,"section":192,"highlights":18,"children":-1},"Activation","\u002Fdocs\u002Fanalytics\u002Factivation","docs\u002F03.analytics\u002F27.activation","Each sign-up beside each key action: how many reach it, how fast, and whether they stay.",{"title":269,"path":270,"stem":271,"icon":18,"summary":272,"section":192,"highlights":18,"children":-1},"Feature usage","\u002Fdocs\u002Fanalytics\u002Ffeature-usage","docs\u002F03.analytics\u002F28.feature-usage","Which features active visitors use, how often, and who adopts them.",{"title":274,"path":275,"stem":276,"icon":18,"summary":277,"section":192,"highlights":18,"children":-1},"First visits","\u002Fdocs\u002Fanalytics\u002Ffirst-visits","docs\u002F03.analytics\u002F29.first-visits","Which first-visit features go with new visitors coming back.",{"title":279,"path":280,"stem":281,"icon":18,"summary":282,"section":192,"highlights":18,"children":-1},"First-visit paths","\u002Fdocs\u002Fanalytics\u002Ffirst-visit-paths","docs\u002F03.analytics\u002F30.first-visit-paths","The paths new visitors take on their first visit, and whether they came back.",{"title":284,"path":285,"stem":286,"icon":18,"summary":287,"section":192,"highlights":18,"children":-1},"Trends","\u002Fdocs\u002Fanalytics\u002Ftrends","docs\u002F03.analytics\u002F31.trends","Every visit KPI against last week, last year, the usual and an expected range.",{"title":289,"path":290,"stem":291,"icon":18,"summary":292,"section":192,"highlights":18,"children":-1},"Movers","\u002Fdocs\u002Fanalytics\u002Fmovers","docs\u002F03.analytics\u002F32.movers","What moved: each channel, landing page or device against last week and the usual.",{"title":294,"path":295,"stem":296,"icon":18,"summary":297,"section":298,"highlights":18,"children":-1},"Overview","\u002Fdocs\u002Fanalytics\u002Foverview-dashboard","docs\u002F03.analytics\u002F33.overview-dashboard","Traffic, active users and top content at a glance: the place to start.","Dashboard reference",{"title":300,"path":301,"stem":302,"icon":18,"summary":303,"section":298,"highlights":18,"children":-1},"Acquisition","\u002Fdocs\u002Fanalytics\u002Facquisition-dashboard","docs\u002F03.analytics\u002F34.acquisition-dashboard","Where people come from, what the ads cost and returned, and where each channel lands them.",{"title":305,"path":306,"stem":307,"icon":18,"summary":308,"section":298,"highlights":18,"children":-1},"Engagement","\u002Fdocs\u002Fanalytics\u002Fengagement-dashboard","docs\u002F03.analytics\u002F35.engagement-dashboard","How visits engage, the pages read and left, the clicks and forms acted on, and who comes back.",{"title":310,"path":311,"stem":312,"icon":18,"summary":313,"section":298,"highlights":18,"children":-1},"Conversion","\u002Fdocs\u002Fanalytics\u002Fconversion-dashboard","docs\u002F03.analytics\u002F36.conversion-dashboard","Whether visits convert, where the funnels lose them and how long a first conversion takes.",{"title":249,"path":315,"stem":316,"icon":18,"summary":317,"section":298,"highlights":18,"children":-1},"\u002Fdocs\u002Fanalytics\u002Fattribution-dashboard","docs\u002F03.analytics\u002F37.attribution-dashboard","Which channel gets credit for a conversion under first touch, linear and last touch, and the paths journeys take.",{"title":319,"path":320,"stem":321,"icon":18,"summary":322,"section":298,"highlights":18,"children":-1},"Retention and cohorts","\u002Fdocs\u002Fanalytics\u002Fretention-dashboard","docs\u002F03.analytics\u002F38.retention-dashboard","Whether new visitors come back, sign-ups activate and the audience grows, and what a new visitor is worth.",{"title":324,"path":325,"stem":326,"icon":18,"summary":327,"section":298,"highlights":18,"children":-1},"Audience","\u002Fdocs\u002Fanalytics\u002Faudience-dashboard","docs\u002F03.analytics\u002F39.audience-dashboard","Who your visitors are: where, on what, how often, and whether you know them.",{"title":329,"path":330,"stem":331,"icon":18,"summary":332,"section":298,"highlights":18,"children":-1},"Product and app usage","\u002Fdocs\u002Fanalytics\u002Fproduct-usage-dashboard","docs\u002F03.analytics\u002F40.product-usage-dashboard","Which features people use, which first visits lead to coming back, where they struggle and which pages are slow.",{"title":334,"path":335,"stem":336,"icon":18,"summary":337,"section":298,"highlights":18,"children":-1},"Trend and anomaly","\u002Fdocs\u002Fanalytics\u002Ftrends-dashboard","docs\u002F03.analytics\u002F41.trends-dashboard","What changed, whether it is unusual, what drove it, and what moved around a release or launch.",{"title":229,"path":339,"stem":340,"icon":18,"summary":341,"section":298,"highlights":18,"children":-1},"\u002Fdocs\u002Fanalytics\u002Fproducts-dashboard","docs\u002F03.analytics\u002F42.products-dashboard","Which products sell, and where shoppers drop off between viewing and buying.","i-lucide-chart-line","Ready-made dashboards and 21 explores over your events, on a semantic layer Kontala maintains.",[345,346,347,348],{"title":129,"to":130},{"title":135,"to":136},{"title":140,"to":141},{"title":166,"to":167},{"title":350,"path":351,"stem":352,"children":353,"icon":359,"summary":360,"section":18,"highlights":361},"CDP","\u002Fdocs\u002Fcdp","docs\u002F04.cdp\u002Findex",[354],{"title":355,"path":356,"stem":357,"icon":18,"summary":358,"section":294,"highlights":18,"children":-1},"CDP overview","\u002Fdocs\u002Fcdp\u002Foverview","docs\u002F04.cdp\u002F01.overview","Identity resolution, consent, real-time audiences and warehouse-native sync.","i-lucide-users","One resolved, consented profile that every module reads and writes.",[362],{"title":355,"to":356},{"title":364,"path":365,"stem":366,"children":367,"icon":373,"summary":374,"section":18,"highlights":375},"Personalisation","\u002Fdocs\u002Fpersonalisation","docs\u002F05.personalisation\u002Findex",[368],{"title":369,"path":370,"stem":371,"icon":18,"summary":372,"section":294,"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.",[376],{"title":369,"to":370},{"title":378,"path":379,"stem":380,"children":381,"icon":387,"summary":388,"section":18,"highlights":389},"CVM","\u002Fdocs\u002Fcvm","docs\u002F06.cvm\u002Findex",[382],{"title":383,"path":384,"stem":385,"icon":18,"summary":386,"section":294,"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.",[390],{"title":383,"to":384},{"title":392,"path":393,"stem":394,"children":395,"icon":412,"summary":413,"section":18,"highlights":414},"Autonomy","\u002Fdocs\u002Fautonomy","docs\u002F07.autonomy\u002Findex",[396,402,407],{"title":397,"path":398,"stem":399,"icon":18,"summary":400,"section":401,"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":403,"path":404,"stem":405,"icon":18,"summary":406,"section":401,"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":408,"path":409,"stem":410,"icon":18,"summary":411,"section":401,"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.",[415,416,417],{"title":397,"to":398},{"title":403,"to":404},{"title":408,"to":409},{"title":419,"path":420,"stem":421,"children":422,"icon":461,"summary":462,"section":18,"highlights":463},"Developers","\u002Fdocs\u002Fdevelopers","docs\u002F08.developers\u002Findex",[423,429,435,440,445,450,455],{"title":424,"path":425,"stem":426,"icon":18,"summary":427,"section":428,"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":430,"path":431,"stem":432,"icon":18,"summary":433,"section":434,"highlights":18,"children":-1},"App SDKs","\u002Fdocs\u002Fdevelopers\u002Fsdks","docs\u002F08.developers\u002F02.sdks","Which app SDKs are available, and where to find each one's installation guide.","Apps and servers",{"title":436,"path":437,"stem":438,"icon":18,"summary":439,"section":434,"highlights":18,"children":-1},"Flutter SDK","\u002Fdocs\u002Fdevelopers\u002Fflutter-sdk","docs\u002F08.developers\u002F03.flutter-sdk","Install kontala_flutter, start it in main(), and check that events arrive.",{"title":441,"path":442,"stem":443,"icon":18,"summary":444,"section":434,"highlights":18,"children":-1},"Android SDK","\u002Fdocs\u002Fdevelopers\u002Fandroid-sdk","docs\u002F08.developers\u002F04.android-sdk","Add la.konta:kontala-android, start it in Application.onCreate, and check that events arrive.",{"title":446,"path":447,"stem":448,"icon":18,"summary":449,"section":434,"highlights":18,"children":-1},"iOS SDK","\u002Fdocs\u002Fdevelopers\u002Fios-sdk","docs\u002F08.developers\u002F05.ios-sdk","Add the kontala-ios package, start it as the app launches, and check that events arrive.",{"title":451,"path":452,"stem":453,"icon":18,"summary":454,"section":434,"highlights":18,"children":-1},"Events API","\u002Fdocs\u002Fdevelopers\u002Fevents-api","docs\u002F08.developers\u002F06.events-api","Send events from your servers and apps to Kontala, beside the website tag.",{"title":456,"path":457,"stem":458,"icon":18,"summary":459,"section":460,"highlights":18,"children":-1},"MCP server","\u002Fdocs\u002Fdevelopers\u002Fmcp","docs\u002F08.developers\u002F07.mcp","The MCP server for AI tools is not yet available.","AI tools","i-lucide-code-xml","The tag JavaScript API and attributes, the app SDKs, and the Events API.",[464,465,466],{"title":424,"to":425},{"title":430,"to":431},{"title":451,"to":452},{"title":468,"path":469,"stem":470,"children":471,"icon":484,"summary":485,"section":18,"highlights":486},"Security and privacy","\u002Fdocs\u002Fsecurity-and-privacy","docs\u002F09.security-and-privacy\u002Findex",[472,478],{"title":473,"path":474,"stem":475,"icon":18,"summary":476,"section":477,"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":479,"path":480,"stem":481,"icon":18,"summary":482,"section":483,"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.",[487,488],{"title":473,"to":474},{"title":479,"to":480},{"title":490,"path":491,"stem":492,"children":493,"icon":500,"summary":501,"section":18,"highlights":502},"Help and support","\u002Fdocs\u002Fsupport","docs\u002F10.support\u002Findex",[494],{"title":495,"path":496,"stem":497,"icon":18,"summary":498,"section":499,"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.",[503],{"title":495,"to":496},false,{"path":210,"title":506,"description":507,"summary":212,"icon":18,"section":192,"sections":18,"lastUpdated":508,"body":509},"Friction explore","The Friction explore has one row for every error, rage click, dead click and quick back. What it covers, what to know when reading it, and every dimension and metric in it.","2026-10-13",{"type":510,"value":511,"toc":1204},"minimark",[512,520,525,538,542,549,557,560,563,568,605,609,716,720,787,791,927,931,939,1053,1056,1059,1189,1193],[513,514,515,516,519],"p",{},"The Friction explore has one row for every friction signal on a property with friction turned on: a JavaScript error, a rage click, a dead click, or a quick back, which is a page view the visitor went back from within ten seconds.\nOn a store that captures purchases, every alert its Shopify checkout showed and every checkout extension that failed is a row too, from Kontala's Shopify pixel, since the website tag does not run in a checkout.\nSee ",[517,518,91],"a",{"href":92}," for how each one is detected.",[521,522,524],"h2",{"id":523},"good-to-know","Good to know",[526,527,528,532,535],"ul",{},[529,530,531],"li",{},"A signal has the dimensions of the page view it happened on, including that page's speed, so you can see which pages friction happens on.",[529,533,534],{},"An error's message is normalised, so one error reads alike wherever it happened, and every URL is scrubbed.",[529,536,537],{},"Rage and dead clicks have no click types.",[521,539,541],{"id":540},"used-on-dashboards","Used on dashboards",[513,543,544,545,548],{},"Charts on these ",[517,546,547],{"href":130},"dashboards"," are built on the Friction explore:",[526,550,551],{},[529,552,553,556],{},[554,555,329],"strong",{},": Friction",[521,558,151],{"id":559},"dimensions",[513,561,562],{},"The Friction explore has 131 dimensions.",[564,565,567],"h3",{"id":566},"the-signal","The signal",[569,570,571],"field-table",{},[572,573,574,590],"table",{},[575,576,577],"thead",{},[578,579,580,584,587],"tr",{},[581,582,583],"th",{},"Dimension",[581,585,586],{},"Type",[581,588,589],{},"Description",[591,592,593],"tbody",{},[578,594,595,599,602],{},[596,597,598],"td",{},"Signal",[596,600,601],{},"String",[596,603,604],{},"What the visitor met. Error: the page threw an uncaught error or left a promise's rejection unhandled. Error click: such an error within a second of a click. Rage click: three clicks or more within a second of each other, in one spot. Dead click: a click on something that looked clickable that nothing answered within a second. Quick back: a page the visitor went back from within 10 seconds. Checkout alert: a store's checkout showed its buyer an alert, a field to correct or a payment declined. Checkout extension error: an app's checkout extension failed.",[564,606,608],{"id":607},"the-error","The error",[569,610,611],{},[572,612,613,623],{},[575,614,615],{},[578,616,617,619,621],{},[581,618,583],{},[581,620,586],{},[581,622,589],{},[591,624,625,635,645,655,665,675,685,696,706],{},[578,626,627,630,632],{},[596,628,629],{},"Error kind",[596,631,601],{},[596,633,634],{},"Uncaught error: code threw and nothing caught it. Unhandled rejection: a promise failed and nothing handled it.",[578,636,637,640,642],{},[596,638,639],{},"Error name",[596,641,601],{},[596,643,644],{},"The error's constructor, such as TypeError or ReferenceError, where the browser said.",[578,646,647,650,652],{},[596,648,649],{},"Error message",[596,651,601],{},[596,653,654],{},"What the error said, normalised so one error reads alike wherever it happened: numbers, addresses, ids and quoted text are replaced with \u003Cn>, \u003Curl>, \u003Cid> and '\u003Cstr>', and only a name such as 'price' is kept.",[578,656,657,660,662],{},[596,658,659],{},"Error",[596,661,601],{},[596,663,664],{},"The error as its name and message: TypeError: Cannot read properties of undefined (reading 'price').",[578,666,667,670,672],{},[596,668,669],{},"Error source",[596,671,601],{},[596,673,674],{},"The script the error was thrown in, without its query string. Empty where the browser did not say, as for an error in another site's script.",[578,676,677,680,682],{},[596,678,679],{},"Script owner",[596,681,601],{},[596,683,684],{},"This site where the error was thrown in a script on the page's own host or one of its subdomains; Another site where it was a script from elsewhere, such as a tag manager's or a widget's; Unknown where the browser did not say.",[578,686,687,690,693],{},[596,688,689],{},"Error line",[596,691,692],{},"Number",[596,694,695],{},"The line of the script the error was thrown on.",[578,697,698,701,703],{},[596,699,700],{},"Error column",[596,702,692],{},[596,704,705],{},"The column, within that line, the error was thrown at.",[578,707,708,711,713],{},[596,709,710],{},"Error after click (ms)",[596,712,692],{},[596,714,715],{},"How long after the click an error click's error came, in milliseconds, under a second.",[564,717,719],{"id":718},"the-click","The click",[569,721,722],{},[572,723,724,734],{},[575,725,726],{},[578,727,728,730,732],{},[581,729,583],{},[581,731,586],{},[581,733,589],{},[591,735,736,746,756,767,777],{},[578,737,738,741,743],{},[596,739,740],{},"Clicks in the burst",[596,742,692],{},[596,744,745],{},"How many clicks a rage click was, three or more.",[578,747,748,751,753],{},[596,749,750],{},"Burst length (ms)",[596,752,692],{},[596,754,755],{},"From a rage click's first click to its last, in milliseconds.",[578,757,758,761,764],{},[596,759,760],{},"Nothing answered the burst",[596,762,763],{},"Boolean",[596,765,766],{},"Whether nothing on the page answered any click of the rage click: the clicks of a stepper or a quantity button are answered, and are usually no frustration.",[578,768,769,772,774],{},[596,770,771],{},"Dead click outcome",[596,773,601],{},[596,775,776],{},"Answered late: the page answered after the first second but within seven. Never answered: nothing within seven seconds. Left first: the visitor left the page or the tab before either.",[578,778,779,782,784],{},[596,780,781],{},"Late answer (ms)",[596,783,692],{},[596,785,786],{},"How long a dead click that was answered late waited, in milliseconds.",[564,788,790],{"id":789},"the-element","The element",[569,792,793],{},[572,794,795,805],{},[575,796,797],{},[578,798,799,801,803],{},[581,800,583],{},[581,802,586],{},[581,804,589],{},[591,806,807,817,827,837,847,857,867,877,887,897,907,917],{},[578,808,809,812,814],{},[596,810,811],{},"Element",[596,813,601],{},[596,815,816],{},"The element clicked: the link, button or control the click resolved to, else what the pointer was on.",[578,818,819,822,824],{},[596,820,821],{},"Element text",[596,823,601],{},[596,825,826],{},"A link's or a button's own text, redacted. Empty for anything else, as for a click.",[578,828,829,832,834],{},[596,830,831],{},"Element id",[596,833,601],{},[596,835,836],{},"The element's id attribute.",[578,838,839,842,844],{},[596,840,841],{},"Element classes",[596,843,601],{},[596,845,846],{},"The element's class attribute.",[578,848,849,852,854],{},[596,850,851],{},"Element name",[596,853,601],{},[596,855,856],{},"The element's name attribute, as a form control carries it.",[578,858,859,862,864],{},[596,860,861],{},"Element type",[596,863,601],{},[596,865,866],{},"The element's type attribute, where it has one, such as a button's.",[578,868,869,872,874],{},[596,870,871],{},"Element role",[596,873,601],{},[596,875,876],{},"The element's role attribute, such as button or tab.",[578,878,879,882,884],{},[596,880,881],{},"Element label",[596,883,601],{},[596,885,886],{},"The element's aria-label.",[578,888,889,892,894],{},[596,890,891],{},"Element path",[596,893,601],{},[596,895,896],{},"Where the element sits in the page, up to eight elements from the nearest: main > form.checkout > button.",[578,898,899,902,904],{},[596,900,901],{},"Element attributes",[596,903,601],{},[596,905,906],{},"Every attribute kept, as JSON, which a contains filter reads.",[578,908,909,912,914],{},[596,910,911],{},"Clicked on",[596,913,601],{},[596,915,916],{},"What the pointer was on, where the click resolved to an element around it, such as the icon inside a button. Where nothing actionable was clicked, it is the element itself: something that looked clickable and is not.",[578,918,919,922,924],{},[596,920,921],{},"Element shown as",[596,923,601],{},[596,925,926],{},"The element as a reader would know it: its text, else its aria-label, else its tag and id, such as button#add.",[564,928,930],{"id":929},"from-the-page-views-explore","From the Page views explore",[513,932,933,934,938],{},"Every row also has these 104 dimensions of the ",[517,935,937],{"href":936},"\u002Fdocs\u002Fanalytics\u002Fpage-views#dimensions","Page views explore",", which mean the same here and are described there:",[526,940,941,947,953,959,965,971,976,982,987,993,999,1005,1011,1017,1023,1029,1035,1041,1047],{},[529,942,943,946],{},[554,944,945],{},"Time",": Event time, Ingest time",[529,948,949,952],{},[554,950,951],{},"The visitor",": Visitor type, Days since first visit",[529,954,955,958],{},[554,956,957],{},"The visit",": Entrance page, Entrance hostname, Session page views, Single-page session, Session number",[529,960,961,964],{},[554,962,963],{},"Scroll depth",": Scroll depth (%), Scroll depth band",[529,966,967,970],{},[554,968,969],{},"Page speed",": LCP (ms), LCP rating, INP (ms), INP rating, CLS, CLS rating, FCP (ms), FCP rating, TTFB (ms), TTFB rating, Speed rating, Load or route, LCP element, INP element",[529,972,973,975],{},[554,974,209],{},": Friction measured",[529,977,978,981],{},[554,979,980],{},"Page",": Path, Section, Subsection, Page title, Hostname, Site domain, Query string, Referrer host, Referring domain",[529,983,984,986],{},[554,985,249],{},": Campaign source, Campaign medium, Campaign, Campaign term, Campaign content, Click ID source, Has click ID",[529,988,989,992],{},[554,990,991],{},"Attribution carried across the visit",": Session campaign source, Session campaign medium, Session campaign, Session click ID source, Session referring domain, Session referrer host, Session campaign term, Session campaign content, Channel",[529,994,995,998],{},[554,996,997],{},"First touch",": First-touch channel, First-touch source, First-touch medium, First-touch campaign, First-touch referring domain",[529,1000,1001,1004],{},[554,1002,1003],{},"Geo",": Country, Country name, Continent, Region, City, Geo source",[529,1006,1007,1010],{},[554,1008,1009],{},"Network",": ISP, ASN, Datacenter traffic, Cellular",[529,1012,1013,1016],{},[554,1014,1015],{},"Browser environment",": Language, Language code, Language name, Device class, Screen resolution, Viewport size, Timezone offset (min)",[529,1018,1019,1022],{},[554,1020,1021],{},"The visitor's own clock",": UTC offset, Local hour of day, Local day of week, Local day of week number",[529,1024,1025,1028],{},[554,1026,1027],{},"Browser, operating system and device",": Browser, Browser version, Operating system, Device type, User agent",[529,1030,1031,1034],{},[554,1032,1033],{},"An app",": Platform, Shown in app, App version, App build, OS version, Device model, SDK version",[529,1036,1037,1040],{},[554,1038,1039],{},"Data source and quality",": Tenant, Site, Allowed origin, Origin, Tag, Tag version, Collector version, Delivery mode",[529,1042,1043,1046],{},[554,1044,1045],{},"Signed-in user",": Signed in, Organisation, Company domain, Global Privacy Control, Scrubbed parameters",[529,1048,1049,1052],{},[554,1050,1051],{},"Page type",": Page type, Page type source",[521,1054,156],{"id":1055},"metrics",[513,1057,1058],{},"The Friction explore has 11 metrics.",[569,1060,1061],{},[572,1062,1063,1075],{},[575,1064,1065],{},[578,1066,1067,1070,1073],{},[581,1068,1069],{},"Metric",[581,1071,1072],{},"Calculation",[581,1074,589],{},[591,1076,1077,1088,1098,1108,1118,1128,1138,1148,1158,1169,1179],{},[578,1078,1079,1082,1085],{},[596,1080,1081],{},"Friction signals",[596,1083,1084],{},"Count",[596,1086,1087],{},"Errors, rage clicks, dead clicks and quick backs on measured pages, and a store's checkout alerts and failed checkout extensions. Bot traffic is left out, and nothing is stored without consent.",[578,1089,1090,1093,1095],{},[596,1091,1092],{},"Errors",[596,1094,1084],{},[596,1096,1097],{},"JavaScript errors and unhandled rejections, each once a page view however often it was thrown, error clicks included.",[578,1099,1100,1103,1105],{},[596,1101,1102],{},"Error clicks",[596,1104,1084],{},[596,1106,1107],{},"Errors that came within a second of a click.",[578,1109,1110,1113,1115],{},[596,1111,1112],{},"Rage clicks",[596,1114,1084],{},[596,1116,1117],{},"Bursts of three clicks or more within a second of each other, in one spot.",[578,1119,1120,1123,1125],{},[596,1121,1122],{},"Dead clicks",[596,1124,1084],{},[596,1126,1127],{},"Clicks on something that looked clickable that nothing answered within a second.",[578,1129,1130,1133,1135],{},[596,1131,1132],{},"Quick backs",[596,1134,1084],{},[596,1136,1137],{},"Page views the visitor went back from within 10 seconds.",[578,1139,1140,1143,1145],{},[596,1141,1142],{},"Checkout alerts",[596,1144,1084],{},[596,1146,1147],{},"Alerts a store's checkout showed its buyers, each once however long it stayed on screen.",[578,1149,1150,1153,1155],{},[596,1151,1152],{},"Checkout extension errors",[596,1154,1084],{},[596,1156,1157],{},"Times an app's extension failed in a store's checkout.",[578,1159,1160,1163,1166],{},[596,1161,1162],{},"Visits affected",[596,1164,1165],{},"Count distinct",[596,1167,1168],{},"Visits that met at least one of the signals in the rows.",[578,1170,1171,1174,1176],{},[596,1172,1173],{},"Visitors affected",[596,1175,1165],{},[596,1177,1178],{},"Distinct device cookies among the visits affected. Optimistic on Safari for the reason the page view explore gives.",[578,1180,1181,1184,1186],{},[596,1182,1183],{},"Pages affected",[596,1185,1165],{},[596,1187,1188],{},"How many different pages the signals in the rows happened on, each hostname and path once.",[521,1190,1192],{"id":1191},"your-own-fields","Your own fields",[513,1194,1195,1196,1199,1200,1203],{},"When your organisation maps data layer fields in Data Capture, they appear in the Friction explore too: the standard fields under ",[554,1197,1198],{},"Standard fields"," and your own under ",[554,1201,1202],{},"Data layer",".\nThey are left out of the lists above, because every organisation maps its own.",{"title":1205,"searchDepth":1206,"depth":1206,"links":1207},"",2,[1208,1209,1210,1218,1219],{"id":523,"depth":1206,"text":524},{"id":540,"depth":1206,"text":541},{"id":559,"depth":1206,"text":151,"children":1211},[1212,1214,1215,1216,1217],{"id":566,"depth":1213,"text":567},3,{"id":607,"depth":1213,"text":608},{"id":718,"depth":1213,"text":719},{"id":789,"depth":1213,"text":790},{"id":929,"depth":1213,"text":930},{"id":1055,"depth":1206,"text":156},{"id":1191,"depth":1206,"text":1192},{"sections":1221},[133,144,170,181,298,192],[1223,1224],{"title":204,"path":205,"stem":206,"summary":207,"children":-1},{"title":214,"path":215,"stem":216,"summary":217,"children":-1},1792244327337]