[{"data":1,"prerenderedAt":897},["ShallowReactive",2],{"navigation_docs":3,"-concepts-events":233,"-concepts-events-surround":892},[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":74,"body":235,"description":883,"extension":884,"links":885,"meta":886,"navigation":887,"path":75,"seo":888,"stem":76,"__hash__":891},"docs\u002F3.concepts\u002F01.events.md",{"type":236,"value":237,"toc":870},"minimark",[238,242,247,362,366,404,471,476,490,510,514,529,533,536,596,599,603,615,817,826,830,837,841,866],[239,240,241],"p",{},"An event is one thing that happened: a page view, an app launch, a sign-up, a purchase. Every report in Rabolic is built from events.",[243,244,246],"h2",{"id":245},"what-an-event-holds","What an event holds",[248,249,250,266],"table",{},[251,252,253],"thead",{},[254,255,256,260,263],"tr",{},[257,258,259],"th",{},"Part",[257,261,262],{},"Example",[257,264,265],{},"What it is",[267,268,269,284,297,308,324,338,351],"tbody",{},[254,270,271,275,281],{},[272,273,274],"td",{},"Name",[272,276,277],{},[278,279,280],"code",{},"signup_completed",[272,282,283],{},"What happened",[254,285,286,289,294],{},[272,287,288],{},"Time",[272,290,291],{},[278,292,293],{},"2026-11-08T10:00:01.000Z",[272,295,296],{},"When it happened, on the device's clock. Rabolic corrects clocks that are off by more than 30 s",[254,298,299,302,305],{},[272,300,301],{},"Anonymous id",[272,303,304],{},"a random UUID",[272,306,307],{},"The browser or app install that sent it",[254,309,310,313,318],{},[272,311,312],{},"User id",[272,314,315],{},[278,316,317],{},"usr_8f2k1x9q",[272,319,320,321],{},"Your own id for the person, after ",[278,322,323],{},"identify()",[254,325,326,329,332],{},[272,327,328],{},"Session id",[272,330,331],{},"a UUIDv7",[272,333,334,335],{},"The session it belongs to. See ",[336,337,83],"a",{"href":84},[254,339,340,343,348],{},[272,341,342],{},"Properties",[272,344,345],{},[278,346,347],{},"{ \"method\": \"google\" }",[272,349,350],{},"Details you choose to send",[254,352,353,356,359],{},[272,354,355],{},"Context",[272,357,358],{},"platform, app version, device, OS, locale, page, campaign",[272,360,361],{},"Filled in by the SDK",[243,363,365],{"id":364},"sending-your-own-events","Sending your own events",[367,368,373],"pre",{"className":369,"code":370,"language":371,"meta":372,"style":372},"language-ts shiki shiki-themes github-light-default github-light-default github-dark-default","rabolic.track('signup_completed', { method: 'google' })\n","ts","",[278,374,375],{"__ignoreMap":372},[376,377,380,384,388,391,395,398,401],"span",{"class":378,"line":379},"line",1,[376,381,383],{"class":382},"s_bOF","rabolic.",[376,385,387],{"class":386},"sd69k","track",[376,389,390],{"class":382},"(",[376,392,394],{"class":393},"s-BGO","'signup_completed'",[376,396,397],{"class":382},", { method: ",[376,399,400],{"class":393},"'google'",[376,402,403],{"class":382}," })\n",[405,406,407,429,446,456,465],"ul",{},[408,409,410,418,419,421,422,421,425,428],"li",{},[411,412,413,414,417],"strong",{},"Name events in ",[278,415,416],{},"snake_case",","," in the past tense of what the person did: ",[278,420,280],{},", ",[278,423,424],{},"checkout_completed",[278,426,427],{},"workout_started",".",[408,430,431,434,435,438,439,442,443,428],{},[411,432,433],{},"Put the details in properties,"," not in the name: ",[278,436,437],{},"plan_selected"," with ",[278,440,441],{},"{ plan: 'pro' }",", not ",[278,444,445],{},"pro_plan_selected",[408,447,448,451,452,455],{},[411,449,450],{},"Names are 1 to 200 characters,"," may not start with ",[278,453,454],{},"$"," and may not contain control characters.",[408,457,458,460,461,464],{},[411,459,342],{}," can be strings, numbers, booleans, ",[278,462,463],{},"null",", arrays and objects. At most 255 keys per level, nested at most 5 levels deep, keys up to 255 characters.",[408,466,467,470],{},[411,468,469],{},"One event is at most 32 KB"," (32,768 bytes of UTF-8 JSON). The SDKs drop larger events, and the server rejects them.",[472,473,475],"h3",{"id":474},"super-properties","Super properties",[239,477,478,481,482,485,486,489],{},[278,479,480],{},"register()"," sets properties that every later event carries, until ",[278,483,484],{},"unregister()"," or ",[278,487,488],{},"reset()",". A property on the event itself wins over a super property with the same name.",[367,491,493],{"className":369,"code":492,"language":371,"meta":372,"style":372},"rabolic.register({ app_theme: 'dark' })\n",[278,494,495],{"__ignoreMap":372},[376,496,497,499,502,505,508],{"class":378,"line":379},[376,498,383],{"class":382},[376,500,501],{"class":386},"register",[376,503,504],{"class":382},"({ app_theme: ",[376,506,507],{"class":393},"'dark'",[376,509,403],{"class":382},[472,511,513],{"id":512},"person-traits","Person traits",[239,515,516,519,520,523,524,526,527,428],{},[278,517,518],{},"identify(userId, traits)"," sends ",[278,521,522],{},"$identify"," with traits, such as ",[278,525,441],{},". Traits are properties of the person, shown on their profile in ",[336,528,147],{"href":148},[243,530,532],{"id":531},"properties-rabolic-removes","Properties Rabolic removes",[239,534,535],{},"Rabolic removes these keys from properties and traits without rejecting the event:",[405,537,538,541,554,557,590],{},[408,539,540],{},"keys longer than 255 characters;",[408,542,543,421,546,549,550,553],{},[278,544,545],{},"__proto__",[278,547,548],{},"constructor"," and ",[278,551,552],{},"prototype",";",[408,555,556],{},"objects nested deeper than 5 levels;",[408,558,559,560,421,563,421,566,421,569,421,572,421,575,421,578,421,581,421,584,421,587,553],{},"sensitive names: ",[278,561,562],{},"password",[278,564,565],{},"passwd",[278,567,568],{},"pwd",[278,570,571],{},"card_number",[278,573,574],{},"cc_number",[278,576,577],{},"cvv",[278,579,580],{},"cvc",[278,582,583],{},"iban",[278,585,586],{},"ssn",[278,588,589],{},"social_security_number",[408,591,592,593,428],{},"properties you block in ",[411,594,595],{},"Project settings → Privacy & data → Sensitive property blocking",[239,597,598],{},"Don't send personal data you don't need.",[243,600,602],{"id":601},"reserved-events","Reserved events",[239,604,605,606,608,609,611,612,428],{},"Names that start with ",[278,607,454],{}," are reserved. Rabolic accepts only these; any other ",[278,610,454],{}," name is rejected with ",[278,613,614],{},"reserved_name",[248,616,617,628],{},[251,618,619],{},[254,620,621,623,626],{},[257,622,274],{},[257,624,625],{},"Sent by",[257,627,342],{},[267,629,630,646,664,686,701,714,730,745,760,784],{},[254,631,632,637,640],{},[272,633,634],{},[278,635,636],{},"$pageview",[272,638,639],{},"Web, automatic",[272,641,642,643],{},"The page is in ",[278,644,645],{},"context.page",[254,647,648,653,655],{},[272,649,650],{},[278,651,652],{},"$page_leave",[272,654,639],{},[272,656,657,421,660,663],{},[278,658,659],{},"active_ms",[278,661,662],{},"scroll_depth"," (0–1)",[254,665,666,671,677],{},[272,667,668],{},[278,669,670],{},"$screen",[272,672,673,674],{},"Apps, with the navigation helper or ",[278,675,676],{},"screen()",[272,678,679,680,549,683],{},"The screen name, in ",[278,681,682],{},"context.screen_name",[278,684,685],{},"properties.name",[254,687,688,692,696],{},[272,689,690],{},[278,691,522],{},[272,693,694],{},[278,695,323],{},[272,697,698],{},[278,699,700],{},"traits",[254,702,703,708,711],{},[272,704,705],{},[278,706,707],{},"$app_first_open",[272,709,710],{},"Apps, the first launch after install",[272,712,713],{},"None today",[254,715,716,721,724],{},[272,717,718],{},[278,719,720],{},"$app_open",[272,722,723],{},"Apps, each launch or return to the foreground",[272,725,726,729],{},[278,727,728],{},"from_background"," (boolean)",[254,731,732,737,740],{},[272,733,734],{},[278,735,736],{},"$app_background",[272,738,739],{},"Apps, leaving the foreground",[272,741,742],{},[278,743,744],{},"foreground_ms",[254,746,747,752,755],{},[272,748,749],{},[278,750,751],{},"$app_update",[272,753,754],{},"Apps, the first launch on a new app version",[272,756,757],{},[278,758,759],{},"previous_version",[254,761,762,767,776],{},[272,763,764],{},[278,765,766],{},"$deep_link",[272,768,769,770,485,773],{},"Apps, ",[278,771,772],{},"trackDeepLink()",[278,774,775],{},"handleDeepLink()",[272,777,778,421,781],{},[278,779,780],{},"url",[278,782,783],{},"linked_anonymous_id",[254,785,786,797,803],{},[272,787,788,421,791,421,794],{},[278,789,790],{},"$purchase",[278,792,793],{},"$renewal",[278,795,796],{},"$refund",[272,798,799,802],{},[411,800,801],{},"Secret keys only:"," your server, or Dodo Payments webhooks",[272,804,805,421,808,421,811,421,814],{},[278,806,807],{},"amount",[278,809,810],{},"currency",[278,812,813],{},"transaction_id",[278,815,816],{},"product",[239,818,819,820,823,824,428],{},"Revenue events sent with a publishable key are rejected with ",[278,821,822],{},"revenue_needs_secret_key",". See ",[336,825,108],{"href":109},[243,827,829],{"id":828},"duplicates","Duplicates",[239,831,832,833,836],{},"Every event has an ",[278,834,835],{},"event_id",", created when the event happens and kept on every retry. Rabolic drops an event whose id it has received in the last 48 hours, so a retried batch counts once. Duplicates aren't billed.",[243,838,840],{"id":839},"where-events-show-up","Where events show up",[405,842,843,852,860],{},[408,844,845,848,849,428],{},[411,846,847],{},"Live:"," within seconds, under ",[411,850,851],{},"Events as they arrive",[408,853,854,857,858,428],{},[411,855,856],{},"Events:"," the catalog of every event name the project has received, with counts and properties. See ",[336,859,74],{"href":144},[408,861,862,865],{},[411,863,864],{},"Reports:"," results are cached for a minute while the date range includes today, so trends catch up within about a minute.",[867,868,869],"style",{},"html pre.shiki code .s_bOF, html code.shiki .s_bOF{--shiki-light:#1F2328;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .sd69k, html code.shiki .sd69k{--shiki-light:#8250DF;--shiki-default:#8250DF;--shiki-dark:#D2A8FF}html pre.shiki code .s-BGO, html code.shiki .s-BGO{--shiki-light:#0A3069;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}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);}",{"title":372,"searchDepth":871,"depth":871,"links":872},2,[873,874,879,880,881,882],{"id":245,"depth":871,"text":246},{"id":364,"depth":871,"text":365,"children":875},[876,878],{"id":474,"depth":877,"text":475},3,{"id":512,"depth":877,"text":513},{"id":531,"depth":871,"text":532},{"id":601,"depth":871,"text":602},{"id":828,"depth":871,"text":829},{"id":839,"depth":871,"text":840},"What a Rabolic event is, how to name events and properties, super properties, and every reserved $ event the SDKs and the server use.","md",null,{},{"icon":19},{"title":889,"description":890},"Events and reserved $ events","What a Rabolic event is, how to name events and properties, super properties and traits, and every reserved $ event ($pageview, $screen, $identify, $app_open, $purchase and more).","HSOQa99ZJqw8Q2vw6eAp64dByILvQpPH5KG_UvlIiOw",[893,895],{"title":63,"path":64,"stem":65,"description":894,"icon":66,"children":-1},"Send events to Rabolic from any language with POST \u002Fv1\u002Fbatch. Authentication, the batch envelope and event fields, reserved events, responses and retries, rejection reasons, deduplication, clock correction and remote config.",{"title":78,"path":79,"stem":80,"description":896,"icon":81,"children":-1},"How Rabolic links browsers, app installs and server events to one person with identify(), when people are merged, what reset() does, and what doesn't link people yet.",1794242364670]