# Customer activity is not connecting

> Fix missing, split, or incorrectly attributed customer timelines.

Canonical page: https://anectico.com/docs/help/identity-not-linking/


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 `anectico.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 Anectico can join the earlier
activity. Clearing browser or application storage before identifying removes that link.

If both the anonymous ID and the ID you called `identify` with already belong to two different,
already-identified profiles, Anectico deliberately does not merge them: an alias that already
belongs to one known person is not treated as proof that the other known person is the same
individual, because the alias could have been reassigned. Both profiles stay separate by design.
There is no merge or alias endpoint to join them after the fact — use the same identified ID for
that person from the start to avoid the split.

After correcting instrumentation, run [Verify your setup](/docs/start/verify-setup) with a fresh test
identity.

