Skip to main content
The Attribution view (Analytics > Attribution) is the people-shaped side of your analytics. Instead of aggregate pageview counts, it lists the actual people who’ve been on your site, how well Sapt knows each one, and what they did.

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:
  1. 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.
  2. Identified → contact. Linking the visitor to a CRM Person promotes them to a contact. Do it with linkVisitorToContact on 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. 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.
This is how a cold, anonymous pageview from three weeks ago ends up as the first touch on a brand-new contact’s record the instant they fill out a form.

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 stats
  • getLiveVisitors: who’s on the site right now
  • getVisitorTimeline: one visitor’s full event history
  • linkVisitorToContact: link a visitor to a CRM Person
  • getContactJourney: the unified journey once a visitor is a contact

Keep going

Attribution analytics

Attribution MCP

First-party analytics