Contacts

Gurulu builds a unified contact profile for every visitor using its canonical identity resolution system. Anonymous visitors are tracked by device fingerprint and merged into a named contact when they identify themselves.

Identity resolution

Gurulu uses a multi-signal identity graph to merge anonymous and known sessions into a single canonical profile. Signals include:

  • Email (from form submissions or identify calls)
  • User ID (from your auth system)
  • Device fingerprint
  • Cross-domain linking

Identifying users

Call identify() when a user logs in or provides their email:

import { identify } from '@gurulu/tracker';

identify({
  email: 'user@example.com',
  userId: 'usr_123',
  name: 'Jane Doe',
  plan: 'pro',
});

Contact profile

Each contact profile includes:

  • Full event timeline (pageviews, clicks, conversions)
  • Session history with device and location data
  • Audience segment memberships
  • Attribution data (first touch, last touch)
  • Custom properties from identify calls

Searching contacts

Use the search bar in CRM > Contacts to find contacts by email, name, user ID, or any custom property. Filters can be combined with audience segments.

To group contacts by behavior, see Segmentation.