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

# Real-Time Analytics

> Server-side scan intelligence — geolocation, device fingerprinting, and conversion funnels.

NearNode logs every scan event server-side at the edge. No cookies, no client-side JavaScript, no GDPR consent popups. You get the same granularity as web analytics — applied to the physical world.

## What We Capture

Every scan generates an analytics event with the following data points:

| Field         | Source             | Example                     |
| ------------- | ------------------ | --------------------------- |
| `country`     | Vercel edge header | `CH`                        |
| `city`        | Vercel edge header | `Zurich`                    |
| `device_type` | User-Agent parsing | `mobile`                    |
| `user_agent`  | Request header     | `Mozilla/5.0 (iPhone; ...)` |
| `ip_address`  | Request header     | Anonymized after 30 days    |
| `referer`     | Request header     | `https://acme.com`          |
| `timestamp`   | Server clock       | `2026-02-09T14:30:00Z`      |
| `variant`     | Routing engine     | `A` (if A/B split active)   |
| `session_id`  | Generated per scan | `sid_x7y8z9`                |

<Info>
  **Privacy by design:** IP addresses are anonymized after 30 days. We do not fingerprint users across sessions or track them beyond the scan event.
</Info>

## Key Metrics

### Tap-Through Rate (TTR)

The percentage of scans that result in a meaningful action (click, download, form submission). This is the physical-world equivalent of Click-Through Rate.

```
TTR = (action_events / scan_events) × 100
```

### Conversion Funnel

Track the full journey from physical scan to digital action:

```
Scan → Page View → Action (download / click / submit)
```

Each step is tracked via `session_id`, allowing you to measure drop-off rates at every stage.

### Geographic Distribution

See where your physical assets are being engaged — broken down by country and city. Identify which deployment locations drive the most traffic.

## A/B Test Results

When routing rules use `ab_split`, analytics automatically segment by variant. Compare conversion rates between variants directly in the dashboard.

| Variant          | Scans | Actions | TTR   |
| ---------------- | ----- | ------- | ----- |
| A — Product Page | 2,410 | 892     | 37.0% |
| B — Landing Page | 2,390 | 1,124   | 47.0% |

<Tip>
  Run A/B tests for at least 7 days with a minimum of 1,000 scans per variant before drawing conclusions. Statistical significance matters in the physical world too.
</Tip>

## Accessing Analytics

### Dashboard

The analytics dashboard provides real-time visualizations for:

* Scan volume over time (daily, weekly, monthly)
* Geographic heatmap by country
* Device type breakdown (mobile / desktop / tablet)
* Top nodes by scan volume
* A/B variant comparison

### Webhooks

Receive every scan event in real-time via [Webhooks](/developers/webhooks). Pipe scan data into your own data warehouse, CRM, or alerting system.

```json theme={null}
{
  "event": "scan.created",
  "event_id": "evt_a1b2c3d4",
  "timestamp": "2026-02-09T14:30:00.000Z",
  "data": {
    "node_slug": "o1ulpplq",
    "city": "Zurich",
    "country": "CH",
    "device_type": "mobile",
    "variant": "A",
    "session_id": "sid_x7y8z9"
  }
}
```

### API

Query analytics data programmatically for custom reporting and integrations.

```bash theme={null}
curl https://nearnode.io/api/v1/nodes/o1ulpplq/analytics?period=30d \
  -H "Authorization: Bearer sk_live_..."
```

<Info>
  **Ops Tip:** Analytics retention depends on your plan — 30 days (Developer), 1 year (Pro), unlimited (Enterprise).
</Info>

## Event Types

| Event                  | Description                                         |
| ---------------------- | --------------------------------------------------- |
| `scan`                 | Node was scanned or tapped                          |
| `redirect`             | HTTP redirect was followed                          |
| `vcard_download`       | vCard file was downloaded                           |
| `vcard_save`           | vCard was saved to contacts                         |
| `microsite_view`       | Microsite page was loaded                           |
| `microsite_link_click` | Link on microsite was clicked                       |
| `wifi_connect`         | WiFi credentials were used                          |
| `action_trigger`       | Direct action (WhatsApp, email, etc.) was triggered |
| `kill_switch_blocked`  | Scan was blocked by a deactivated node              |
