Visitor Profiles
Track individual visitors, identify them by name or email, and view their full event timeline.
Visitor Profiles
EngageTrack can track individual visitors over time, letting you see their full journey across sessions.
Anonymous Tracking
By default, every visitor is tracked anonymously. No personal data is stored unless you explicitly identify visitors.
Identifying Visitors
Use the JavaScript SDK to link a visitor to a known user identity:
engagetrack.identify("user_123", {
name: "John Doe",
email: "[email protected]",
avatar: "https://example.com/avatar.jpg",
custom: {
plan: "pro",
company: "Acme Inc",
},
});The first argument is your application's user ID. The second argument is an optional traits object with name, email, avatar, and custom fields.
Viewing Visitors
Browse identified visitors from Dashboard → Visitors. Search by name or email. Each profile shows:
- Name, email, and avatar
- Total pageviews and sessions — lifetime activity
- Total revenue — if revenue tracking is connected
- First seen / last seen — when they first visited and when they were last active
- Last location, browser, OS, and device
- Last referrer source — how they most recently found your site
Visitor Timeline
Click on any visitor to see their complete event history in reverse chronological order. The timeline shows every pageview, custom event, purchase, click, form submission, download, and outbound link click.
Privacy & Persistence Modes
EngageTrack supports two persistence modes controlled by the data-persistence script attribute:
- Memory mode (default): No device storage. Session IDs live in a JS variable and are lost when the tab closes. No consent banner required. Visitor identification relies on the server-side daily-rotating hash.
identify()is not available in this mode. - Storage mode (
data-persistence="storage"): Visitor ID persisted inlocalStorage, session insessionStorage. Enables multi-day visitor tracking andidentify(). Requires a consent banner in the EU.
In storage mode:
- Visitor identification is opt-in — it only happens when you call
engagetrack.identify() - Access the visitor ID via
window.engagetrack.getVisitorId()(returnsnullin memory mode) - Access the session ID via
window.engagetrack.getSessionId() - Custom attributes can contain any key-value pairs
- Visitor data follows the same retention policy as other analytics data