> ## Documentation Index
> Fetch the complete documentation index at: https://www.dataframer.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Collect and Correlate

> How DataFramer receives signals and traces and joins them into one journey

Once the [browser SDK](/docs/user-signals/browser-sdk) and the [server library](/docs/user-signals/server-instrumentation) are in place, DataFramer does the collecting and the matching. This page explains what DataFramer does with them. There is nothing to build here.

## Collect

Two independent streams reach DataFramer:

* **Signals**: the `track`, `identify` and `group` events the browser SDK sends, straight from your users' browsers.
* **Traces**: your AI calls, pulled from your [connected observability tool](/docs/connect-traces). The server library has already stamped the journey id onto them at creation.

## Correlate

Any signal and any trace that share a `journey_id` are placed on the same journey timeline. The match runs on that id alone, so it works across agents and tools, as long as both sides carry it.

The result is one timeline per journey: product events, interleaved with the AI traces that happened between them, in the order the user experienced them.

## Check that it works

Open **User Journeys** in DataFramer. The **Live Events** tab lists accepted and rejected events as they arrive, with the reason for each rejection. The **Connection** tab shows how many signals were matched to a trace over the last 30 days, and how many were not.

<img src="https://mintcdn.com/aimonlabsinc/BIX30HXoj6xW9wt-/images/user-signals/live-events.png?fit=max&auto=format&n=BIX30HXoj6xW9wt-&q=85&s=0e5e6fe3e7799632a64fb3fe333aafa0" alt="The Live Events tab with accepted events that are linked or waiting for traces, and a rejected event expanded to show why it was rejected" width="2344" height="1580" data-path="images/user-signals/live-events.png" />

<img src="https://mintcdn.com/aimonlabsinc/BIX30HXoj6xW9wt-/images/user-signals/connection-tab.png?fit=max&auto=format&n=BIX30HXoj6xW9wt-&q=85&s=ec5afead8694a610e21d5f8b84bc551c" alt="The Connection tab with the share of events linked to a trace, waiting for traces, or in journeys with no AI traces over the last 30 days" width="2344" height="365" data-path="images/user-signals/connection-tab.png" />

## Next steps

<Card title="View & Filter Journeys" icon="route" href="/docs/journeys/overview">
  See the result in the Journeys UI
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.