> ## Documentation Index
> Fetch the complete documentation index at: https://docs.granvl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Analytics & tracking

> Privacy-first, first-party analytics: no pixels, no PII.

granvl owns its analytics end-to-end. Every served page carries a lightweight first-party tracking script: no Google Analytics, no Meta pixel required, nothing stored that identifies a person.

## What gets tracked

* **Views**: per variant, deduplicated by session.

* **Click-throughs**: a visitor advancing from one funnel page to the next.

* **Conversions**: two paths, both attributed to the *source* page (the page that earned the conversion, not the destination):

  1. **Funnel progression**: a form submits and redirects to the thank-you page; arrival fires the conversion on the variant the visitor actually saw.
  2. **Outbound click**: add `data-pages-convert` to any external link (Calendly, checkout, app store) and clicking it fires a conversion:

  ```html theme={null}
  <a href="https://calendly.com/you/intro-call" data-pages-convert>
    Book a call
  </a>
  ```

* **Session journeys**: the step-by-step path of each session, covering source, pages, variant, device, outcome, and duration.

* **Time on page**, bounces, and question-level drop-off on quiz/form pages.

## Attribution & UTMs

granvl normalizes whatever UTM convention hits the page (`campaign`, `campaign_name`, `cmp` → one canonical campaign; `ad_group`, `adgroup`, `adset` → one ad-group), while preserving the raw query string for forensics. This is what joins visitors to the exact ad, ad set, and campaign that paid for them; see [Ads](/guides/ads).

## Where the numbers show up

* **Home**: workspace-level campaign performance and recent activity.
* **Funnels**: per-funnel visitors, conversions, conv %, avg session; per-variant splits; the step canvas.
* **Campaign hubs**: blended ad + funnel KPIs, breakdowns (source, device, OS, browser, location), and session journeys.

All views share the same range switcher (7d / 30d / 90d; funnels add 24h / 14d / All) and update in near-real-time.

## Privacy posture

* No PII on granvl servers: form contents go straight from the browser to your chosen destinations ([Forms](/guides/forms)).
* Visitor identifiers are hashed and salt-rotated; sessions can't be traced back to a person.
* No third-party pixels are required for any granvl feature. If you add your own (GTM, Meta CAPI, GA4), configure them per-domain under **Settings → Tracking**. They run alongside, not instead.
