> ## Documentation Index
> Fetch the complete documentation index at: https://orwel-22af1265.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Conversions

> Capture high-value outcomes as their own records, attributed to the visitor across sessions.

A **conversion** is a high-value outcome — a signup, a demo request, a purchase. Unlike a plain event, a conversion is its own record, attributed to the visitor and enriched into a **lead**.

## Capturing a conversion

```typescript theme={null}
orwel.identify({ email: 'user@acme.com', name: 'Ada' });

orwel.conversion('demo_request', {
  source: 'landing',
  campaign: 'spring',
});
```

Call `identify()` before (or alongside) the conversion so the lead carries the visitor's traits. The session captures the raw URL (including any query string with `utm_*` params) under `session.location.search` — UTM normalization, if any, happens on the server side.

## `track` vs `conversion`

|            | `track`               | `conversion`                        |
| ---------- | --------------------- | ----------------------------------- |
| Purpose    | Any behavioral signal | High-value outcome / lead           |
| Stored as  | `events`              | `conversions` + `leads`             |
| Enrichment | —                     | Lead score, lifecycle, integrations |

## Attribution

Conversions are tied to the same `visitor_id` as the visitor's earlier events, across sessions. That's what lets journeys measure who converted after entering a funnel — even days later.

<Note>
  Conversions are idempotent within a short time window, so a double-fired submit won't create two leads.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Leads API" icon="user-plus" href="/api-reference/leads/list">
    Read and manage the leads your conversions create.
  </Card>
</CardGroup>
