Built-in

Every web and in-app event, automatically linked to the unified contact.

Auto-captures every page view, click, form submit, video, and in-app action — and links each one to the unified customer profile in real time. The behavioral half of every contact's record.

Use cases

What an agent does with this data.

Behavioral data is what separates an agent that knows your customer from one that just knows their record. The tracker is what every agent on the team draws from.

SDR

Pre-signup intent

When a contact identifies themselves, your SDR agent already knows the pricing pages they read, the demos they watched, and the case studies they sat with. First outreach lands with full context — no cold opens.

CSM

Activation & feature usage

Every in-app action mapped to the contact. Your CSM agent knows which features stuck, where onboarding dropped, and which seats have gone dormant — without instrumenting a separate product analytics tool.

Support

Full behavioral context

When a customer opens a ticket, your support agent already sees what they did before — the page they were on, the error they hit, the setting they just changed. No "can you walk me through what you tried?"

Retention

Drop-off triggers

Your retention agent gets paged when usage drops, a key feature stops being touched, or a documented churn signal fires — not at the end-of-month dashboard review.

Anonymous events are stitched onto the contact the moment they identify themselves — sub-second, retroactive, no duplicates. The pre-signup half of the SDR story below.

First-party events

Every event from your website and app — tied back to a real customer, even the ones from before they signed up.

The pricing-page visits, the half-watched demo, the blog posts that brought them in. All of it stitched onto the contact the moment they sign up — so your agent can answer "why is Jane here, and how warm is she?" with real evidence.

Anonymous visitor_a91c…
14 days · 11 events
14d ago /blog/customer-context-for-agents organic · google
10d ago /docs/identity-resolution 3m 12s
6d ago /pricing scroll 100%
6d ago video · product demo 75%
3d ago /customers/atlas-fintech case study
2d ago /pricing return · 2×
2d ago click · "Compare plans" cta
Signup today · 09:14 form · [email protected]
JR
Jane Reyes · Senior PM
acme.com · fintech · 240 ppl · ctc_01H…
LIVE
Summary · prepared for LLM

Senior PM evaluating Acme's billing integration. Visited /pricing 3× in the past week, watched 75% of the demo, read the Atlas fintech case study. High intent, late-funnel — best reached with pricing-context outreach, not top-of-funnel content.

Intent High · 0.86
Stage trial · evaluating
First touch 14d ago
Pricing intent — 3 visits to /pricing, last one 2 days before signup, scroll-depth 100%.
Compared us to alternatives — viewed case study, clicked "Compare plans".
Technical evaluator — read /docs/identity-resolution for 3m before pricing.
JSON · ready for any LLM or export 312 tokens · 1.4kb
{ "contact_id": "ctc_01H…", "email": "[email protected]", "name": "Jane Reyes", "title": "Senior PM",
  "company": { "domain": "acme.com", "industry": "fintech", "employees": 240 },
  "lifecycle_stage": "trial", "intent_score": 0.86, "first_seen_at": "2026-04-15T…",
  "summary": "Senior PM evaluating billing integration. /pricing 3×, demo 75%, read Atlas case study. High intent, late-funnel.",
  "signals": ["pricing_intent", "compared_alternatives", "technical_evaluator"],
  "events": [
    { "type": "page_view", "path": "/blog/customer-context", "at": "…14d", "resolved_from": "visitor_a91c" },
    { "type": "page_view", "path": "/pricing",                "at": "…6d",  "scroll_depth": 1.0 },
    { "type": "video",     "name": "product_demo",         "at": "…6d",  "progress": 0.75 },
    { "type": "page_view", "path": "/pricing",                "at": "…2d",  "visit_count": 2 },
    { "type": "signup",    "email": "[email protected]",        "at": "…now", "merged_visitors": 1 }
  ],
  "_meta": { "tokens": 312, "pii_redacted": false, "freshness_ms": 480 }
}
Resolution cookie · device fingerprint
Latency sub-second — the next MCP query already sees the resolved profile
Backfill retroactive — anonymous events are moved, not duplicated, onto the contact
Setup · two steps

Drop a script. Set a cookie. That's it.

No SDK to install, no .identify() to call, no event taxonomy to design. The tracker auto-captures what matters; the cookie is the identity signal.

01 Drop the tracker on every page

One line in <head>. Page views, clicks, form submits, scroll depth, video milestones — all auto-captured for every visitor.

index.html · <head> TRACKER
<script async src="https://tracker.pathbound.ai/tracker.js"></script>
page_view clicks form_submission video scroll_depth custom events
02 Identify the user when they log in

Set one cookie with your internal user ID. The tracker reads it from then on and binds every event — past and future — to the unified profile.

app.js · after login IDENTIFY
// In your app, after login or signup:
document.cookie =
  "pathbound_external_contact_id=user_4f3a...;"
  + " path=/; max-age=31536000; SameSite=Strict; Secure";
no SDK call no race conditions retroactive merge

DNT honored · HTTPS-only · no third-party cookies · content-stable fingerprint (not cross-site identifying) · full audit trail of every merge.

Try it on your own data

Within five minutes, your agent is querying real customer context.

Sign up. Drop in the tracker snippet. Connect one CRM. Point your MCP client at mcp.pathbound.ai/mcp.