Identity & Traits

Identify your users and attach custom traits for targeting and richer bug reports.

When Callout knows who your users are, bug reports include the reporter's name and email, onboarding tracks progress per user, and you can target experiences with segments.

It's Probably Already Working

If your app uses Clerk or Auth0, Callout detects the logged-in user automatically. No code needed. Names, emails, and user IDs are picked up and attached to everything.

Other Auth Providers

For Firebase, Supabase, or any other auth system, add one call after your user logs in:

Callout.identify({
  id: "user_12345",
  email: "[email protected]",
  name: "Jane Doe"
});

That's it. All future bug reports and onboarding interactions are tied to this user. See the Frameworks guide for React, Next.js, and Vue examples.

Traits

Traits are custom properties you attach to a user. They appear in bug reports and — more importantly — they power segment targeting so you can show different onboarding to different audiences.

Callout.identify({
  id: "user_12345",
  email: "[email protected]",
  name: "Jane Doe",
  traits: {
    plan: "pro",
    role: "admin",
    company: "Acme Corp",
    signupDate: "2025-08-15"
  }
});

Common Traits

TraitWhy It's Useful
planTarget upgrade prompts to free users, advanced features to paid
roleDifferent onboarding for admins vs. members
companyTarget by organization for B2B onboarding
signupDateTarget new vs. experienced users
teamSizeDifferent onboarding for solo users vs. teams

Trait values can be strings, numbers, or booleans.

Managing Trait Definitions

You can define and view traits at Engage > Segments > Traits. This shows which traits your users are sending and how many users have each one.

Traits page showing custom user properties

Without Identity

Everything still works without identifying users:

  • Bug reports are submitted anonymously — they just won't have a name or email attached
  • URL-targeted tooltips and banners still display for everyone
  • Checklists and tours need an identified user to track progress per person
  • Segment targeting needs traits, which require identify()

Next Steps

On this page