Rheo documentation
User Guide

Analytics

Read visitors, sessions, acquisition, location, engagement, and retention for your app and site.

What Analytics answers

Analytics is the usage picture for your whole app and site: who visited, where they came from, which pages or screens they used, and whether they came back. It starts as soon as your app or site loads the Rheo SDK, including visits that never open a flow.

Opening an app lands on Analytics Overview. The sidebar group is Analytics.

QuestionWhere to look
How is the product used across web and mobile?Analytics (this page)
How did people move through one onboarding flow?Customers & analytics on that flow, or Convert
What did one person see?Customers

A custom event recorded here does not start an Engage automation. Flow starts, step views, and completions stay on the flow’s own analytics.

On the web, the site can hold collection until the visitor accepts. The host calls setAnalyticsConsent from @getrheo/react. Setup is in Product analytics.

Open a report

  1. Go to Apps and open an app. You land on Analytics Overview.
  2. Use the Analytics group for Overview, Events, Acquisition, Demographic, Engagement, Retention, and Technology.
  3. Turn Show test data on to read the test environment, and off to read production. The choice is stored in the page link. See SDK environment.

Analytics history is 1 year on Indie, 3 years on Grow, and 5 years on Scale and Enterprise. A longer custom range is shortened to that window.

Shared controls

Every report has a date range in the header. Overview and Retention also put platform and segment in the header. The other reports put platform and segment inside Add filter.

ControlWhat it does
Date rangeLast 7 days, Last 30 days (the default), Last 90 days, or a custom window. Headline numbers compare with the previous window of the same length.
PlatformAll platforms, Web, or Mobile. Mobile is iOS and Android together.
SegmentAll users, or one segment from Customers → Segments. A segment that is still building is disabled and labeled (building). If you open one before it is ready, the page says the segment is still building.
Daily / Weekly / MonthlyHow the chart groups time.

A segment includes people who match it now, including an earlier anonymous id that belongs to the same customer. Membership can take a short time to catch up after someone enters or leaves. An empty segment loads and shows no activity.

Live users ignores the date range. It counts people with a product event in the last 5 minutes on the selected platform and segment.

Filters that travel

Events, Acquisition, Demographic, Engagement, and Technology share one filter bar.

  1. Choose Add filter.
  2. Under Audience, set Platform or Segment.
  3. Under the report groups, pick Channel, Referrer, Source, Campaign, Medium, Country, Region, Browser, OS, Device, Page, Entry, Exit, or Event.
  4. Choose one operator. Is and is not apply to every filter. Contains and does not contain apply to campaign, page, entry, exit, and event. Contains matches the exact characters, including capitals.
  5. For is and is not, check one or more values. For contains and does not contain, type each value and choose Add. Values in the same filter match with or. Different filters match with and. Each filter holds up to 20 values. Is not and does not contain keep visits whose value is empty.
  6. Remove a chip to clear that value. A chip reads the operator, such as Page contains /blog or Country is not United States.

Those filters stay in the page link when you move between those five reports, so a link you share keeps the same cut of traffic. A missing operator in an older link means is.

City, keyword, ad set, and creative stay on the report where you set them.

Is and contains keep a session when any value matches. Bounce and session time use that whole session. The page table and the events table list only the matching values. Is not and does not contain keep a session only when none of its values match, and the table lists the other pages or events those sessions still contain.

On a full report, select a table row to pin that value with is and open the next breakdown. On Acquisition that walks channel → referrer → source → campaign → medium, then creative, and keyword or ad set when that platform has them. On Demographic it walks country → region → city. On Engagement, a page, entry, or exit becomes a shared filter. A Page filter keeps the other events from sessions that viewed that page or screen. On Events, the row limits the report to that event name.

Check the box on a table row to draw it on the chart. The chart plots up to six rows. The header checkbox plots or clears the top rows. Visits with an empty value for that column are omitted from the ranking.

Overview

Analytics Overview opens with eight numbers. Select one to chart it and to rank the breakdown cards by it. The chart draws This period against Previous period. One bar on the same chart shows originating revenue from RevenueCat, Superwall, and Stripe added together. The bar stays in place for every metric. Add filter then Revenue source limits that bar and the Revenues tile to the providers you check. Renewals and refunds are not included.

MetricMeaning
VisitorsDistinct people with a product event in the range. Rheo counts the anonymous id on the device or browser. A user id your app sets later is shown on the person, and the visitor count still uses that anonymous id.
SessionsDistinct sessions. A new session starts after 30 minutes without an event.
ViewsPage views on web and screen views in apps.
Bounce rateShare of sessions with at most one page or screen view. A lower rate is the favorable change.
Session timeAverage time from the first event in a session to the last. A session with one event counts as 0s.
EventsProduct events in the range. Flow funnel events and Engage track events are left out.
RevenuesOriginating revenue from RevenueCat, Superwall, and Stripe in the range. The caption is that total divided by visitors. Renewals and refunds are not included.
Live usersDistinct people with a product event in the last 5 minutes, on the selected platform and segment. The date range is ignored. Select it to open the globe. The hint is Click to watch on the globe.

The cards under the chart are previews. Each list shows 10 rows, and Details expands it. Show More opens the full report.

CardWhat you see
AcquisitionChannel, referrer, source, campaign, medium, and creative. Web also has keyword. Mobile also has ad set.
EngagementPages or screens, plus the entry and exit of each session.
EventsEvent names and how often they fired.
RetentionUsers (new and returning over time) or Retention rate (the share still active on each day after the first event, through day 30).
LocationA map, then country, region, and city. Show More opens Demographic.
TechnologyBrowser, operating system, and device. The browser tab is hidden when the platform is Mobile.
FlowsFlows with a start or a completion in the range, and each flow’s completion rate. The name opens that flow. Show More opens Convert Overview.
UsersPeople active in the range. Show More opens All customers.

