The visitor list
Each row is one visitor (a stable first-party_sapt_vid), tagged with where they sit in the identity lifecycle:
Filter the list with Everyone, Identified, Anonymous, or Strong intent.
The identification rate (the share of recent visitors who are identified or better) comes back from the Attribution MCP’s
getVisitors tool. It tells you how well your site turns anonymous traffic into people you can follow up with.
The lifecycle
A visitor moves through three stages, and Sapt keeps everything they did before each transition:- Anonymous → identified. The moment a visitor submits a tracked form, or your code calls
window.sapt.identify({ email })(see First-party analytics), Sapt attaches that email or phone to their visitor ID. Everything they browsed before identifying is retroactively theirs. - Identified → contact. Linking the visitor to a CRM Person promotes them to a contact. Do it with
linkVisitorToContacton the Attribution MCP.
Identification is sticky and cross-device. When the same email or phone shows up on a phone and a laptop, Sapt stitches those visitor IDs together so the timeline shows one person across every device, not two anonymous strangers.
Visitor timeline
Select anyone in the list to replay their sessions: every pageview, click, form submit, and custom event in order, with the source and campaign that brought each session. For a contact, the CRM contact chip opens their contact details.Link a visitor to a contact
When a visitor is identified,linkVisitorToContact turns them into a contact:
- A CRM Person is created (or matched, if one already exists for that email or phone).
- The visitor’s entire prior browsing history is attached retroactively, including sessions from before they identified and from other devices that have been stitched to them.
- From then on, new web activity keeps flowing onto that contact’s journey automatically.
Do it from an agent
Everything here is also available to AI agents through the Attribution MCP:getVisitors: the visitor list with identity status and statsgetLiveVisitors: who’s on the site right nowgetVisitorTimeline: one visitor’s full event historylinkVisitorToContact: link a visitor to a CRM PersongetContactJourney: the unified journey once a visitor is a contact