Browse documentation

Help

Customer activity is not connecting

Fix missing, split, or incorrectly attributed customer timelines.

Use this guide when telemetry exists but is missing from a customer timeline, when one customer has multiple profiles, or when activity is attributed to the wrong person.

Confirm the exact ID

Compare the teml.distinct_id on the raw signal with the ID passed to identify. IDs are case-sensitive. Whitespace, prefixes, email changes, and environment-specific formatting create different identities.

Use one immutable application ID everywhere.

Check when identity was established

Identity must be active before the span, error, log, event, replay, or LLM call begins. Establish it immediately after authentication and before starting the customer-facing operation.

Check server concurrency

Backends must use request-scoped identity. A process-wide identify call inside concurrent request handlers can mix customers. Use framework middleware, Go context, or Python ContextVar scoping.

Check propagation

For a browser-to-backend or service-to-service path:

  • the caller must inject W3C traceparent and baggage;
  • proxies and CORS must allow those headers;
  • the receiving application must extract them; and
  • identity baggage must be trusted only behind an authenticated boundary.

Inspect one request at each hop rather than assuming headers survived.

Check logout

Call reset when a session ends. If activity from the next user appears under the previous user, reset was missing or ran after the new session began.

Check anonymous-to-known merge

The SDK must preserve its anonymous ID until the identify call so Teml can join the earlier activity. Clearing browser or application storage before identifying removes that link.

After correcting instrumentation, run Verify your setup with a fresh test identity.