Pineflow · Analytics

A PostHog dashboard with a trend chart and a pie chart
Real dashboard: PostHog ↗

Build

Analytics

Pick an analytics tool, send a handful of events, and see where new users drop off.

Pick one tool, send a few events, and read them every week. Iterate reads these numbers later.

half a day

Analytics shows what people actually do in your app: where they start, where they stop and whether they come back. Without it you guess.

VideoFunnels in PostHog: learn how to create and analyze them

Once real people use the app, save two charts: a funnel of the onboarding events, and retention from first_win. The biggest drop in the funnel is the screen to fix first. A weak day 1 means onboarding, a weak day 7 means no reason to come back.

Numbers to aim for, once people use the app. Change one big thing at a time when you're below: placement and price before copy (Superwall, 36:46 ↗).

2

Best practices

  • A few events with exact names, not everything.
  • The event names listed in AGENTS.md, so every session uses the same ones.
  • Only keys that are made to be public are named EXPO_PUBLIC_.
  • Look once a week, not every hour.
  • Reaching the first win is the number that matters, not total users (Starter Story, 6:05 ↗).
  • Weak first week? Talk to a few users before you add dashboards (Chris Raroque, 2:03 ↗).
3

Plan it

Any of these works with Expo. We use PostHog in this workflow, but the events are the same in every tool.

Which tools work in Expo Go comes from Expo's analytics guide ↗.

4

Build it

Send a few events with exact names, not everything. These six are enough to start:

onboarding_started
The first onboarding screen opens.
onboarding_completed
The last onboarding screen is done.
first_win
The user reaches the first win.
paywall_shown
The paywall opens, with a reason: which screen sent them.
trial_started
They start a trial.
purchase_completed
They pay.
Prompt
Add [your tool] following its Expo or React Native guide, with the key in .env. Send onboarding_started, onboarding_completed, first_win, paywall_shown (with a reason), trial_started and purchase_completed at the moments in docs/ONBOARDING.md. List the event names in AGENTS.md.

Our favorite tools