[{"data":1,"prerenderedAt":393},["ShallowReactive",2],{"navigation_docs":3,"-concepts-journeys":233,"-concepts-journeys-surround":388},[4,36,67,122,187,207,223],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"What is Rabolic","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-lucide-zap",{"title":21,"path":22,"stem":23,"icon":24},"Keys","\u002Fgetting-started\u002Fkeys","1.getting-started\u002F3.keys","i-lucide-key-round",{"title":26,"path":27,"stem":28,"icon":29},"Setup CLI","\u002Fgetting-started\u002Fsetup-cli","1.getting-started\u002F4.setup-cli","i-lucide-terminal",{"title":31,"path":32,"stem":33,"icon":34},"Trial","\u002Fgetting-started\u002Ftrial","1.getting-started\u002F5.trial","i-lucide-hourglass",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"SDKs and API","i-lucide-code","\u002Fsdks","2.sdks",[42,47,52,57,62],{"title":43,"path":44,"stem":45,"icon":46},"Web","\u002Fsdks\u002Fweb","2.sdks\u002F1.web","i-lucide-globe",{"title":48,"path":49,"stem":50,"icon":51},"React Native and Expo","\u002Fsdks\u002Freact-native","2.sdks\u002F2.react-native","i-simple-icons-react",{"title":53,"path":54,"stem":55,"icon":56},"Flutter","\u002Fsdks\u002Fflutter","2.sdks\u002F3.flutter","i-simple-icons-flutter",{"title":58,"path":59,"stem":60,"icon":61},"Node.js","\u002Fsdks\u002Fnode","2.sdks\u002F4.node","i-simple-icons-nodedotjs",{"title":63,"path":64,"stem":65,"icon":66},"Ingest HTTP API","\u002Fsdks\u002Fhttp-api","2.sdks\u002F5.http-api","i-lucide-send",{"title":68,"icon":69,"path":70,"stem":71,"children":72,"page":35},"Concepts","i-lucide-lightbulb","\u002Fconcepts","3.concepts",[73,77,82,87,92,97,102,107,112,117],{"title":74,"path":75,"stem":76,"icon":19},"Events","\u002Fconcepts\u002Fevents","3.concepts\u002F01.events",{"title":78,"path":79,"stem":80,"icon":81},"Identity","\u002Fconcepts\u002Fidentity","3.concepts\u002F02.identity","i-lucide-fingerprint",{"title":83,"path":84,"stem":85,"icon":86},"Sessions","\u002Fconcepts\u002Fsessions","3.concepts\u002F03.sessions","i-lucide-activity",{"title":88,"path":89,"stem":90,"icon":91},"Key events and conversions","\u002Fconcepts\u002Fkey-events-and-conversions","3.concepts\u002F04.key-events-and-conversions","i-lucide-star",{"title":93,"path":94,"stem":95,"icon":96},"Funnels","\u002Fconcepts\u002Ffunnels","3.concepts\u002F05.funnels","i-lucide-filter",{"title":98,"path":99,"stem":100,"icon":101},"Journeys","\u002Fconcepts\u002Fjourneys","3.concepts\u002F06.journeys","i-lucide-route",{"title":103,"path":104,"stem":105,"icon":106},"Retention","\u002Fconcepts\u002Fretention","3.concepts\u002F07.retention","i-lucide-repeat",{"title":108,"path":109,"stem":110,"icon":111},"Revenue and attribution","\u002Fconcepts\u002Frevenue-and-attribution","3.concepts\u002F08.revenue-and-attribution","i-lucide-wallet",{"title":113,"path":114,"stem":115,"icon":116},"Consent and privacy","\u002Fconcepts\u002Fprivacy","3.concepts\u002F09.privacy","i-lucide-shield-check",{"title":118,"path":119,"stem":120,"icon":121},"Data retention","\u002Fconcepts\u002Fdata-retention","3.concepts\u002F10.data-retention","i-lucide-archive",{"title":123,"icon":124,"path":125,"stem":126,"children":127,"page":35},"Using the dashboard","i-lucide-layout-dashboard","\u002Fdashboard","4.dashboard",[128,133,138,143,146,151,154,157,160,163,167,172,177,182],{"title":129,"path":130,"stem":131,"icon":132},"Overview","\u002Fdashboard\u002Foverview","4.dashboard\u002F01.overview","i-lucide-gauge",{"title":134,"path":135,"stem":136,"icon":137},"Live","\u002Fdashboard\u002Flive","4.dashboard\u002F02.live","i-lucide-radio",{"title":139,"path":140,"stem":141,"icon":142},"Analytics","\u002Fdashboard\u002Fanalytics","4.dashboard\u002F03.analytics","i-lucide-bar-chart-3",{"title":74,"path":144,"stem":145,"icon":19},"\u002Fdashboard\u002Fevents","4.dashboard\u002F04.events",{"title":147,"path":148,"stem":149,"icon":150},"Users","\u002Fdashboard\u002Fusers","4.dashboard\u002F05.users","i-lucide-users",{"title":83,"path":152,"stem":153,"icon":86},"\u002Fdashboard\u002Fsessions","4.dashboard\u002F06.sessions",{"title":93,"path":155,"stem":156,"icon":96},"\u002Fdashboard\u002Ffunnels","4.dashboard\u002F07.funnels",{"title":98,"path":158,"stem":159,"icon":101},"\u002Fdashboard\u002Fjourneys","4.dashboard\u002F08.journeys",{"title":103,"path":161,"stem":162,"icon":106},"\u002Fdashboard\u002Fretention","4.dashboard\u002F09.retention",{"title":164,"path":165,"stem":166,"icon":111},"Revenue","\u002Fdashboard\u002Frevenue","4.dashboard\u002F10.revenue",{"title":168,"path":169,"stem":170,"icon":171},"Alerts","\u002Fdashboard\u002Falerts","4.dashboard\u002F11.alerts","i-lucide-bell",{"title":173,"path":174,"stem":175,"icon":176},"Integrations","\u002Fdashboard\u002Fintegrations","4.dashboard\u002F12.integrations","i-lucide-plug-zap",{"title":178,"path":179,"stem":180,"icon":181},"Project settings","\u002Fdashboard\u002Fproject-settings","4.dashboard\u002F13.project-settings","i-lucide-settings",{"title":183,"path":184,"stem":185,"icon":186},"Organizations and roles","\u002Fdashboard\u002Forganizations-and-roles","4.dashboard\u002F14.organizations-and-roles","i-lucide-building-2",{"title":188,"icon":189,"path":190,"stem":191,"children":192,"page":35},"Plans and billing","i-lucide-credit-card","\u002Fbilling","5.billing",[193,198,202],{"title":194,"path":195,"stem":196,"icon":197},"Plans","\u002Fbilling\u002Fplans","5.billing\u002F1.plans","i-lucide-tags",{"title":199,"path":200,"stem":201,"icon":132},"Usage and overage","\u002Fbilling\u002Fusage-and-overage","5.billing\u002F2.usage-and-overage",{"title":203,"path":204,"stem":205,"icon":206},"Read-only and deletion","\u002Fbilling\u002Fread-only-and-deletion","5.billing\u002F3.read-only-and-deletion","i-lucide-lock",{"title":208,"icon":209,"path":210,"stem":211,"children":212,"page":35},"Limits and troubleshooting","i-lucide-life-buoy","\u002Flimits","6.limits",[213,218],{"title":214,"path":215,"stem":216,"icon":217},"Limits","\u002Flimits\u002Flimits","6.limits\u002F1.limits","i-lucide-ruler",{"title":219,"path":220,"stem":221,"icon":222},"Events not showing","\u002Flimits\u002Ftroubleshooting","6.limits\u002F2.troubleshooting","i-lucide-search-check",{"title":224,"icon":225,"path":226,"stem":227,"children":228,"page":35},"AI connector","i-lucide-sparkles","\u002Fai","7.ai",[229],{"title":224,"path":230,"stem":231,"icon":232},"\u002Fai\u002Fconnector","7.ai\u002F1.connector","i-lucide-plug",{"id":234,"title":98,"body":235,"description":379,"extension":380,"links":381,"meta":382,"navigation":383,"path":99,"seo":384,"stem":100,"__hash__":387},"docs\u002F3.concepts\u002F06.journeys.md",{"type":236,"value":237,"toc":370},"minimark",[238,247,252,274,283,287,326,330,344,348,357,361,364],[239,240,241,242,246],"p",{},"A journey starts from a goal and shows the paths people actually took to reach it. You don't define steps. Use a ",[243,244,245],"a",{"href":94},"funnel"," to measure a flow you know, and a journey to find the flows you didn't know about.",[248,249,251],"h2",{"id":250},"goals-and-milestones","Goals and milestones",[253,254,255,268],"ul",{},[256,257,258,262,263,267],"li",{},[259,260,261],"strong",{},"Goals"," are your conversions, your key events and app installs (",[264,265,266],"code",{},"$app_first_open","). Conversions come first; the primary one is the default.",[256,269,270,273],{},[259,271,272],{},"Milestones"," are the same set of events. Page views, screens and identify calls aren't milestones, so paths stay readable. Every event still shows on a person's own journey.",[239,275,276,277,279,280,282],{},"Mark an event as key in ",[259,278,74],{}," to make it a goal and a milestone. See ",[243,281,88],{"href":89},".",[248,284,286],{"id":285},"the-rules","The rules",[288,289,290,296,302,308,314,320],"ol",{},[256,291,292,295],{},[259,293,294],{},"One timeline."," A person's events from the web, iOS, Android and your server are one timeline. For someone who reached the goal, it ends at their first goal event and starts the look back before it: 7, 30 or 90 days.",[256,297,298,301],{},[259,299,300],{},"Touchpoints aren't milestones."," The source of the first session is the journey's first touch, shown on its first milestone.",[256,303,304,307],{},[259,305,306],{},"Visits fold together."," Consecutive sessions on one platform are one visit milestone with a count, such as \"3 web visits\".",[256,309,310,313],{},[259,311,312],{},"Each milestone counts once,"," the first time, per platform. A sign-up on the web and a sign-up in the iOS app are different milestones, so web → iOS and web → Android are different paths.",[256,315,316,319],{},[259,317,318],{},"An install owns its session."," The session an app install opened belongs to the install milestone.",[256,321,322,325],{},[259,323,324],{},"Same milestones, same path."," People with the same milestones in the same order share a path.",[248,327,329],{"id":328},"reached-and-not-yet","Reached and not yet",[253,331,332,338],{},[256,333,334,337],{},[259,335,336],{},"Reached:"," people whose first goal event is in the date range.",[256,339,340,343],{},[259,341,342],{},"Not yet:"," people first seen in the date range who haven't reached the goal. Their paths show where people wait: after a sign-up, after an install, after the first visit.",[248,345,347],{"id":346},"devices-join-through-identify","Devices join through identify()",[239,349,350,351,354,355,282],{},"A website visit and an app install are one journey when both called ",[264,352,353],{},"identify()"," with the same user id, or your server sent the user id. Nothing is guessed from IP addresses or fingerprints. A device that never identified stays its own person. See ",[243,356,78],{"href":79},[248,358,360],{"id":359},"large-projects","Large projects",[239,362,363],{},"Above 20,000 people on either side, paths, medians and shares come from a fixed sample of people. The number of people who reached the goal is always exact.",[239,365,366,367,282],{},"See ",[243,368,369],{"href":158},"Journeys in the dashboard",{"title":371,"searchDepth":372,"depth":372,"links":373},"",2,[374,375,376,377,378],{"id":250,"depth":372,"text":251},{"id":285,"depth":372,"text":286},{"id":328,"depth":372,"text":329},{"id":346,"depth":372,"text":347},{"id":359,"depth":372,"text":360},"How Rabolic builds journeys to a goal from each person's own events across web, iOS, Android and server, the milestone rules, look back, not-yet paths and sampling.","md",null,{},{"icon":101},{"title":385,"description":386},"How journeys to a goal work","How Rabolic builds journeys to a goal from each person's own events across web, iOS, Android and server. Goals, milestones, the six reduction rules, look back, not-yet paths and sampling.","YkJCvq1tY3AOF916N8mKwUASrrJGkEes6xW7d0KiUK4",[389,391],{"title":93,"path":94,"stem":95,"description":390,"icon":96,"children":-1},"How Rabolic counts funnels per person across web, apps and server, with 2 to 10 ordered steps, a 1 to 90 day window, step filters, breakdowns and median timing.",{"title":103,"path":104,"stem":105,"description":392,"icon":106,"children":-1},"How Rabolic retention cohorts work. Cohort start and return events, daily, weekly and monthly intervals in the project's time zone, and N-day, unbounded and rolling counts.",1794242364670]