[{"data":1,"prerenderedAt":554},["ShallowReactive",2],{"docs-navigation":3,"docs:\u002Fdocs\u002Fdata-capture\u002Fprivacy-and-governance":331,"docs-area:\u002Fdocs\u002Fdata-capture":549,"docs-surround:\u002Fdocs\u002Fdata-capture\u002Fprivacy-and-governance":551},[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":113,"title":112,"description":115,"summary":115,"icon":18,"section":110,"sections":18,"lastUpdated":332,"body":333},"2026-10-12",{"type":334,"value":335,"toc":535},"minimark",[336,341,345,349,366,369,373,395,400,404,420,424,427,430,438,442,491,506,510,513,517,520,524,527],[337,338,340],"h2",{"id":339},"only-what-you-turn-on","Only what you turn on",[342,343,344],"p",{},"Each capture feature is off until you turn it on, apart from page views and page signals.\nThe collector refuses what a property has not turned on, and rebuilds clicks, scrolling, friction, data layer and checkout events from a fixed list of fields, so nothing else is stored.",[337,346,348],{"id":347},"leave-parts-of-your-pages-out","Leave parts of your pages out",[350,351,352,360],"ul",{},[353,354,355,359],"li",{},[356,357,358],"code",{},"data-ac-ignore"," on an element leaves out every click, swipe and friction signal inside it.",[353,361,362,365],{},[356,363,364],{},"data-ac-mask"," keeps only that something there was clicked, not what.",[342,367,368],{},"Use them around anything sensitive, such as account pages or health questions.",[337,370,372],{"id":371},"what-clicks-and-forms-send","What clicks and forms send",[350,374,375,378,381,384],{},[353,376,377],{},"A click on a field says only what kind of field it is, and a click on a choice says which question it asks, never the answer.",[353,379,380],{},"A form's submit sends what its fields held, as the visitor entered them, and a search sends its term.\nIt never sends a password, a card's security code, a one-time code, a PIN or an anti-forgery token.",[353,382,383],{},"Anything that looks like an email address or a card number is removed from an element's text and attributes.",[353,385,386,387,390,391,394],{},"Email and phone links keep only ",[356,388,389],{},"mailto:"," or ",[356,392,393],{},"tel:",".",[342,396,397,398,394],{},"Wrap forms whose answers you do not want stored in ",[356,399,358],{},[337,401,403],{"id":402},"page-urls","Page URLs",[342,405,406,407,410,411,414,415,419],{},"Before an event is stored, the collector removes every query parameter from its page URL that is not on the property's kept list, and drops the fragment after ",[356,408,409],{},"#"," unless you keep it.\nEmail addresses, JSON Web Tokens, long hexadecimal ids and card-like numbers in the path or a kept value are replaced with ",[356,412,413],{},":redacted",".\nKeep a parameter on the ",[416,417,418],"strong",{},"URL data"," card only if its values are safe to store.",[337,421,423],{"id":422},"data-layers","Data layers",[342,425,426],{},"The data layer fields you capture are stored as your site sends them.\nUse your capture rules to discard fields you do not want, and do not capture data layers that hold personal or sensitive data you have no need for.",[337,428,80],{"id":429},"shopify-checkout",[342,431,432,433,437],{},"The ",[434,435,436],"a",{"href":81},"Shopify pixel"," sends the buyer's email, phone, name and addresses with each order.",[337,439,441],{"id":440},"cookies","Cookies",[443,444,445,461],"table",{},[446,447,448],"thead",{},[449,450,451,455,458],"tr",{},[452,453,454],"th",{},"Cookie",[452,456,457],{},"What it holds",[452,459,460],{},"How long it lasts",[462,463,464,478],"tbody",{},[449,465,466,472,475],{},[467,468,469],"td",{},[356,470,471],{},"pt_did",[467,473,474],{},"An anonymous device id",[467,476,477],{},"2 years, or less where the browser caps it",[449,479,480,485,488],{},[467,481,482],{},[356,483,484],{},"pt_sid",[467,486,487],{},"The current visit's id",[467,489,490],{},"30 minutes after the last activity",[342,492,493,494,497,498,501,502,505],{},"Both are first-party and ",[356,495,496],{},"SameSite=Lax",", and ",[356,499,500],{},"Secure"," on HTTPS.\nThe tag uses no local storage or session storage, and never fingerprints a browser.\nIf cookies cannot be written, ids are kept in memory for that page only.\nSet ",[356,503,504],{},"data-disable-storage"," on the script tag to run without cookies at all.",[337,507,509],{"id":508},"ip-addresses-and-location","IP addresses and location",[342,511,512],{},"The visitor's IP address is never stored.\nKontala keeps a shortened address, a hash of the address that changes daily, and the country, region, city and network it comes from.\nCity-level location comes from DB-IP: if you share maps built from it, credit \"IP Geolocation by DB-IP\".",[337,514,516],{"id":515},"bots","Bots",[342,518,519],{},"Bots and crawlers are flagged, never dropped, and left out of Analytics.\nCrawlers that announce themselves are checked against the address ranges Google, Bing, Apple, OpenAI, Anthropic, Perplexity, DuckDuckGo and Common Crawl publish.",[337,521,523],{"id":522},"retention","Retention",[342,525,526],{},"Collected events are kept for 400 days.",[342,528,529,530,532,533,394],{},"See also ",[434,531,106],{"href":107}," and ",[434,534,299],{"href":300},{"title":536,"searchDepth":537,"depth":537,"links":538},"",2,[539,540,541,542,543,544,545,546,547,548],{"id":339,"depth":537,"text":340},{"id":347,"depth":537,"text":348},{"id":371,"depth":537,"text":372},{"id":402,"depth":537,"text":403},{"id":422,"depth":537,"text":423},{"id":429,"depth":537,"text":80},{"id":440,"depth":537,"text":441},{"id":508,"depth":537,"text":509},{"id":515,"depth":537,"text":516},{"id":522,"depth":537,"text":523},{"sections":550},[68,89,110],[552,553],{"title":106,"path":107,"stem":108,"summary":109,"children":-1},{"title":124,"path":125,"stem":126,"summary":183,"children":-1},1791815163678]