[{"data":1,"prerenderedAt":1460},["ShallowReactive",2],{"docs-navigation":3,"docs:\u002Fdocs\u002Fdevelopers\u002Fevents-api":505,"docs-area:\u002Fdocs\u002Fdevelopers":1455,"docs-surround:\u002Fdocs\u002Fdevelopers\u002Fevents-api":1457},[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 Markalit'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 Markalit 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 Markalit 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 Markalit 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 Markalit Analytics and find your way around the ready-made dashboards Markalit 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 Markalit 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 Markalit 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 Markalit 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 Markalit'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 Markalit, 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 Markalit team about setup, access or anything else.","Support","i-lucide-life-buoy","Get help from the Markalit team.",[503],{"title":495,"to":496},false,{"path":452,"title":451,"description":506,"summary":454,"icon":18,"section":434,"sections":18,"lastUpdated":507,"body":508},"Send events to Markalit from your servers and apps: endpoint, keys, event fields, responses and limits.","2026-10-14",{"type":509,"value":510,"toc":1444},"minimark",[511,515,522,527,590,662,673,676,680,691,757,763,767,772,849,869,903,908,1079,1088,1091,1208,1212,1228,1232,1249,1407,1416,1420,1440],[512,513,514],"p",{},"The Events API takes events from your own backends and apps, beside the website tag.\nOne endpoint takes one event or a batch, says which it stored, and lets you retry safely.",[512,516,517,518,521],{},"If you are building a Flutter app, the ",[519,520,436],"a",{"href":437}," sends through this API for you.",[523,524,526],"h2",{"id":525},"the-smallest-call","The smallest call",[528,529,534],"pre",{"className":530,"code":531,"language":532,"meta":533,"style":533},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl https:\u002F\u002Fkonta.la\u002Fv1\u002Fevents \\\n  -H \"Authorization: Bearer $KONTALA_SERVER_KEY\" \\\n  -d '{\"event\":\"subscription_renewed\"}'\n","bash","",[535,536,537,554,575],"code",{"__ignoreMap":533},[538,539,542,546,550],"span",{"class":540,"line":541},"line",1,[538,543,545],{"class":544},"sBMFI","curl",[538,547,549],{"class":548},"sfazB"," https:\u002F\u002Fkonta.la\u002Fv1\u002Fevents",[538,551,553],{"class":552},"sTEyZ"," \\\n",[538,555,557,560,564,567,570,573],{"class":540,"line":556},2,[538,558,559],{"class":548},"  -H",[538,561,563],{"class":562},"sMK4o"," \"",[538,565,566],{"class":548},"Authorization: Bearer ",[538,568,569],{"class":552},"$KONTALA_SERVER_KEY",[538,571,572],{"class":562},"\"",[538,574,553],{"class":552},[538,576,578,581,584,587],{"class":540,"line":577},3,[538,579,580],{"class":548},"  -d",[538,582,583],{"class":562}," '",[538,585,586],{"class":548},"{\"event\":\"subscription_renewed\"}",[538,588,589],{"class":562},"'\n",[528,591,595],{"className":592,"code":593,"language":594,"meta":533,"style":533},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\"request_id\": \"0192f2c4-...\", \"accepted\": 1, \"rejected\": [], \"warnings\": []}\n","json",[535,596,597],{"__ignoreMap":533},[538,598,599,602,604,608,610,613,615,618,620,623,625,628,630,632,636,638,640,643,645,647,650,652,655,657,659],{"class":540,"line":541},[538,600,601],{"class":562},"{",[538,603,572],{"class":562},[538,605,607],{"class":606},"spNyl","request_id",[538,609,572],{"class":562},[538,611,612],{"class":562},":",[538,614,563],{"class":562},[538,616,617],{"class":548},"0192f2c4-...",[538,619,572],{"class":562},[538,621,622],{"class":562},",",[538,624,563],{"class":562},[538,626,627],{"class":606},"accepted",[538,629,572],{"class":562},[538,631,612],{"class":562},[538,633,635],{"class":634},"sbssI"," 1",[538,637,622],{"class":562},[538,639,563],{"class":562},[538,641,642],{"class":606},"rejected",[538,644,572],{"class":562},[538,646,612],{"class":562},[538,648,649],{"class":562}," [],",[538,651,563],{"class":562},[538,653,654],{"class":606},"warnings",[538,656,572],{"class":562},[538,658,612],{"class":562},[538,660,661],{"class":562}," []}\n",[512,663,664,665,668,669,672],{},"Only ",[535,666,667],{},"event"," is required.\nUse the endpoint shown on your property's ",[670,671,451],"strong",{}," card in Markalit.",[512,674,675],{},"Keep a server key where your backend keeps its other secrets.\nNever put it in code, or in a command line your shell history keeps.",[523,677,679],{"id":678},"keys","Keys",[512,681,682,683,686,687,690],{},"Send a key in the ",[535,684,685],{},"Authorization"," header as ",[535,688,689],{},"Bearer \u003Ckey>",".\nA request with a key in the URL is refused, since URLs are kept in request logs.",[692,693,694,713],"table",{},[695,696,697],"thead",{},[698,699,700,704,707,710],"tr",{},[701,702,703],"th",{},"Key",[701,705,706],{},"Looks like",[701,708,709],{},"For",[701,711,712],{},"Notes",[714,715,716,741],"tbody",{},[698,717,718,722,727,730],{},[719,720,721],"td",{},"Write key",[719,723,724],{},[535,725,726],{},"pk_live_...",[719,728,729],{},"An app",[719,731,732,733,736,737,740],{},"Public, as it is on every page that loads the tag. Every event must name its ",[535,734,735],{},"device"," and ",[535,738,739],{},"session",".",[698,742,743,746,751,754],{},[719,744,745],{},"Server key",[719,747,748],{},[535,749,750],{},"ksk_live_...",[719,752,753],{},"A backend",[719,755,756],{},"Secret, shown once when it is made. Only it may set the visitor's IP, and a custom event sent with it may name no visitor.",[512,758,759,760,762],{},"Admins make, label and revoke server keys on the property's ",[670,761,451],{}," card.\nA revoked key is refused within a minute.\nA server key sent from a browser is refused, and Markalit tells you so that you can rotate it.",[523,764,766],{"id":765},"events","Events",[512,768,769,771],{},[535,770,667],{}," is the name of what happened:",[692,773,774,788],{},[695,775,776],{},[698,777,778,782,785],{},[701,779,780],{},[535,781,667],{},[701,783,784],{},"What it is",[701,786,787],{},"Needs",[714,789,790,814,835],{},[698,791,792,797,800],{},[719,793,794],{},[535,795,796],{},"page_view",[719,798,799],{},"A web page where no tag runs, or an app's screen",[719,801,802,805,806,809,810,736,812],{},[535,803,804],{},"page"," or ",[535,807,808],{},"screen",", and a ",[535,811,735],{},[535,813,739],{},[698,815,816,821,824],{},[719,817,818],{},[535,819,820],{},"click",[719,822,823],{},"A click or a tap",[719,825,826,829,830,736,832,834],{},[535,827,828],{},"element",", a ",[535,831,735],{},[535,833,739],{},", and clicks on for the property",[698,836,837,840,846],{},[719,838,839],{},"Any other name",[719,841,842,843],{},"A custom event, such as ",[535,844,845],{},"subscription_renewed",[719,847,848],{},"The Events API in the property's capture rules",[512,850,851,852,855,856,855,859,862,863,866,867,740],{},"Some names are Markalit's own and are refused as custom events, including ",[535,853,854],{},"purchase",", ",[535,857,858],{},"cart_add",[535,860,861],{},"checkout_started"," and other Shopify and data layer names.\nNames are compared ignoring case and punctuation, so ",[535,864,865],{},"Page View"," is refused and told to use ",[535,868,796],{},[512,870,871,872,855,875,855,878,855,880,855,882,855,885,855,888,855,891,855,894,855,897,855,899,736,901,740],{},"Other optional fields include ",[535,873,874],{},"id",[535,876,877],{},"timestamp",[535,879,735],{},[535,881,739],{},[535,883,884],{},"user",[535,886,887],{},"org",[535,889,890],{},"consent",[535,892,893],{},"properties",[535,895,896],{},"page_type",[535,898,804],{},[535,900,808],{},[535,902,828],{},[904,905,907],"h3",{"id":906},"send-a-batch","Send a batch",[528,909,911],{"className":592,"code":910,"language":594,"meta":533,"style":533},"{\n  \"context\": {\"user_agent\": \"...\"},\n  \"events\": [\n    {\"event\": \"subscription_renewed\", \"user\": \"customer-42\"},\n    {\"event\": \"invoice_paid\", \"user\": \"customer-42\", \"properties\": {\"amount\": 49}}\n  ]\n}\n",[535,912,913,918,952,965,1004,1067,1073],{"__ignoreMap":533},[538,914,915],{"class":540,"line":541},[538,916,917],{"class":562},"{\n",[538,919,920,923,926,928,930,933,935,938,940,942,944,947,949],{"class":540,"line":556},[538,921,922],{"class":562},"  \"",[538,924,925],{"class":606},"context",[538,927,572],{"class":562},[538,929,612],{"class":562},[538,931,932],{"class":562}," {",[538,934,572],{"class":562},[538,936,937],{"class":544},"user_agent",[538,939,572],{"class":562},[538,941,612],{"class":562},[538,943,563],{"class":562},[538,945,946],{"class":548},"...",[538,948,572],{"class":562},[538,950,951],{"class":562},"},\n",[538,953,954,956,958,960,962],{"class":540,"line":577},[538,955,922],{"class":562},[538,957,765],{"class":606},[538,959,572],{"class":562},[538,961,612],{"class":562},[538,963,964],{"class":562}," [\n",[538,966,968,971,973,975,977,979,981,983,985,987,989,991,993,995,997,1000,1002],{"class":540,"line":967},4,[538,969,970],{"class":562},"    {",[538,972,572],{"class":562},[538,974,667],{"class":544},[538,976,572],{"class":562},[538,978,612],{"class":562},[538,980,563],{"class":562},[538,982,845],{"class":548},[538,984,572],{"class":562},[538,986,622],{"class":562},[538,988,563],{"class":562},[538,990,884],{"class":544},[538,992,572],{"class":562},[538,994,612],{"class":562},[538,996,563],{"class":562},[538,998,999],{"class":548},"customer-42",[538,1001,572],{"class":562},[538,1003,951],{"class":562},[538,1005,1007,1009,1011,1013,1015,1017,1019,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1057,1059,1061,1064],{"class":540,"line":1006},5,[538,1008,970],{"class":562},[538,1010,572],{"class":562},[538,1012,667],{"class":544},[538,1014,572],{"class":562},[538,1016,612],{"class":562},[538,1018,563],{"class":562},[538,1020,1021],{"class":548},"invoice_paid",[538,1023,572],{"class":562},[538,1025,622],{"class":562},[538,1027,563],{"class":562},[538,1029,884],{"class":544},[538,1031,572],{"class":562},[538,1033,612],{"class":562},[538,1035,563],{"class":562},[538,1037,999],{"class":548},[538,1039,572],{"class":562},[538,1041,622],{"class":562},[538,1043,563],{"class":562},[538,1045,893],{"class":544},[538,1047,572],{"class":562},[538,1049,612],{"class":562},[538,1051,932],{"class":562},[538,1053,572],{"class":562},[538,1055,1056],{"class":634},"amount",[538,1058,572],{"class":562},[538,1060,612],{"class":562},[538,1062,1063],{"class":634}," 49",[538,1065,1066],{"class":562},"}}\n",[538,1068,1070],{"class":540,"line":1069},6,[538,1071,1072],{"class":562},"  ]\n",[538,1074,1076],{"class":540,"line":1075},7,[538,1077,1078],{"class":562},"}\n",[512,1080,1081,1082,1084,1085,1087],{},"A batch's ",[535,1083,925],{}," is the default for every event, and an event's own ",[535,1086,925],{}," overrides it field by field.",[523,1089,1090],{"id":925},"Context",[692,1092,1093,1103],{},[695,1094,1095],{},[698,1096,1097,1100],{},[701,1098,1099],{},"Field",[701,1101,1102],{},"Is",[714,1104,1105,1115,1124,1134,1147,1160,1173,1186,1199],{},[698,1106,1107,1112],{},[719,1108,1109],{},[535,1110,1111],{},"ip",[719,1113,1114],{},"The visitor's IP address, server key only. Used for location, then dropped.",[698,1116,1117,1121],{},[719,1118,1119],{},[535,1120,937],{},[719,1122,1123],{},"The visitor's user agent. Without one, browser, operating system and device are unknown.",[698,1125,1126,1131],{},[719,1127,1128],{},[535,1129,1130],{},"page.url",[719,1132,1133],{},"The page a click or custom event happened on.",[698,1135,1136,1141],{},[719,1137,1138],{},[535,1139,1140],{},"app",[719,1142,1143,1146],{},[535,1144,1145],{},"{id, version, build, screen}"," for an app's events.",[698,1148,1149,1154],{},[719,1150,1151],{},[535,1152,1153],{},"locale",[719,1155,1156,1157,740],{},"A language tag, such as ",[535,1158,1159],{},"nl-NL",[698,1161,1162,1167],{},[719,1163,1164],{},[535,1165,1166],{},"timezone",[719,1168,1169,1170,740],{},"An IANA zone, such as ",[535,1171,1172],{},"Europe\u002FAmsterdam",[698,1174,1175,1180],{},[719,1176,1177],{},[535,1178,1179],{},"display",[719,1181,1182,1185],{},[535,1183,1184],{},"{width, height}"," in points.",[698,1187,1188,1193],{},[719,1189,1190],{},[535,1191,1192],{},"library",[719,1194,1195,1198],{},[535,1196,1197],{},"{name, version}"," of what sent the event.",[698,1200,1201,1205],{},[719,1202,1203],{},[535,1204,890],{},[719,1206,1207],{},"The default consent for every event.",[523,1209,1211],{"id":1210},"join-a-browser-visit","Join a browser visit",[512,1213,1214,1215,1218,1219,1221,1222,1225,1226,740],{},"To attach a server event to the visit a browser is in, send the ",[535,1216,1217],{},"pt_did"," cookie's value as ",[535,1220,735],{},", and the part of ",[535,1223,1224],{},"pt_sid"," before the dot as ",[535,1227,739],{},[523,1229,1231],{"id":1230},"responses","Responses",[512,1233,1234,1235,736,1237,1239,1240,736,1243,1245,1246,1248],{},"A 200 means the request was read.\nEach event is stored or refused on its own.\n",[535,1236,642],{},[535,1238,654],{}," name each event by its ",[535,1241,1242],{},"index",[535,1244,874],{},", with a ",[535,1247,535],{}," and a sentence.",[692,1250,1251,1264],{},[695,1252,1253],{},[698,1254,1255,1258,1261],{},[701,1256,1257],{},"Status",[701,1259,1260],{},"Means",[701,1262,1263],{},"Do",[714,1265,1266,1289,1317,1335,1348,1362,1375,1392],{},[698,1267,1268,1271,1277],{},[719,1269,1270],{},"200",[719,1272,1273,1274,1276],{},"Read; ",[535,1275,627],{}," events were stored",[719,1278,1279,1280,1282,1283,805,1286],{},"Fix the events in ",[535,1281,642],{},", if any. Events for a capture the property has off are refused by name, such as ",[535,1284,1285],{},"clicks_off",[535,1287,1288],{},"source_not_captured",[698,1290,1291,1294,1314],{},[719,1292,1293],{},"400",[719,1295,1296,855,1299,855,1302,855,1305,855,1308,855,1311],{},[535,1297,1298],{},"invalid_json",[535,1300,1301],{},"invalid_field",[535,1303,1304],{},"unknown_field",[535,1306,1307],{},"no_events",[535,1309,1310],{},"too_many_events",[535,1312,1313],{},"key_in_url",[719,1315,1316],{},"Fix the request",[698,1318,1319,1322,1332],{},[719,1320,1321],{},"401",[719,1323,1324,1327,1328,1331],{},[535,1325,1326],{},"missing_key",", or ",[535,1329,1330],{},"invalid_key"," (unknown, revoked or another region's)",[719,1333,1334],{},"Check the key and endpoint",[698,1336,1337,1340,1345],{},[719,1338,1339],{},"403",[719,1341,1342],{},[535,1343,1344],{},"secret_key_in_browser",[719,1346,1347],{},"Rotate the key, and send from a server",[698,1349,1350,1353,1359],{},[719,1351,1352],{},"413",[719,1354,1355,1358],{},[535,1356,1357],{},"body_too_large",": over 1 MiB, decompressed",[719,1360,1361],{},"Send fewer events at once",[698,1363,1364,1367,1372],{},[719,1365,1366],{},"415",[719,1368,1369],{},[535,1370,1371],{},"unsupported_encoding",[719,1373,1374],{},"Send plain JSON, or gzip",[698,1376,1377,1380,1385],{},[719,1378,1379],{},"429",[719,1381,1382],{},[535,1383,1384],{},"rate_limited",[719,1386,1387,1388,1391],{},"Retry after ",[535,1389,1390],{},"Retry-After"," seconds",[698,1393,1394,1397,1403],{},[719,1395,1396],{},"503",[719,1398,1399,1402],{},[535,1400,1401],{},"unavailable",": the events were not stored",[719,1404,1387,1405,1391],{},[535,1406,1390],{},[512,1408,1409,1410,1412,1413,1415],{},"Retry a 429 or 503 with backoff, sending the same events with the same ",[535,1411,874],{},"s.\nAn event with its own ",[535,1414,874],{}," is stored once however often it arrives; one without may be stored twice.",[523,1417,1419],{"id":1418},"limits","Limits",[1421,1422,1423,1431,1434,1437],"ul",{},[1424,1425,1426,1427,1430],"li",{},"200 events and 1 MiB per request, decompressed. Send ",[535,1428,1429],{},"Content-Encoding: gzip"," for large batches.",[1424,1432,1433],{},"1,000 events a second per key, with bursts of 10,000.",[1424,1435,1436],{},"Timestamps from 30 days ago to 24 hours ahead.",[1424,1438,1439],{},"32 KB of properties per event.",[1441,1442,1443],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":533,"searchDepth":556,"depth":556,"links":1445},[1446,1447,1448,1451,1452,1453,1454],{"id":525,"depth":556,"text":526},{"id":678,"depth":556,"text":679},{"id":765,"depth":556,"text":766,"children":1449},[1450],{"id":906,"depth":577,"text":907},{"id":925,"depth":556,"text":1090},{"id":1210,"depth":556,"text":1211},{"id":1230,"depth":556,"text":1231},{"id":1418,"depth":556,"text":1419},{"sections":1456},[428,434,460],[1458,1459],{"title":446,"path":447,"stem":448,"summary":449,"children":-1},{"title":456,"path":457,"stem":458,"summary":459,"children":-1},1793023416731]