viewed_page
A page was viewed. The SDK's page() call becomes this; it is what web analytics is made of.
Open mode: a site may add any property to a page view without a schema change. The declared fields are checked when present. The page's own identifiers are the anonymous id (the device) and whatever the session has established.
| Sent with | browser, server keys (see write keys) |
| Mode | open: any keys; the declared ones are checked when present |
| Version | 1 (_schema_version on the stored row) |
| State | active |
| Required fields | none |
| Revenue | none: the revenue block is refused |
| Identity evidence | none |
| Before consent | no |
Fields
The activity's own fields, sent as features. Identifier and attribute fields are moved out of features by the processor; see identifiers and attributes.
| Field | Type | Required | What happens to it | Meaning |
|---|---|---|---|---|
path | string | no, may be null | stays in features | The page's path, without host or query. |
referrer | string | no, may be null | stays in features | The page the visitor came from, as the browser reported it. |
session_id | string | no, may be null | stays in features | The browser session, as the SDK assigns it (context.sessionId on calls). Joins page views to the session that started them. |
title | string | no, may be null | stays in features | The page title. |
url | string | no, may be null | stays in features | The full address of the page as the visitor saw it, query included. Kept whole, so identifiers in it can be extracted by a later transformer version. |
Example
One activity in a batch to POST /v1/activities, with debug so the answer says what the processor made of it. The envelope page explains every top-level field.
{
"batch": [
{
"activity_id": "0192f1a4-2b1e-78be-8000-2b1e8bea0000",
"activity": "viewed_page",
"ts": "2026-10-17T20:00:00+02:00",
"anonymous_customer_id": "evx_web_8f21c0",
"features": {
"path": "/tickets",
"referrer": "https://www.google.com/",
"session_id": "s_01M4XVBYC3FGXCPFRZEPGV20RZ",
"title": "Tickets · Summer Fest",
"url": "https://summerfest.nl/tickets?utm_source=newsletter"
}
}
],
"debug": true
}
Try it
Sends this request from your browser. The key and the endpoint are kept in this browser only.
Versions
| Version | Mode | Key classes | Change |
|---|---|---|---|
| 1 (current) | open | browser, server | first version |
A published version never changes; a change is a new version, and every stored row says which version it was checked against.