# What FounderHQ analytics is (https://www.getfounderhq.com/docs/analytics/getting-started/what-founderhq-analytics-is)

FounderHQ analytics answers three questions: what people do in your
product, who those people are, and which channel paid you.

## One protocol, five SDKs

Web, React Native and Expo, iOS, Android, and Node all speak the same
event protocol. An event you send from a phone and an event you send
from your server land in the same stream, with the same property names.
You learn the model once.

## What you capture

You capture events. An event is one fact: `trial.started`,
`invite.sent`, `export.completed`. You add properties to it.

On the web, the SDK also captures common facts for you: pageviews, page
leaves, sessions, clicks, rage clicks, dead clicks, outbound clicks,
scroll depth, and Core Web Vitals. On mobile, it captures app lifecycle
and screens. You can turn each one off. See
[Sessions](/analytics/concepts/sessions).

## Who did it

Every visitor starts anonymous. When someone signs in, you call
`identify` with your own user ID. FounderHQ merges the anonymous history
into that person and keeps one contact for them across devices and
subdomains. Contacts feed segments and sequences in the app. See
[Identity and contacts](/analytics/concepts/identity-and-contacts).

If your product is sold to companies, you can attach an account to
events, so revenue and touches belong to the workspace, not one seat.
See [Accounts and groups](/analytics/concepts/accounts-and-groups).

## Which channel paid you

The SDK reads campaign parameters and ad click IDs from the URL and
keeps them with the visitor. When a payment arrives from Stripe, Dodo,
Apple, Google Play, or your own revenue call, FounderHQ answers two
questions for that payment: which touch **introduced** the customer, and
which touch **closed** them. See
[Attribution](/analytics/concepts/attribution).

## What you do not have to handle

- **Bots.** FounderHQ classifies crawler traffic on the server. Bot
  visits never create contacts, never move your metrics, and never count
  against billing. See [Bot traffic policy](/analytics/concepts/bot-traffic-policy).
- **Consent.** The SDK has granted, denied, and off states, respects Do
  Not Track when you ask it to, and stops on `optOut`. See
  [Consent and privacy](/analytics/concepts/consent-and-privacy).
- **Offline and flaky networks.** Client SDKs queue events on the device
  and retry.

No SDK collects advertising IDs, contacts, input values, page text, DOM
snapshots, console logs, or network bodies.

## Two kinds of key

A publishable key (`fhq_pk_XXXX`) is safe in browsers and mobile apps. A
secret key (`fhq_sk_XXXX`) belongs on your server only. The Node SDK
refuses a publishable key.

Ready? Start with a [quickstart](/analytics/getting-started).