Ranked lists show the top 50 values.

Live users

The globe shows people active in the last 5 minutes.

  • Switch 3D and 2D, pause rotation, and zoom.
  • Search a place to focus the map.
  • Select a marker to read that person: place, device, source, referrer, current page or screen, when the session started, and how many visits they have. Visit counts use the selected platform. An empty source or referrer is Direct. An unknown place is Unknown.

Coordinates come from the same location lookup as Demographic. A visit Rheo cannot place sits at an unknown point and does not draw a marker you can aim at a city.

Events

The chart metric is Events or Users. The table columns are the event name, Events, and Users. Select a column heading to sort. Select an event name to limit the report to that event.

Names you will always see when the SDK is collecting:

NameWhen it is recorded
session_startA new session begins.
first_visitThe first time this browser is seen.
first_openThe first time this app install is seen.
page_viewA web page loads or the address changes. The name of the page is the path.
screen_viewThe app records a screen.

Any other name is one your app sends, such as a workout logged or a purchase completed. The table includes up to 100 names. The web page name is the path, including a #/ hash route.

Acquisition

One ladder covers web and mobile.

ColumnWebMobile
ChannelGrouped from the landing page: Organic Search, Paid Search, Organic Social, Paid Social, Email, Affiliates, Display, AI, Referral, Organic, Direct, or UnassignedSame groups. An organic install is Organic. A paid install uses the provider source.
ReferrerHostname the visit came from. Your own site is left blank.Empty. Install attribution has no web referrer.
Sourceutm_source on the landing URLAttribution provider, usually media_source
Campaignutm_campaignAttribution provider
Mediumutm_mediumThe provider's placement channel
Ad setHiddenAttribution provider
Creativeutm_contentAttribution provider
Keywordutm_termHidden

The session keeps the landing hit. A later tagged page in that session does not move it. A new session after 30 minutes reads the URL it starts on.

Channel and Referrer omit visits recorded before this grouping shipped. Those rows stay in Visitors and the other columns. A range that still contains them will not add up to the visitor total on Channel or Referrer. After 5 years those older rows age out.

All platforms shows channel, referrer, source, campaign, medium, and creative. Keyword and ad set appear only on the platform that has them.

The table columns match the overview metrics: Visitors, Sessions, Views, Bounce rate, Session time, Events, and Revenue. Select a heading to sort.

Revenue is originating webhook gross, attributed to the customer's first source, campaign, channel, entry page, and country. A charge with no product-analytics touch yet ranks as (none). Renewals and refunds are not in this number. Technology and Retention do not have a revenue column.

Demographic

Country, Region, and City come from the network address on each analytics batch. Rheo stores the place and drops the address.

Country codes are shown as English names. Select a country to see its regions, then a region to see its cities. A city filter stays on this page.

The chart uses the same metrics and the same six-row plot as Acquisition.

Engagement

The labels follow the platform:

PlatformTabs
WebPage, Entry page, Exit page
MobileScreens, Entry screen, Exit screen
All platformsPages and screens, Entry page or screen, Exit page or screen

The entry is the first page or screen in the session. The exit is the last. A page row counts views of that path. Entry and exit rows count the sessions that started or ended there, and their views are the page views in those sessions. A page, entry, or exit you pin is shared with the other reports.

Web rows are URL paths. App rows are the screen names your app records.

Retention

MetricMeaning
NewVisitors active in this range whose first product event falls in this range. That first day is kept after the 5-year event history expires. A device clock far from the server does not change someone's first day.
ReturningVisitors active in this range whose first product event was before it.
Return rateReturning visitors divided by visitors in this range.
D7Share of new visitors who came back on the 7th day after their first event. Cohorts that have not had 7 full days yet are left out, and the card shows a dash.
Repeat rateShare of visitors with a product event on at least two days in this range.

New and returning stacks those two groups on the chart. Select a row in the breakdown to limit the chart to that source, campaign, country, platform, or device, then clear the chip to widen it again. The group is the value on each person’s first product event. When that value was empty, the row is labeled (none).

Cohorts lists each group of new visitors and the share who were active again later. A cell stays blank until that offset has fully passed.

Chart groupingColumns
DailyD1, D7, D14, D30
WeeklyW1, W4
MonthlyM1

Active days counts how many distinct days each visitor was active in the range: 1 day, 2–3 days, 4–7 days, and 8+ days.

The breakdown table repeats new visitors, returning visitors, return rate, and D7 for Source, Campaign, Country, Platform (Web, iOS, Android), and Device.

Technology

TabWhat fills it
BrowserThe web SDK. Hidden when the platform is Mobile.
OSThe browser on web, and iOS or Android from the app. Operating system is the family (iOS, Android, Windows, macOS, Chrome OS, Linux).
DeviceDesktop, mobile, or tablet on web. The device the app reports on mobile.

Rheo stores those labels and drops the raw browser string.

A person in Users

Each row shows a name, country, device, last seen time, and spend. The name is the user id your app set. When that id is empty, Rheo shows a shortened anonymous id. Spend is net webhook gross in USD for that person in the same range, including the first charge, renewals, and refunds, or – when there is none. Breakdown Revenue columns are originating charges only. The dots are the last 10 days; a filled dot is a day with a product event.

Select a row for a short activity summary, then open the customer profile for the full timeline. The profile exists when this person has also been seen as a Customer.

Limits

  • You need read access to the app.
  • After a traffic spike, totals can take a short time to catch up.
  • A segment that is still building cannot be used until membership is ready.