Skip to content

Docs / Walk / Analytics

Analytics

Every avatar you own has a private analytics dashboard at three.ws/walk-analytics — sessions, distance, time, where it walked, and the conversion events you fire yourself. All figures come from real walk activity; nothing is sampled or estimated.

What's measured

MetricMeaning
Total sessionsSessions counted across the selected window.
Avg. durationTotal walk time ÷ total sessions.
Total distanceMetres walked, summed from per-frame movement.
Unique originsDistinct host sites the avatar walked on.
Time seriesPer-day sessions, distance, and duration — gaps filled with zeroes for a continuous chart.
Top originsThe top 10 embed hosts by session count.
EventsYour conversion events with a count and conversion rate (events ÷ sessions).

How collection works

The walk runtime accumulates two running totals — horizontal distance and session wall-clock — and flushes a compact batch to POST /api/walk/metrics roughly every 60 seconds, plus once on page hide via navigator.sendBeacon. One batch becomes a single per-day rollup row, so an hour of walking is a handful of rows, not thousands.

The embed host (which site the avatar walked on) is derived server-side from the request's Origin/Referer header — never trusted from the request body. Your "unique origins" reflect where the avatar actually ran.

Conversion events

Beyond automatic metrics, fire your own events to measure what matters — a subscribe, a purchase, a play. From a page running the walk runtime:

// name is trimmed and capped at 64 chars; value is an optional number.
window.ThreeWalkAvatar.track('subscribe', { value: 9 });
window.ThreeWalkAvatar.track('play');

Each event posts immediately (events are sparse, unlike the batched metrics) and is attributed to the same avatar and walker as the surrounding session. The dashboard shows each event's count and its conversion rate against sessions.

Achievements

The runtime unlocks a fixed set of achievements, persisted once each:

CodeUnlock
distance_1km1 km walked.
distance_5km5 km walked.
sites_10Walked on 10 different sites.
all_environmentsWalked in all six environments.

Access & privacy

The data shape

The ingest accepts this batch (all fields optional unless noted):

{
  "distanceMeters": 142.5,
  "durationSec": 96,
  "sessions": 1,
  "envId": "park",
  "avatarId": "your-avatar-uuid",
  "anonId": "anon-...",        // required if not signed in
  "achievements": ["distance_1km"],
  "eventName": "subscribe",     // for a conversion event
  "value": 9
}